Re: [cmake-developers] cmake-gui icons

2014-10-28 Thread Daniel Pfeifer
2014-10-27 21:33 GMT+01:00 Ben Boeckel ben.boec...@kitware.com:

 On Mon, Oct 27, 2014 at 11:59:09 -0600, Orion Poplawski wrote:
  Trying to bring a bit more attention to this:
 
  Fedora is pushing to have higher resolution icons for the applications.
 There
  already is CMakeSetup128.png, but these would need to get installed into
 the
  proper /usr/share/icons/ hierarchy and named appropriately for the
 correct
  size to be automatically found and used. It would be good to have
 cmake-gui be
  conformant to the current desktop standards.
 
  Related -
 
  http://www.cmake.org/Bug/view.php?id=13504
  http://www.cmake.org/Bug/view.php?id=14315
 
  Also might want to consider shipping AppData information.
 
  http://people.freedesktop.org/~hughsient/appdata/

 I think there's a bug about this too (or at least for appdata). My
 question is: does it really make sense to have appdata for CMake's GUI?
 It isn't an end user application and I feel that developers know
 about CMake's Qt UI (or at least wouldn't look for it in the application
 tool thing).

 (I'm not against AppData overall; just wondering whether it makes sense
 for development tools such as cmake-gui.)

 Others' thoughts?


I wouds say: Yes, it makes sense.

There is AppData for Anjuta, Eclipse, KDevelop, QtCreator and the like.
Those too are tools for developers rather than end users. cmake-gui would
perfectly fit into that crowd.

-- Daniel
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] ExternalProject CMAKE_ARGS and CMAKE_CACHE_ARGS arguments

2014-10-28 Thread Daniele E. Domenichelli
Hello Brad,

Sorry for the delay.

On 22/10/14 17:18, Brad King wrote:
 How about a new option like CMAKE_CACHE_DEFAULT_ARGS for that? 

I just pushed a new ExternalProject_CMAKE_CACHE_DEFAULT_ARGS topic, can
you please review it?


Cheers,
 Daniele


-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-gui icons

2014-10-28 Thread David Cole via cmake-developers
I would say yes, too.

On Tue, Oct 28, 2014 at 3:27 AM, Daniel Pfeifer dan...@pfeifer-mail.de
wrote:

 2014-10-27 21:33 GMT+01:00 Ben Boeckel ben.boec...@kitware.com:

 On Mon, Oct 27, 2014 at 11:59:09 -0600, Orion Poplawski wrote:
  Trying to bring a bit more attention to this:
 
  Fedora is pushing to have higher resolution icons for the applications.
 There
  already is CMakeSetup128.png, but these would need to get installed
 into the
  proper /usr/share/icons/ hierarchy and named appropriately for the
 correct
  size to be automatically found and used. It would be good to have
 cmake-gui be
  conformant to the current desktop standards.
 
  Related -
 
  http://www.cmake.org/Bug/view.php?id=13504
  http://www.cmake.org/Bug/view.php?id=14315
 
  Also might want to consider shipping AppData information.
 
  http://people.freedesktop.org/~hughsient/appdata/

 I think there's a bug about this too (or at least for appdata). My
 question is: does it really make sense to have appdata for CMake's GUI?
 It isn't an end user application and I feel that developers know
 about CMake's Qt UI (or at least wouldn't look for it in the application
 tool thing).

 (I'm not against AppData overall; just wondering whether it makes sense
 for development tools such as cmake-gui.)

 Others' thoughts?


 I wouds say: Yes, it makes sense.

 There is AppData for Anjuta, Eclipse, KDevelop, QtCreator and the like.
 Those too are tools for developers rather than end users. cmake-gui would
 perfectly fit into that crowd.

 -- Daniel

 --

 Powered by www.kitware.com

 Please keep messages on-topic and check the CMake FAQ at:
 http://www.cmake.org/Wiki/CMake_FAQ

 Kitware offers various services to support the CMake community. For more
 information on each offering, please visit:

 CMake Support: http://cmake.org/cmake/help/support.html
 CMake Consulting: http://cmake.org/cmake/help/consulting.html
 CMake Training Courses: http://cmake.org/cmake/help/training.html

 Visit other Kitware open-source projects at
 http://www.kitware.com/opensource/opensource.html

 Follow this link to subscribe/unsubscribe:
 http://public.kitware.com/mailman/listinfo/cmake-developers

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

[cmake-developers] [CMake 0015222]: Need a way to determine when features were introduced into cmake

2014-10-28 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://www.cmake.org/Bug/view.php?id=15222 
== 
Reported By:Charles Karney
Assigned To:
== 
Project:CMake
Issue ID:   15222
Category:   CMake
Reproducibility:always
Severity:   feature
Priority:   normal
Status: new
== 
Date Submitted: 2014-10-28 08:08 EDT
Last Modified:  2014-10-28 08:08 EDT
== 
Summary:Need a way to determine when features were
introduced into cmake
Description: 
Authors of cmake scripts face a challenge ensuring that their scripts
are portable.  This is exacerbated by

* cmake is constantly evolving (which is good!);

* their cmake scripts are run by a diverse set of users (also good!);

* authors have little control over the version of cmake that end-users
  have installed;

* the relationship with end-users is even more tenuous with the
  package-config scripts (which are not read by the builder of the
  package but by a developer using the package).

There is cmake_minimum_required, but authors would normally not want to
set this to too recent a version.

The problem is that it's difficult to know when a particular feature
appeared in cmake.  There's no single changelog (and the format of the
changelog doesn't make it easy to search in).  Frequently I'm left doing
a binary search in the documentation!  Sometimes I need install old
versions to check their behavior.

For example I just noticed that install (TARGET ...) also an INCLUDES
DESTINATION option.  This seemed like a feature I should be using until
I noticed that it only appeared in 2.8.12 (or thereabouts).

Suggestions:

* Have a developer mode where cmake behaves as though it were at the
  version given by cmake_minimum_required.  (Probably this is
  unfeasible?)

* In the documentation, specify when each command, command option,
  variable, etc., was introduced.  (Might junk up the documentation.)

* Split this information off into a separate document.  (My favored
  solution.)


Steps to Reproduce: 
N/A

Additional Information: 
N/A
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2014-10-28 08:08 Charles Karney New Issue
==

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-gui icons

2014-10-28 Thread Brad King
On 10/27/2014 01:59 PM, Orion Poplawski wrote:
 Fedora is pushing to have higher resolution icons for the applications. There
 already is CMakeSetup128.png, but these would need to get installed into the
 proper /usr/share/icons/ hierarchy and named appropriately for the correct
 size to be automatically found and used. It would be good to have cmake-gui be
 conformant to the current desktop standards.

Where should it go and what should it be called?

 http://www.cmake.org/Bug/view.php?id=13504
 http://www.cmake.org/Bug/view.php?id=14315

These were fixed in 3.0.  I've updated the issue tracker entries.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] [PATCHv2] Tests: Run Tutorial steps 1-4 as tests for Windows CE

2014-10-28 Thread Brad King
On 10/27/2014 09:11 AM, Brad King wrote:
  Tests: Run Tutorial steps 1-4 as tests for Windows CE
  http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e690d0db

Please take a look at the test failures on your dashboard submission
for these tests.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] [PATCHv2] Tests: Run Tutorial steps 1-4 as tests for Windows CE

2014-10-28 Thread Bach, Pascal
 
 On 10/27/2014 09:11 AM, Brad King wrote:
   Tests: Run Tutorial steps 1-4 as tests for Windows CE
   http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e690d0db
 
 Please take a look at the test failures on your dashboard submission
 for these tests.
 
I'm already on it. I will let you know if I have found the problem.

Pascal

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


[cmake-developers] [CMake 0015223]: Object OUTPUT_EXTENSIONs selection is hard - if ever possible - to manage with cross compilation

2014-10-28 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://public.kitware.com/Bug/view.php?id=15223 
== 
Reported By:Emmanuel Blot
Assigned To:
== 
Project:CMake
Issue ID:   15223
Category:   CMake
Reproducibility:always
Severity:   major
Priority:   normal
Status: new
== 
Date Submitted: 2014-10-28 17:07 CET
Last Modified:  2014-10-28 17:07 CET
== 
Summary:Object OUTPUT_EXTENSIONs selection is hard - if ever
possible - to manage with cross compilation
Description: 
For some (historical?) reasons, CMake considers the default object extension tas
.obj, which is quite unusual but on Windows.

CMake Modules files define:
IF (UNIX)
 set(CMAKE_LANG_OUTPUT_EXTENSION .o)
ELSE ()
 set(CMAKE_LANG_OUTPUT_EXTENSION .obj)
ENDIF ()

which makes the Unix style the exception, and Windows style the default rule.

However, when cmake is used to cross compile, many (if not most) OSes use the
Unix style, even if they are not Unix-based. 

The trouble is that UNIX variable seems to be mostly defined from the host
environment, not from the target environment.

The net result is that .obj extension is enforced for non-Windows targets,
which in turn rapidly becomes a nightmare to manage.

Forcing UNIX to 1 from a CMakeLists.txt sometimes helps for C source files -
although it is definitely a hack - but does not with ASM files for example.

Setting CMAKE_LANG_OUTPUT_EXTENSION from a CMakeLists.txt does not seem to be
recommended - from previous CMake ML posts - and does not work anyway.

Although I would personally favour .o to be the default extension and Windows
the exception, I guess that for at least compatibility with previous CMake
version this cannot be changed.

However, being able to easily define the extension for a non Unix project, or
for a cross compiled one is definitely a real need.



Additional Information: 
I've failed - up to know - to find a way to choose the proper extension, which
forced me to write ugly workaround in CMakeLists.txt files.
== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2014-10-28 17:07 Emmanuel Blot  New Issue
==

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-gui icons

2014-10-28 Thread Orion Poplawski
On 10/28/2014 08:18 AM, Brad King wrote:
 On 10/27/2014 01:59 PM, Orion Poplawski wrote:
 Fedora is pushing to have higher resolution icons for the applications. There
 already is CMakeSetup128.png, but these would need to get installed into the
 proper /usr/share/icons/ hierarchy and named appropriately for the correct
 size to be automatically found and used. It would be good to have cmake-gui 
 be
 conformant to the current desktop standards.
 
 Where should it go and what should it be called?
 

There should be a series in:

/usr/share/icons/hicolor/XxX/apps/CMakeSetup.png

Where XxX is the resolution, eg: 32x32, 48x48,... :

ls /usr/share/icons/hicolor
128x128  192x192  22x22  256x256  36x36  512x512  72x72
16x1620x2024x24  32x3248x48  64x6496x96

You don't need all of them, but a selection is nice.

SVG/svgz is nice too, and that goes in scalable.

Then the icon name in the .desktop file is simply CMakeSetup.

http://standards.freedesktop.org/icon-theme-spec/icon-theme-spec-latest.html

-- 
Orion Poplawski
Technical Manager 303-415-9701 x222
NWRA, Boulder/CoRA Office FAX: 303-415-9702
3380 Mitchell Lane   or...@nwra.com
Boulder, CO 80301   http://www.nwra.com
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] cmake-gui icons

2014-10-28 Thread Richard Shaw
On Tue, Oct 28, 2014 at 11:27 AM, Orion Poplawski or...@cora.nwra.com
wrote:

 There should be a series in:

 /usr/share/icons/hicolor/XxX/apps/CMakeSetup.png

 Where XxX is the resolution, eg: 32x32, 48x48,... :

 ls /usr/share/icons/hicolor
 128x128  192x192  22x22  256x256  36x36  512x512  72x72
 16x1620x2024x24  32x3248x48  64x6496x96

 You don't need all of them, but a selection is nice.

 SVG/svgz is nice too, and that goes in scalable.


I do this within the RPM spec file for packages I maintain which don't do
this for me but the idea should work the same for CMake, something like:

if(UNIX) # Or any other qualifiers/tests needed...
include(GNUInstallDirs)
set(ICON_INSTALL_PREFIX} ${CMAKE_INSTALL_DATADIR}/icons/hicolor)
set(ICON_SIZES 32x32;64x64;128x128)

foreach(_size ICON_SIZES)
install(FILES CMakeSetup${_size}.png
DESTINATION ${ICON_INSTALL_PREFIX}/${_size}/apps
RENAME CMakeSetup.png)
endforeach()

install(FILES CMakeSetup.svg DESTINATION
${ICON_INSTALL_PREFIX}/scalable/apps)
endif()

This assumes the icon size is appended to the base name.

I haven't tested this and it may well have typos but I would think this
would work.

Thanks,
Richard
-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers

Re: [cmake-developers] ExternalProject CMAKE_ARGS and CMAKE_CACHE_ARGS arguments

2014-10-28 Thread Brad King
On 10/28/2014 06:48 AM, Daniele E. Domenichelli wrote:
 I just pushed a new ExternalProject_CMAKE_CACHE_DEFAULT_ARGS topic, can
 you please review it?

Good.  After seeing the lack of a clean place to document the
differences among these options I decided it is time to revise
the documentation layout.  I've done that here:

 ExternalProject: Convert docs to a bracket comment
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=98936ae3

 ExternalProject: Use explicit markup and definition lists in docs
 http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d9c2c17b

Please rebase on those.  You should find it much easier to add
more detail to the documentation of each option.

Thanks,
-Brad

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


[cmake-developers] [CMake 0015225]: Xcode generator ignores the add_compile_options command

2014-10-28 Thread Mantis Bug Tracker

The following issue has been SUBMITTED. 
== 
http://www.cmake.org/Bug/view.php?id=15225 
== 
Reported By:Ilya
Assigned To:
== 
Project:CMake
Issue ID:   15225
Category:   CMake
Reproducibility:always
Severity:   major
Priority:   normal
Status: new
== 
Date Submitted: 2014-10-28 13:42 EDT
Last Modified:  2014-10-28 13:42 EDT
== 
Summary:Xcode generator ignores the add_compile_options
command
Description: 
The flags specified via add_compile_options do not appear anywhere in generated
Xcode project (I use Xcode 6)

In other hand, options specified via the add_definitions command will be
properly placed under the OTHER_CFLAGS Xcode attribute. Moreover, generator
seems to categorize these flags and put them under appropriate Xcode attributes.

E.g.

add_definitions(
-DHAVE_PTHREADS
-Wduplicate-method-match
)

-DHAVE_PTHREADS will be added to the GCC_PREPROCESSOR_DEFINITIONS Xcode
attribute while -Wduplicate-method-match will be added to the OTHER_CFLAGS Xcode
attribute.

== 

Issue History 
Date ModifiedUsername   FieldChange   
== 
2014-10-28 13:42 Ilya   New Issue
==

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


[cmake-developers] [ANNOUNCE] CMake 3.1.0-rc1 now ready for testing!

2014-10-28 Thread Robert Maynard
I am proud to announce that CMake 3.1 has entered the release candidate stage.

Sources and binaries are available at:
  http://www.cmake.org/files/v3.1/?C=M;O=D

Documentation is available at:
  http://www.cmake.org/cmake/help/v3.1

Release notes appear below and are also published at
  http://www.cmake.org/cmake/help/v3.1/release/3.1.0.html

Some of the more significant features of CMake 3.1 are:

* Windows Phone and Windows Store support has been added to  Visual Studio 11
  (2012) and above Generators.

* NVIDIA Nsight Tegra support has been added to  Visual Studio 10 (2010) and
  above Generators.

* New target_compile_features command allows populating target based compile
  features. CMake uses this information to ensure that the compiler in use is
  capable of building the target, and to add any necessary compile flags
  such as -std=gnu++11 to support language features.
  More information on this is found at:
  - http://www.cmake.org/cmake/help/v3.1/manual/cmake-compile-features.7.html

* The syntax for *Variable References* and *Escape Sequences* was simplified in
  order to allow a much faster implementation. See policy CMP0053.

* The if command no longer automatically dereferences variables named in
  quoted or bracket arguments.  See policy CMP0054.

* The target property SOURCES now generally supports Generator Expressions.
  The generator expressions may be used in the add_library and
  add_executable commands.

* It is now possible to write and append to the target property SOURCES.
  The variable CMAKE_DEBUG_TARGET_PROPERTIES can be used to trace the
  origin of sources.

* CPack gained 7Z and TXZ generators supporting lzma-compressed archives.

* The ExternalProject module has learned to support lzma-compressed
  source tarballs with .7z, .tar.xz, and .txz extensions.

* The ExternalProject module ExternalProject_Add command learned a new
  BUILD_ALWAYS option to cause the external project build step to run every
  time the host project is built.

* The ctest_coverage command learned to support Intel coverage files with the
  codecov tool.

* The ctest_memcheck command learned to support sanitizer modes, including
  AddressSanitizer, MemorySanitizer, ThreadSanitizer, and
  UndefinedBehaviorSanitizer.

Deprecated and Removed Features:

* In CMake 3.0 the target_link_libraries command accidentally began allowing
  unquoted arguments to use Generator Expressions containing a semicolon
  separated list within them. For example:

set(libs B C)
target_link_libraries(A PUBLIC $BUILD_INTERFACE:${libs})

  This is equivalent to writing:

target_link_libraries(A PUBLIC $BUILD_INTERFACE:B C)

  and was never intended to work. It did not work in CMake 2.8.12.
  Such generator expressions should be in quoted arguments:

set(libs B C)
target_link_libraries(A PUBLIC $BUILD_INTERFACE:${libs})

  CMake 3.1 again requires the quotes for this to work correctly.


CMake 3.1.0 Release Notes
*

Changes made since CMake 3.0.0 include the following.


Documentation Changes
=

* A new cmake-compile-features(7) manual was added.


New Features



Generators
--

* A Visual Studio 14 generator was added.


Windows Phone and Windows Store
~~~

* Generators for Visual Studio 11 (2012) and above learned to
  generate projects for Windows Phone and Windows Store.  One may set
  the CMAKE_SYSTEM_NAME variable to WindowsPhone or WindowsStore
  on the cmake(1) command-line or in a CMAKE_TOOLCHAIN_FILE to
  activate these platforms. Also set CMAKE_SYSTEM_VERSION to 8.0
  or 8.1 to specify the version of Windows to be targeted.


NVIDIA Nsight Tegra
~~~

* Generators for Visual Studio 10 (2010) and above learned to
  generate projects for NVIDIA Nsight Tegra Visual Studio Edition.
  One may set the CMAKE_SYSTEM_NAME variable to Android on the
  cmake(1) command-line or in a CMAKE_TOOLCHAIN_FILE to activate
  this platform.


Syntax
--

* The cmake-language(7) syntax for *Variable References* and
  *Escape Sequences* was simplified in order to allow a much faster
  implementation.  See policy CMP0053.

* The if() command no longer automatically dereferences variables
  named in quoted or bracket arguments.  See policy CMP0054.


Commands


* The add_custom_command() command learned to interpret cmake-
  generator-expressions(7) in arguments to DEPENDS.

* The export(PACKAGE) command learned to check the
  CMAKE_EXPORT_NO_PACKAGE_REGISTRY variable to skip exporting the
  package.

* The file(STRINGS) command gained a new ENCODING option to
  enable extraction of UTF-8 strings.

* The find_package() command learned to check the
  CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY and
  CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY variables to skip
  searching the package registries.

* The install() command learned a MESSAGE_NEVER option to avoid
  output during installation.

* The string() command 

Re: [cmake-developers] Support of codesign

2014-10-28 Thread A. Klitzing
Hi there!

As requested... I renamed the 3 APPLE variables to BUNDLE_APPLE in attached
patch.

Thanks
  André Klitzing


Clinton Stimpson clin...@elemtech.com schrieb am Mon Oct 27 2014 at
17:42:50:

 Hi André,

 I can help you get this patch into the git repo.  But before doing that,
 Brad
 requested one more change.

 Can you please rename 3 of the CMake variables to
  CPACK_BUNDLE_APPLE_CERT_APP
  CPACK_BUNDLE_APPLE_ENTITLEMENTS
  CPACK_BUNDLE_APPLE_CODESIGN_FILES

 Thanks,
 Clint


From ce841285959648f7c16f34b24a71af029f89c976 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Klitzing?= aklitz...@gmail.com
Date: Tue, 28 Oct 2014 19:15:55 +0100
Subject: [PATCH] CPack: Add support for code signing of bundles on MacOS

---
 Modules/CPackBundle.cmake   |  25 +++
 Source/CPack/cmCPackBundleGenerator.cxx | 126 +++-
 Source/CPack/cmCPackBundleGenerator.h   |   2 +
 3 files changed, 152 insertions(+), 1 deletion(-)

diff --git a/Modules/CPackBundle.cmake b/Modules/CPackBundle.cmake
index d8293c0..d26a0b3 100644
--- a/Modules/CPackBundle.cmake
+++ b/Modules/CPackBundle.cmake
@@ -33,6 +33,31 @@
 #  Path to a startup script. This is a path to an executable or script that
 #  will be run whenever an end-user double-clicks the generated bundle in the
 #  OSX Finder. Optional.
+#
+# .. variable:: CPACK_BUNDLE_APPLE_CERT_APP
+#
+#  The name of your Apple supplied code signing certificate for the application.
+#  The name usually takes the form Developer ID Application: [Name] or
+#  3rd Party Mac Developer Application: [Name]. If this variable is not set
+#  the application will not be signed.
+#
+# .. variable:: CPACK_BUNDLE_APPLE_ENTITLEMENTS
+#
+#  The name of the plist file that contains your apple entitlements for sandboxing
+#  your application. This file is required for submission to the Mac App Store.
+#
+# .. variable:: CPACK_BUNDLE_APPLE_CODESIGN_FILES
+#
+#  A list of additional files that you wish to be signed. You do not need to
+#  list the main application folder, or the main executable. You should
+#  list any frameworks and plugins that are included in your app bundle.
+#
+# .. variable:: CPACK_COMMAND_CODESIGN
+#
+#  Path to the codesign(1) command used to sign applications with an
+#  Apple cert. This variable can be used to override the automatically
+#  detected command (or specify its location if the auto-detection fails
+#  to find it.)
 
 #=
 # Copyright 2006-2009 Kitware, Inc.
diff --git a/Source/CPack/cmCPackBundleGenerator.cxx b/Source/CPack/cmCPackBundleGenerator.cxx
index 6c994f1..fbd1d21 100644
--- a/Source/CPack/cmCPackBundleGenerator.cxx
+++ b/Source/CPack/cmCPackBundleGenerator.cxx
@@ -39,6 +39,21 @@ int cmCPackBundleGenerator::InitializeInternal()
 return 0;
 }
 
+  if(this-GetOption(CPACK_BUNDLE_APPLE_CERT_APP))
+{
+const std::string codesign_path = cmSystemTools::FindProgram(codesign,
+   std::vectorstd::string(), false);
+
+if(codesign_path.empty())
+  {
+  cmCPackLogger(cmCPackLog::LOG_ERROR,
+Cannot locate codesign command
+ std::endl);
+  return 0;
+  }
+this-SetOptionIfNotSet(CPACK_COMMAND_CODESIGN, codesign_path.c_str());
+}
+
   return this-Superclass::InitializeInternal();
 }
 
@@ -53,7 +68,7 @@ const char* cmCPackBundleGenerator::GetPackagingInstallPrefix()
 }
 
 //--
-int cmCPackBundleGenerator::PackageFiles()
+int cmCPackBundleGenerator::ConstructBundle()
 {
 
   // Get required arguments ...
@@ -165,6 +180,22 @@ int cmCPackBundleGenerator::PackageFiles()
 cmSystemTools::SetPermissions(command_target.str().c_str(), 0777);
 }
 
+  return 1;
+}
+
+//--
+int cmCPackBundleGenerator::PackageFiles()
+{
+  if(!this-ConstructBundle())
+{
+return 0;
+}
+
+  if(!this-SignBundle(toplevel))
+{
+return 0;
+}
+
   return this-CreateDMG(toplevel, packageFileNames[0]);
 }
 
@@ -172,3 +203,96 @@ bool cmCPackBundleGenerator::SupportsComponentInstallation() const
 {
   return false;
 }
+
+
+int cmCPackBundleGenerator::SignBundle(const std::string src_dir)
+{
+  const std::string cpack_apple_cert_app =
+this-GetOption(CPACK_BUNDLE_APPLE_CERT_APP)
+? this-GetOption(CPACK_BUNDLE_APPLE_CERT_APP) : ;
+
+  // codesign the application.
+  if(!cpack_apple_cert_app.empty())
+{
+std::string bundle_path;
+bundle_path = src_dir + /;
+bundle_path += this-GetOption(CPACK_BUNDLE_NAME);
+bundle_path += .app;
+
+// A list of additional files to sign, ie. frameworks and plugins.
+const std::string sign_files =
+  this-GetOption(CPACK_BUNDLE_APPLE_CODESIGN_FILES)
+  ? this-GetOption(CPACK_BUNDLE_APPLE_CODESIGN_FILES) : ;
+
+std::vectorstd::string relFiles;
+cmSystemTools::ExpandListArgument(sign_files, 

Re: [cmake-developers] Support of codesign

2014-10-28 Thread Clinton Stimpson

Thanks for the patch.
Its in the repository now.
http://www.cmake.org/gitweb?p=cmake.git;a=commit;h=bd3fbf3

Clint

On Tuesday, October 28, 2014 06:18:34 PM A. Klitzing wrote:
 Hi there!
 
 As requested... I renamed the 3 APPLE variables to BUNDLE_APPLE in attached
 patch.
 
 Thanks
   André Klitzing
 
 
 Clinton Stimpson clin...@elemtech.com schrieb am Mon Oct 27 2014 at
 
 17:42:50:
  Hi André,
  
  I can help you get this patch into the git repo.  But before doing that,
  Brad
  requested one more change.
  
  Can you please rename 3 of the CMake variables to
  
   CPACK_BUNDLE_APPLE_CERT_APP
   CPACK_BUNDLE_APPLE_ENTITLEMENTS
   CPACK_BUNDLE_APPLE_CODESIGN_FILES
  
  Thanks,
  Clint

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] ExternalProject CMAKE_ARGS and CMAKE_CACHE_ARGS arguments

2014-10-28 Thread Daniele E. Domenichelli
On 28/10/14 18:01, Brad King wrote:
 Please rebase on those.  You should find it much easier to add
 more detail to the documentation of each option.

Done, thanks.

 Daniele

-- 

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers


Re: [cmake-developers] New command 'file(LOCK_DIRECTORY ...)'

2014-10-28 Thread Ruslan Baratov via cmake-developers

On 13-Oct-14 18:39, Brad King wrote:

With all the above in mind, please brainstorm and propose a more complete
signature set.  You can use the keyword/value pairing common in other
commands to avoid needing a positional argument for every value.

What do you think about this:

file(
LOCK path
[DIRECTORY] # if present locked file will be path/cmake.lock 
(instead of path)

[RELEASE] # do explicit unlock
[GUARD FUNCTION|FILE|PROCESS] # if not present - set to `GUARD 
PROCESS` (not used if RELEASE)
[RESULT_VARIABLE variable] # 0 on success, error message 
otherwise; if not present - any error is FATAL_ERROR

[TIMEOUT seconds]
# 0 - return immediately if operation failed (try_lock), 
otherwise timeout (timed_lock);

# if not present - lock until success (or error);
# not used if RELEASE;
)

?

On 13-Oct-14 18:39, Brad King wrote:

Also, please post a summary of how the implementation will work on each
platform.
Boost implementation of file locking mechanism use 
LockFileEx/UnlockFileEx for windows and fcntl for unix-like platforms.
These functions lock file only for current process. When process crashes 
lock removed by OS automatically.
In terms of boost documentation `file(LOCK ...)` locks are exclusive and 
advisory.


boost.interprocess:
http://www.boost.org/doc/libs/1_56_0/doc/html/interprocess/synchronization_mechanisms.html#interprocess.synchronization_mechanisms.file_lock
LockFileEx:
http://msdn.microsoft.com/library/windows/desktop/aa365203%28v=vs.85%29.aspx
UnlockFileEx:
http://msdn.microsoft.com/library/windows/desktop/aa365716%28v=vs.85%29.aspx
fcntl (linux):
  http://linux.die.net/man/2/fcntl
fcntl (mac):
https://developer.apple.com/library/Mac/documentation/Darwin/Reference/ManPages/man2/fcntl.2.html

I've tried (Un)LockFileEx/fcntl on windows (including mingw and cygwin), 
linux and mac - works fine for me with one exception: cygwin's lock is 
not visible by win32's lock. I.e. you can synchronize multiple cygwin 
processes and multiple windows normal processes, but you can't mix them.


On 13-Oct-14 18:34, Ben Boeckel wrote:

Maybe we need something like the 'trap' shell builtin which runs code on
various triggers rather than something like file/directory locks...
Note that you can't set trap for SIGKILL. So if somebody will terminate 
your CMake instance by `kill -9 pid` probably you will have a problem.


--

Powered by www.kitware.com

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support: http://cmake.org/cmake/help/support.html
CMake Consulting: http://cmake.org/cmake/help/consulting.html
CMake Training Courses: http://cmake.org/cmake/help/training.html

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/cmake-developers