Re: [cmake-developers] Fw: Please comment on ios-universal topic
Thanks Ruslan for feedback. I think that this new property should work also for FRAMEWORK and should support both OSX and iOS In that way it is already done for: - for SHARED library adding FRAMEWORK property produce correct Framework for iOS or OSX (for Cmake 3.5 the documentation was already updated), and standard library for other platforms - for MACOSX_BUNDLE (the name of property is very confusing). It will produce BUNDLE for OSX or iOS. - even standard SHARED library produce different results according to platform (.so file on Linux, .dll on Windows, .dylib on OSX) I strongly believe that this new CMake's property should follow this convention. Currently I'm working in project which must support multiple platforms (Linux, Windows, OSX, iOS, Android, QNX etc.). And I very like CMake for automagicaly adopting to platform/architecture/OS. Because "Universal Library" is generic name, which is applicable for all platforms (Fat library is used on Apple machines), I would like to propose following property name: INSTALL_UNIVERSAL_LIBRARY For now it will be applicable only on iOS (OS X?), but it could be extended to other platforms (Android). Of course all supported platforms should be noticed in documentation. What do you think about that idea: Adding one property which will adopt to platform on which is build? Best Regards Bartosz From: Ruslan Baratov Sent: Thursday, December 3, 2015 4:09 AM To: Bartosz Kosiorek Cc: Gregor Jasny; cmake-developers@cmake.org Subject: Re: Fw: [cmake-developers] Please comment on ios-universal topic On 02-Dec-15 19:44, Bartosz Kosiorek wrote: > Hi. > > Currently we already support similar target properties: > - INSTALL_NAME_DIR > - INSTALL_RPATH > - INSTALL_RPATH_USE_LINK_PATH > > It will be great to follow the same name convention. > > Because this new property is only applicable for INSTALL step, I would like > to propose to rename property name to INSTALL_IOS_UNIVERSAL_LIBS. > > What do you think about that idea? It's hard for me to decide what is better because IOS_INSTALL_UNIVERSAL_LIBS just came from my mind and I've used it for a while already. So now it looks solid for no reason :) However first note: INSTALL_RPATH can be read as when we do INSTALL change RPATH to ... (any platform) ANDROID_API -//- when we are on ANDROID use next API ... WIN32_EXECUTABLE -//- when we are on WIN32 use bla-bla for EXECUTABLE OSX_ARCHITECTURES -//- when we are on OSX use ARCHITECTURES MACOSX_BUNDLE -//- when we are on MACOSX create BUNDLE So new property can be read as: IOS_INSTALL_UNIVERSAL_LIBS when we are on IOS do INSTALL_UNIVERSAL_LIBS INSTALL_IOS_UNIVERSAL_LIBS when we do INSTALL make IOS_UNIVERSAL_LIBS (does it mean that when we are on Linux we can install iOS libs? does it mean that when we are on OSX without iOS toolchain we can do iOS libs?) Second note is about future improvements of this feature, installing universal libs on OSX or installing universal frameworks, pattern _INSTALL_UNIVERSAL_: IOS_INSTALL_UNIVERSAL_LIBS IOS_INSTALL_UNIVERSAL_FRAMEWORKS OSX_INSTALL_UNIVERSAL_LIBS OSX_INSTALL_UNIVERSAL_FRAMEWORKS INSTALL_UNIVERSAL_LIBS # on both OSX and iOS INSTALL_UNIVERSAL_FRAMEWORKS # on both OSX and iOS IOS_INSTALL_UNIVERSAL # both libs and frameworks OSX_INSTALL_UNIVERSAL # both libs and frameworks INSTALL_UNIVERSAL # both libs and frameworks, both OSX and iOS ? Ruslo > > > From: cmake-developers on behalf of > Gregor Jasny via cmake-developers > Sent: Tuesday, December 1, 2015 3:22 PM > To: CMake Developers; Ruslan Baratov > Subject: [cmake-developers] Please comment on ios-universal topic > > Hello, > > During the last days I worked on the iOS Universal Install topic which > now would benefit from a review. Especially the core changes could need > a third pair of eyes: > > https://cmake.org/gitweb?p=stage/cmake.git;a=commit;h=8fb23b42cfc2fb7490e8645fff328add9c231713 > > I will now concentrate on adding more tests during the next days. > > Thank you, > Gregor > > -- > > 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.
Re: [cmake-developers] [ANNOUNCE] CMake 3.4.1 available for download
Meet the fresh update online installers (CMake3.4.20151203): http://ifw.podsvirov.pro/cmake/cmake-master-win32-online.exe and http://ifw.podsvirov.pro/cmake/cmake-master-win64-online.exe If you have used them previously, then just update via "CMake Maintenance Tool". 02.12.2015, 23:55, "Konstantin Podsvirov" : > 02.12.2015, 22:55, "Robert Maynard" : >> We are pleased to announce that CMake 3.4.1 is now available for download. >> >> Please use the latest release from our download page: >> https://cmake.org/download/ >> >> Thanks for your support! > > Good job! Thank you! > > I could not miss this event. This is a good occasion to remind about > the existence of CPack "IFW" generator :-) > > https://cmake.org/cmake/help/v3.4/module/CPackIFW.html > > Here is a fresh not official offline installers for CMake 3.4.1 on Windows: > > http://ifw.podsvirov.pro/cmake/files/v3.4/cmake-3.4.1-win32-x86.exe > > and > > http://ifw.podsvirov.pro/cmake/files/v3.4/cmake-3.4.1-win64-x64.exe > > But I want to assure you that they are honestly built me personally of the > official code of branch 'release' recently :-) > > I'll be glad if somebody test these installers for themselves and to share > their comments and suggestions. > > Good luck to everyone! > > -- > Regards, > Konstantin Podsvirov > -- > > 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 Regards, Konstantin Podsvirov -- 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] Fw: Please comment on ios-universal topic
On 02-Dec-15 19:44, Bartosz Kosiorek wrote: Hi. Currently we already support similar target properties: - INSTALL_NAME_DIR - INSTALL_RPATH - INSTALL_RPATH_USE_LINK_PATH It will be great to follow the same name convention. Because this new property is only applicable for INSTALL step, I would like to propose to rename property name to INSTALL_IOS_UNIVERSAL_LIBS. What do you think about that idea? It's hard for me to decide what is better because IOS_INSTALL_UNIVERSAL_LIBS just came from my mind and I've used it for a while already. So now it looks solid for no reason :) However first note: INSTALL_RPATH can be read as when we do INSTALL change RPATH to ... (any platform) ANDROID_API -//- when we are on ANDROID use next API ... WIN32_EXECUTABLE -//- when we are on WIN32 use bla-bla for EXECUTABLE OSX_ARCHITECTURES -//- when we are on OSX use ARCHITECTURES MACOSX_BUNDLE -//- when we are on MACOSX create BUNDLE So new property can be read as: IOS_INSTALL_UNIVERSAL_LIBS when we are on IOS do INSTALL_UNIVERSAL_LIBS INSTALL_IOS_UNIVERSAL_LIBS when we do INSTALL make IOS_UNIVERSAL_LIBS (does it mean that when we are on Linux we can install iOS libs? does it mean that when we are on OSX without iOS toolchain we can do iOS libs?) Second note is about future improvements of this feature, installing universal libs on OSX or installing universal frameworks, pattern _INSTALL_UNIVERSAL_: IOS_INSTALL_UNIVERSAL_LIBS IOS_INSTALL_UNIVERSAL_FRAMEWORKS OSX_INSTALL_UNIVERSAL_LIBS OSX_INSTALL_UNIVERSAL_FRAMEWORKS INSTALL_UNIVERSAL_LIBS # on both OSX and iOS INSTALL_UNIVERSAL_FRAMEWORKS # on both OSX and iOS IOS_INSTALL_UNIVERSAL # both libs and frameworks OSX_INSTALL_UNIVERSAL # both libs and frameworks INSTALL_UNIVERSAL # both libs and frameworks, both OSX and iOS ? Ruslo From: cmake-developers on behalf of Gregor Jasny via cmake-developers Sent: Tuesday, December 1, 2015 3:22 PM To: CMake Developers; Ruslan Baratov Subject: [cmake-developers] Please comment on ios-universal topic Hello, During the last days I worked on the iOS Universal Install topic which now would benefit from a review. Especially the core changes could need a third pair of eyes: https://cmake.org/gitweb?p=stage/cmake.git;a=commit;h=8fb23b42cfc2fb7490e8645fff328add9c231713 I will now concentrate on adding more tests during the next days. Thank you, Gregor -- 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] [PATCH] Extend copy and copy_if_different commands with support multiple files
Hi. This patch allows to use multiple files in commands "copy" and "copy_if_different". Input files could be merged with wildcards. For example: ./bin/cmake -E copy bin/* CMakeFiles/* file.tar dupajasia If wrong file path were provided as input then the error will be displayed, but rest of the files will be copied. For example: ./bin/cmake -E copy bin/* CMakeFiles/* wrong_file file.tar dupajasia/ Error copying file "wrong_file" to "dupajasia/". If multipile input files were provided, then destination must be directory. Example: ./bin/cmake -E copy bin/* CMakeFiles/* wrong_file file.tar dupajasia/ctest Error: Target (copy) "dupajasia/ctest" is not a directory. ./bin/cmake -E copy bin/* dupajasia/ctest? Error: Target (copy) "dupajasia/ctest?" is not a directory. If only one input file was provided, then destination could be either file or directory: ./bin/cmake -E copy file.tar dupajasia/ctest This path is starting point for fixing bug 15703: ?https://public.kitware.com/Bug/view.php?id=15703 Best Regards Bartosz From 8225688074386ac8633bad5e6f9fdb4a7caf9775 Mon Sep 17 00:00:00 2001 From: "Bartosz Kosiorek bartosz.kosio...@tomtom.com" Date: Thu, 3 Dec 2015 00:43:37 +0100 Subject: [PATCH] Extend copy and copy_if_different command with support multiple files This patch allows to use multiple files in command copy and copy_if_different. Input files could be merged with wildcards. If multipile input files were provided, then destination must be directory. If only one input file was provided, then destination could be either file or directory. This path is starting point for fixing bug 15703 --- Help/manual/cmake.1.rst | 12 Source/cmcmd.cxx| 73 +++-- 2 files changed, 58 insertions(+), 27 deletions(-) diff --git a/Help/manual/cmake.1.rst b/Help/manual/cmake.1.rst index dac16bf..086f259 100644 --- a/Help/manual/cmake.1.rst +++ b/Help/manual/cmake.1.rst @@ -169,14 +169,14 @@ Available commands are: ``compare_files `` Check if file1 is same as file2. -``copy `` - Copy file to destination (either file or directory). +``copy ... `` + Copy files to 'destination' (either file or directory). ``copy_directory `` Copy directory 'source' content to directory 'destination'. -``copy_if_different `` - Copy file if input has changed. +``copy_if_different ... `` + Copy files if input has changed. Destination could be file or directory. ``echo [...]`` Displays arguments as text. @@ -193,10 +193,10 @@ Available commands are: ``make_directory `` Create a directory. -``md5sum [...]`` +``md5sum ...`` Compute md5sum of files. -``remove [-f] [...]`` +``remove [-f] ...`` Remove the file(s), use ``-f`` to force it. ``remove_directory `` diff --git a/Source/cmcmd.cxx b/Source/cmcmd.cxx index 21b126b..0dc5a9a 100644 --- a/Source/cmcmd.cxx +++ b/Source/cmcmd.cxx @@ -52,25 +52,25 @@ void CMakeCommandUsage(const char* program) // If you add new commands, change here, // and in cmakemain.cxx in the options table errorStream -<< "Usage: " << program << " -E [command] [arguments ...]\n" +<< "Usage: " << program << " -E [arguments...]\n" << "Available commands: \n" << " chdir dir cmd [args]... - run command in a given directory\n" << " compare_files file1 file2 - check if file1 is same as file2\n" -<< " copy file destination - copy file to destination (either file " - "or directory)\n" +<< " copy ... destination - copy files to destination " + "(either file or directory)\n" << " copy_directory source destination - copy directory 'source' " "content to directory 'destination'\n" -<< " copy_if_different in-file out-file - copy file if input has " +<< " copy_if_different ... destination - copy files if it has " "changed\n" -<< " echo [string]... - displays arguments as text\n" -<< " echo_append [string]... - displays arguments as text but no new " +<< " echo [...]- displays arguments as text\n" +<< " echo_append [...] - displays arguments as text but no new " "line\n" << " env [--unset=NAME]... [NAME=VALUE]... COMMAND [ARG]...\n" << "- run command in a modified environment\n" << " environment - display the current environment\n" << " make_directory dir- create a directory\n" -<< " md5sum file1 [...]- compute md5sum of files\n" -<< " remove [-f] file1 file2 ... - remove the file(s), use -f to force " +<< " md5sum ... - compute md5sum of files\n" +<< " remove [-f] ... - remove the file(s), use -f to force " "it\n" << " remove_directory dir - remove a directory and its contents\n" << " rename oldname newname- rename a file or directory " @@ -78,7 +78,7 @@ void CMakeCommandUsage(const char* program) << " t
[cmake-developers] [CMake 0015870]: "cmake -E copy" command do not display error if source is directory
The following issue has been SUBMITTED. == https://public.kitware.com/Bug/view.php?id=15870 == Reported By:gang65 Assigned To: == Project:CMake Issue ID: 15870 Category: CMake Reproducibility:always Severity: minor Priority: normal Status: new == Date Submitted: 2015-12-02 17:20 EST Last Modified: 2015-12-02 17:20 EST == Summary:"cmake -E copy" command do not display error if source is directory Description: In current cmake implementation, by command: "cmake -E copy directory1 directory2" Do not copy anything and do not displays errors. Expected: cmake should display error message that directory "directory1" was not copied. It could be guarded by new Cmake policy Steps to Reproduce: mkdir directory1 mkdir directory2 cmake -E copy directory1 directory2 == Issue History Date ModifiedUsername FieldChange == 2015-12-02 17:20 gang65 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] [PATCH] Fix Resource directory structure for iOS Bundles (Framework and Application), update Tests and Help
Hello. Patch in attachment allows to place resources in main Bundle directory (iOS specification), instead to always place in Resource directory (OSX specification. See more: https://public.kitware.com/Bug/view.php?id=15848 ? I tested it intensively with different generators (Makefile, Ninja), and it works perfectly. I also extended existing Framework tests, to check Resource directory structure and Headers directory structure. All tests on my machine passed. Is it possible to apply this patch? We need this fix in CMake 3.5. Thanks in advance Bartosz 0001-Fix-iOS-resource-directory-update-help-and-test-bug-.patch Description: 0001-Fix-iOS-resource-directory-update-help-and-test-bug-.patch -- 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] [ANNOUNCE] CMake 3.4.1 available for download
02.12.2015, 22:55, "Robert Maynard" : > We are pleased to announce that CMake 3.4.1 is now available for download. > > Please use the latest release from our download page: > https://cmake.org/download/ > > Thanks for your support! Good job! Thank you! I could not miss this event. This is a good occasion to remind about the existence of CPack "IFW" generator :-) https://cmake.org/cmake/help/v3.4/module/CPackIFW.html Here is a fresh not official offline installers for CMake 3.4.1 on Windows: http://ifw.podsvirov.pro/cmake/files/v3.4/cmake-3.4.1-win32-x86.exe and http://ifw.podsvirov.pro/cmake/files/v3.4/cmake-3.4.1-win64-x64.exe But I want to assure you that they are honestly built me personally of the official code of branch 'release' recently :-) I'll be glad if somebody test these installers for themselves and to share their comments and suggestions. Good luck to everyone! -- Regards, Konstantin Podsvirov -- 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.4.1 available for download
We are pleased to announce that CMake 3.4.1 is now available for download. Please use the latest release from our download page: https://cmake.org/download/ Thanks for your support! - Changes in 3.4.1 since 3.4.0: Bill Hoffman (1): Fix auto export symbols for Dlls containing /bigobj for 64bit builds. Brad King (23): Cray: Implement Fortran compiler version detection (#15845) MSVC: Fix linking with /MANIFEST:NO option Make C and C++ default dialect detection robust to advanced optimizations FindGTest: Refactor test type checks to avoid cases triggering CMP0064 Android: Restore generation of non-versioned soname (#15851) Project: Guess default standard dialect if compiler was forced (#15852) Revert "Disable shared library support when compiler links statically" (#15855) Tests: Add case for add_subdirectory inside a function Tests: Add case for unmatched cmake_policy({PUSH,POP}) Tests: Add case for package version file unmatched policy scope cmState: Skip variable scope snapshots to avoid call stack duplicates cmMakefile: Clarify purpose of method that pops a scope snapshot cmMakefile: Remove unused PolicyPushPop interfaces cmLocalGenerator: Use ScopePushPop RAII class to manage local variable scopes cmState: Enforce policy scope balancing around variable scopes cmLinkedTree: Rename 'Extend' method to 'Push' cmLinkedTree: Add Pop method cmListFileCache: Implement cmListFileBacktrace ctor/dtor out-of-line cmState: Avoid accumulating policy stack storage for short-lived scopes cmState: Avoid accumulating snapshot storage for short-lived scopes cmOrderDirectories: Factor out directory comparison cmOrderDirectories: Reduce repeat realpath() calls CMake 3.4.1 Kylie McClain (1): Include `sys/types.h` header to get `mode_t` Marek Vasut (1): Add NIOS2 CPU support Ty Smith (1): cmELF: Avoid divide by zero if there are no dynamic section entries -- 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.4.1 available for download
We are pleased to announce that CMake 3.4.1 is now available for download. Please use the latest release from our download page: https://cmake.org/download/ Thanks for your support! - Changes in 3.4.1 since 3.4.0: Bill Hoffman (1): Fix auto export symbols for Dlls containing /bigobj for 64bit builds. Brad King (23): Cray: Implement Fortran compiler version detection (#15845) MSVC: Fix linking with /MANIFEST:NO option Make C and C++ default dialect detection robust to advanced optimizations FindGTest: Refactor test type checks to avoid cases triggering CMP0064 Android: Restore generation of non-versioned soname (#15851) Project: Guess default standard dialect if compiler was forced (#15852) Revert "Disable shared library support when compiler links statically" (#15855) Tests: Add case for add_subdirectory inside a function Tests: Add case for unmatched cmake_policy({PUSH,POP}) Tests: Add case for package version file unmatched policy scope cmState: Skip variable scope snapshots to avoid call stack duplicates cmMakefile: Clarify purpose of method that pops a scope snapshot cmMakefile: Remove unused PolicyPushPop interfaces cmLocalGenerator: Use ScopePushPop RAII class to manage local variable scopes cmState: Enforce policy scope balancing around variable scopes cmLinkedTree: Rename 'Extend' method to 'Push' cmLinkedTree: Add Pop method cmListFileCache: Implement cmListFileBacktrace ctor/dtor out-of-line cmState: Avoid accumulating policy stack storage for short-lived scopes cmState: Avoid accumulating snapshot storage for short-lived scopes cmOrderDirectories: Factor out directory comparison cmOrderDirectories: Reduce repeat realpath() calls CMake 3.4.1 Kylie McClain (1): Include `sys/types.h` header to get `mode_t` Marek Vasut (1): Add NIOS2 CPU support Ty Smith (1): cmELF: Avoid divide by zero if there are no dynamic section entries -- 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] [PATCH] FindTIFF: Add imported targets
- Add TIFF::TIFF imported target - Document imported target - Add testcase to test the standard variables and the imported target Also: - Add TIFF_INCLUDE_DIRS to match common practice - Update documentation generally, including documenting TIFF_INCLUDE_DIRS Patch actually attached this time... Regards, Roger>From d8f52434e7b86f55bdcdc4b2ca588f6d5f7daafa Mon Sep 17 00:00:00 2001 From: Roger Leigh Date: Wed, 2 Dec 2015 17:20:24 + Subject: [PATCH] FindTIFF: Add imported targets and update documentation - Add TIFF::TIFF imported target - Document imported target - Add testcase to test the standard variables and the imported target Also: - Add TIFF_INCLUDE_DIRS to match common practice - Update documentation generally, including documenting TIFF_INCLUDE_DIRS --- Modules/FindTIFF.cmake | 67 -- Tests/CMakeLists.txt | 4 +++ Tests/FindTIFF/CMakeLists.txt | 10 ++ Tests/FindTIFF/Test/CMakeLists.txt | 17 ++ Tests/FindTIFF/Test/main.c | 12 +++ 5 files changed, 100 insertions(+), 10 deletions(-) create mode 100644 Tests/FindTIFF/CMakeLists.txt create mode 100644 Tests/FindTIFF/Test/CMakeLists.txt create mode 100644 Tests/FindTIFF/Test/main.c diff --git a/Modules/FindTIFF.cmake b/Modules/FindTIFF.cmake index ed092ea..e49a00d 100644 --- a/Modules/FindTIFF.cmake +++ b/Modules/FindTIFF.cmake @@ -2,24 +2,43 @@ # FindTIFF # # -# Find TIFF library +# Find the TIFF library (libtiff). # -# Find the native TIFF includes and library This module defines +# Imported targets +# # -# :: +# This module defines the following :prop_tgt:`IMPORTED` targets: # -# TIFF_INCLUDE_DIR, where to find tiff.h, etc. -# TIFF_LIBRARIES, libraries to link against to use TIFF. -# TIFF_FOUND, If false, do not try to use TIFF. +# ``TIFF::TIFF`` +# The TIFF library, if found. # -# also defined, but not for general use are +# Result variables +# # -# :: +# This module will set the following variables in your project: # -# TIFF_LIBRARY, where to find the TIFF library. +# ``TIFF_FOUND`` +# true if the TIFF headers and libraries were found +# ``TIFF_INCLUDE_DIR`` +# the directory containing the TIFF headers +# ``TIFF_INCLUDE_DIRS`` +# the directory containing the TIFF headers +# ``TIFF_LIBRARIES`` +# TIFF libraries to be linked +# +# Cache variables +# ^^^ +# +# The following cache variables may also be set: +# +# ``TIFF_INCLUDE_DIR`` +# the directory containing the TIFF headers +# ``TIFF_LIBRARY`` +# the path to the TIFF library #= # Copyright 2002-2009 Kitware, Inc. +# Copyright 2015 University of Dundee # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. @@ -65,7 +84,35 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF VERSION_VAR TIFF_VERSION_STRING) if(TIFF_FOUND) - set( TIFF_LIBRARIES ${TIFF_LIBRARY} ) + set(TIFF_LIBRARIES ${TIFF_LIBRARY}) + set(TIFF_INCLUDE_DIRS "${TIFF_INCLUDE_DIR}") + + if(NOT TARGET TIFF::TIFF) +add_library(TIFF::TIFF UNKNOWN IMPORTED) +if(TIFF_INCLUDE_DIRS) + set_target_properties(TIFF::TIFF PROPERTIES +INTERFACE_INCLUDE_DIRECTORIES "${TIFF_INCLUDE_DIRS}") +endif() +if(EXISTS "${TIFF_LIBRARY}") + set_target_properties(TIFF::TIFF PROPERTIES +IMPORTED_LINK_INTERFACE_LANGUAGES "C" +IMPORTED_LOCATION "${TIFF_LIBRARY}") +endif() +if(EXISTS "${TIFF_LIBRARY_DEBUG}") + set_property(TARGET TIFF::TIFF APPEND PROPERTY +IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(TIFF::TIFF PROPERTIES +IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" +IMPORTED_LOCATION_DEBUG "${TIFF_LIBRARY_DEBUG}") +endif() +if(EXISTS "${TIFF_LIBRARY_RELEASE}") + set_property(TARGET TIFF::TIFF APPEND PROPERTY +IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(TIFF::TIFF PROPERTIES +IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" +IMPORTED_LOCATION_RELEASE "${TIFF_LIBRARY_RELEASE}") +endif() + endif() endif() mark_as_advanced(TIFF_INCLUDE_DIR TIFF_LIBRARY) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 5fd7159..a040ec0 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1367,6 +1367,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release add_subdirectory(FindOpenSSL) endif() + if(CMake_TEST_FindTIFF) +add_subdirectory(FindTIFF) + endif() + if(CMake_TEST_FindXercesC) add_subdirectory(FindXercesC) endif() diff --git a/Tests/FindTIFF/CMakeLists.txt b/Tests/FindTIFF/CMakeLists.txt new file mode 100644 index 000..c4e0c6a --- /dev/null +++ b/Tests/FindTIFF/CMakeLists.txt @@ -0,0 +1,10 @@ +add_test(NAME FindTIFF.Test COMMAND + ${CMAKE_CTEST_COMMAND} -C $ + -
[cmake-developers] [PATCH] FindTIFF: Add imported targets
- Add TIFF::TIFF imported target - Document imported target - Add testcase to test the standard variables and the imported target Also: - Add TIFF_INCLUDE_DIRS to match common practice - Update documentation generally, including documenting TIFF_INCLUDE_DIRS Patch attached. Regards, Roger>From d8f52434e7b86f55bdcdc4b2ca588f6d5f7daafa Mon Sep 17 00:00:00 2001 From: Roger Leigh Date: Wed, 2 Dec 2015 17:20:24 + Subject: [PATCH] FindTIFF: Add imported targets and update documentation - Add TIFF::TIFF imported target - Document imported target - Add testcase to test the standard variables and the imported target Also: - Add TIFF_INCLUDE_DIRS to match common practice - Update documentation generally, including documenting TIFF_INCLUDE_DIRS --- Modules/FindTIFF.cmake | 67 -- Tests/CMakeLists.txt | 4 +++ Tests/FindTIFF/CMakeLists.txt | 10 ++ Tests/FindTIFF/Test/CMakeLists.txt | 17 ++ Tests/FindTIFF/Test/main.c | 12 +++ 5 files changed, 100 insertions(+), 10 deletions(-) create mode 100644 Tests/FindTIFF/CMakeLists.txt create mode 100644 Tests/FindTIFF/Test/CMakeLists.txt create mode 100644 Tests/FindTIFF/Test/main.c diff --git a/Modules/FindTIFF.cmake b/Modules/FindTIFF.cmake index ed092ea..e49a00d 100644 --- a/Modules/FindTIFF.cmake +++ b/Modules/FindTIFF.cmake @@ -2,24 +2,43 @@ # FindTIFF # # -# Find TIFF library +# Find the TIFF library (libtiff). # -# Find the native TIFF includes and library This module defines +# Imported targets +# # -# :: +# This module defines the following :prop_tgt:`IMPORTED` targets: # -# TIFF_INCLUDE_DIR, where to find tiff.h, etc. -# TIFF_LIBRARIES, libraries to link against to use TIFF. -# TIFF_FOUND, If false, do not try to use TIFF. +# ``TIFF::TIFF`` +# The TIFF library, if found. # -# also defined, but not for general use are +# Result variables +# # -# :: +# This module will set the following variables in your project: # -# TIFF_LIBRARY, where to find the TIFF library. +# ``TIFF_FOUND`` +# true if the TIFF headers and libraries were found +# ``TIFF_INCLUDE_DIR`` +# the directory containing the TIFF headers +# ``TIFF_INCLUDE_DIRS`` +# the directory containing the TIFF headers +# ``TIFF_LIBRARIES`` +# TIFF libraries to be linked +# +# Cache variables +# ^^^ +# +# The following cache variables may also be set: +# +# ``TIFF_INCLUDE_DIR`` +# the directory containing the TIFF headers +# ``TIFF_LIBRARY`` +# the path to the TIFF library #= # Copyright 2002-2009 Kitware, Inc. +# Copyright 2015 University of Dundee # # Distributed under the OSI-approved BSD License (the "License"); # see accompanying file Copyright.txt for details. @@ -65,7 +84,35 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF VERSION_VAR TIFF_VERSION_STRING) if(TIFF_FOUND) - set( TIFF_LIBRARIES ${TIFF_LIBRARY} ) + set(TIFF_LIBRARIES ${TIFF_LIBRARY}) + set(TIFF_INCLUDE_DIRS "${TIFF_INCLUDE_DIR}") + + if(NOT TARGET TIFF::TIFF) +add_library(TIFF::TIFF UNKNOWN IMPORTED) +if(TIFF_INCLUDE_DIRS) + set_target_properties(TIFF::TIFF PROPERTIES +INTERFACE_INCLUDE_DIRECTORIES "${TIFF_INCLUDE_DIRS}") +endif() +if(EXISTS "${TIFF_LIBRARY}") + set_target_properties(TIFF::TIFF PROPERTIES +IMPORTED_LINK_INTERFACE_LANGUAGES "C" +IMPORTED_LOCATION "${TIFF_LIBRARY}") +endif() +if(EXISTS "${TIFF_LIBRARY_DEBUG}") + set_property(TARGET TIFF::TIFF APPEND PROPERTY +IMPORTED_CONFIGURATIONS DEBUG) + set_target_properties(TIFF::TIFF PROPERTIES +IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C" +IMPORTED_LOCATION_DEBUG "${TIFF_LIBRARY_DEBUG}") +endif() +if(EXISTS "${TIFF_LIBRARY_RELEASE}") + set_property(TARGET TIFF::TIFF APPEND PROPERTY +IMPORTED_CONFIGURATIONS RELEASE) + set_target_properties(TIFF::TIFF PROPERTIES +IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C" +IMPORTED_LOCATION_RELEASE "${TIFF_LIBRARY_RELEASE}") +endif() + endif() endif() mark_as_advanced(TIFF_INCLUDE_DIR TIFF_LIBRARY) diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt index 5fd7159..a040ec0 100644 --- a/Tests/CMakeLists.txt +++ b/Tests/CMakeLists.txt @@ -1367,6 +1367,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release add_subdirectory(FindOpenSSL) endif() + if(CMake_TEST_FindTIFF) +add_subdirectory(FindTIFF) + endif() + if(CMake_TEST_FindXercesC) add_subdirectory(FindXercesC) endif() diff --git a/Tests/FindTIFF/CMakeLists.txt b/Tests/FindTIFF/CMakeLists.txt new file mode 100644 index 000..c4e0c6a --- /dev/null +++ b/Tests/FindTIFF/CMakeLists.txt @@ -0,0 +1,10 @@ +add_test(NAME FindTIFF.Test COMMAND + ${CMAKE_CTEST_COMMAND} -C $ + --build-and-test + "$
Re: [cmake-developers] Add CXX_STANDARD support for Intel C++ compilers
On 12/02/2015 10:31 AM, Levi Morrison wrote: > Hmm. What is the purpose of this module? I verified that indeed my > changeset somehow breaks this test but I don't even understand what it > is trying to do. At a glance it looks like even *more* duplication of > feature detection. Please tell me I'm wrong. It re-uses the Modules/Compiler/--FeatureTests.cmake information to generate a header file that projects can include to check for the availability of features. The header can then be installed and re-used by clients of such projects even if they do not use CMake. The test checks that those results are consistent with the features detected by CMake. -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] Add CXX_STANDARD support for Intel C++ compilers
On Tue, Dec 1, 2015 at 11:11 AM, Brad King wrote: > On 12/01/2015 12:47 PM, Levi Morrison wrote: >> I am having trouble reproducing this failure. When I do an >> unrestricted ctest (test everything) it will fail, but if I do >> something like `ctest -VV -R WriteCompilerDetectionHeader` it will >> pass. Any ideas? > > Try ensuring that it is a fresh run of the test: > > $ rm -rf Tests/Module/WriteCompilerDetectionHeader > $ ctest -R Module.WriteCompilerDetectionHeader -V > > The 'RunCMake' tests always run fresh, but many others are > incremental. > > -Brad > Hmm. What is the purpose of this module? I verified that indeed my changeset somehow breaks this test but I don't even understand what it is trying to do. At a glance it looks like even *more* duplication of feature detection. Please tell me I'm wrong. -- 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] [PATCH] FindBoost: Add imported targets
On 12/02/2015 09:34 AM, rle...@codelibre.net wrote: > I have updated both as requested, please find the updated patch attached. Great. I've merged the topic to 'next' for testing: Merge topic 'FindBoost-imported-targets' into next https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e5ecb126 I also enabled CMake_TEST_FindBoost on a dashboard machine that has Boost installed. 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] [PATCH] FindBoost: Add imported targets
> On 12/01/2015 05:11 PM, Roger Leigh wrote: >> Attached. I also attached the BoostScanDeps raw output and after >> search-and-replace to make into valid cmake conditionals, and then after >> simplifying where following release dependencies are unchanged, so you >> can see where the logic in FindBoost comes from. > > Thanks. That is a nice breakdown. > > Please revies the "FindBoost: Embed component dependency table" commit > message to explain the steps used to run the script and ultimately get > the content added by the commit. > >> + # Note: When adding a new Boost release, also update the dependency >> + # information in _Boost_COMPONENT_DEPENDENCIES > > This is a good note. Please extend it with a reference to instructions > somewhere on how to actually perform the update. I have updated both as requested, please find the updated patch attached. Regards, Roger >From 3db45dbf0f41279dbf1b5288167cb96a84bef3fe Mon Sep 17 00:00:00 2001 From: Roger Leigh Date: Tue, 1 Dec 2015 21:53:50 + Subject: [PATCH 2/5] FindBoost: Embed component dependency table The function _Boost_COMPONENT_DEPENDENCIES is used to query the library dependencies for a given component for a given version of Boost. This covers Boost releases from 1.33 to 1.59, using the information generated by Utilities/Scripts/BoostScanDeps.cmake. --- Modules/FindBoost.cmake | 221 1 file changed, 221 insertions(+) diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake index 33e6a49..41b728d 100644 --- a/Modules/FindBoost.cmake +++ b/Modules/FindBoost.cmake @@ -472,6 +472,223 @@ function(_Boost_GUESS_COMPILER_PREFIX _ret) endfunction() # +# Get component dependencies. Requires the dependencies to have been +# defined for the Boost release version. +# +# component - the component to check +# _ret - list of library dependencies +# +function(_Boost_COMPONENT_DEPENDENCIES component _ret) + # Note: to add a new Boost release, run + # + # % cmake -DBOOST_DIR=/path/to/boost/source -P Utilities/Scripts/BoostScanDeps.cmake + # + # The output may be added in a new block below. If it's the same as + # the previous release, simply update the version range of the block + # for the previous release. + # + # This information was originally generated by running + # BoostScanDeps.cmake against every boost release to date supported + # by FindBoost: + # + # % for version in /path/to/boost/sources/* + # do + # cmake -DBOOST_DIR=$version -P Utilities/Scripts/BoostScanDeps.cmake + # done + # + # The output was then updated by search and replace with these regexes: + # + # - Strip message(STATUS) prefix dashes + # s;^-- ;; + # - Indent + # s;^set(;set(;; + # - Add conditionals + # s;Scanning /path/to/boost/sources/boost_\(.*\)_\(.*\)_\(.*); elseif(NOT Boost_VERSION VERSION_LESS \10\20\3 AND Boost_VERSION VERSION_LESS ); + # + # This results in the logic seen below, but will require the + # replacing with the following Boost release version (or the next + # minor version to be released, e.g. 1.59 was the latest at the time + # of writing, making 1.60 the next, so 106000 is the needed version + # number). Identical consecutive releases were then merged together + # by updating the end range of the first block and removing the + # following redundant blocks. + # + # Running the script against all historical releases should be + # required only if the BoostScanDeps.cmake script logic is changed. + # The addition of a new release should only require it to be run + # against the new release. + set(_Boost_IMPORTED_TARGETS TRUE) + if(NOT Boost_VERSION VERSION_LESS 103300 AND Boost_VERSION VERSION_LESS 103500) +set(_Boost_IOSTREAMS_DEPENDENCIES regex thread) +set(_Boost_REGEX_DEPENDENCIES thread) +set(_Boost_WAVE_DEPENDENCIES filesystem thread) +set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) + elseif(NOT Boost_VERSION VERSION_LESS 103500 AND Boost_VERSION VERSION_LESS 103600) +set(_Boost_FILESYSTEM_DEPENDENCIES system) +set(_Boost_IOSTREAMS_DEPENDENCIES regex) +set(_Boost_MPI_DEPENDENCIES serialization) +set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization) +set(_Boost_WAVE_DEPENDENCIES filesystem system thread) +set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) + elseif(NOT Boost_VERSION VERSION_LESS 103600 AND Boost_VERSION VERSION_LESS 103800) +set(_Boost_FILESYSTEM_DEPENDENCIES system) +set(_Boost_IOSTREAMS_DEPENDENCIES regex) +set(_Boost_MATH_DEPENDENCIES math_c99 math_c99f math_c99l math_tr1 math_tr1f math_tr1l) +set(_Boost_MPI_DEPENDENCIES serialization) +set(_Boost_MPI_PYTHON_DEPENDENCIES python mpi serialization) +set(_Boost_WAVE_DEPENDENCIES filesystem system thread) +set(_Boost_WSERIALIZATION_DEPENDENCIES serialization) + elseif(NOT Boost_VERSION VERSION_LESS 103800 AND Boost_VERSION VERSION_LESS 104300) +set(_Boost_FILESYSTEM
Re: [cmake-developers] [PATCH] FindBoost: Add imported targets
On 12/01/2015 05:11 PM, Roger Leigh wrote: > Attached. I also attached the BoostScanDeps raw output and after > search-and-replace to make into valid cmake conditionals, and then after > simplifying where following release dependencies are unchanged, so you > can see where the logic in FindBoost comes from. Thanks. That is a nice breakdown. Please revies the "FindBoost: Embed component dependency table" commit message to explain the steps used to run the script and ultimately get the content added by the commit. > + # Note: When adding a new Boost release, also update the dependency > + # information in _Boost_COMPONENT_DEPENDENCIES This is a good note. Please extend it with a reference to instructions somewhere on how to actually perform the update. 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] Fw: Please comment on ios-universal topic
Hi. Currently we already support similar target properties: - INSTALL_NAME_DIR - INSTALL_RPATH - INSTALL_RPATH_USE_LINK_PATH It will be great to follow the same name convention. Because this new property is only applicable for INSTALL step, I would like to propose to rename property name to INSTALL_IOS_UNIVERSAL_LIBS. What do you think about that idea? From: cmake-developers on behalf of Gregor Jasny via cmake-developers Sent: Tuesday, December 1, 2015 3:22 PM To: CMake Developers; Ruslan Baratov Subject: [cmake-developers] Please comment on ios-universal topic Hello, During the last days I worked on the iOS Universal Install topic which now would benefit from a review. Especially the core changes could need a third pair of eyes: https://cmake.org/gitweb?p=stage/cmake.git;a=commit;h=8fb23b42cfc2fb7490e8645fff328add9c231713 I will now concentrate on adding more tests during the next days. Thank you, Gregor -- 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