Re: [CMake] install(TARGETS) does not work with configuration-specific destinations
I forgot to mention that, by contrast, elsewhere I have the following working code. So install(FILES) seems to work fine with multiple calls for different configurations. install( FILES $TARGET_FILE_DIR:corelib/some_file.txt COMPONENT platform DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE} CONFIGURATIONS Release RelWithDebInfo MinSizeRel) install( FILES $TARGET_FILE_DIR:corelib/some_file.txt COMPONENT platform DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG} CONFIGURATIONS Debug PDebug) On 8 June 2015 at 18:32, Alessio masariello+cmake@gmail.com wrote: Hi The below CMake code is causing my targets to get installed twice in the same tarball when I invoke cpack with the following command line ${CPACK_COMMAND} -G ${cpack_gen} --config ${CMAKE_CURRENT_BINARY_DIR}/${package_cfg_file} -C $CONFIGURATION The generated cmake_install.cmake in fact contains two fiel(INSTALL) sections for every target like the one at the bottom. Using \${CMAKE_INSTALL_CONFIG_NAME} as suggested in reference (1) does not quite work for me. I would like the installed directory to have a name of my choosing, rather than relying on the name of the configuration. Can this be done at all? Is there a single-call install(TARGETS) signature that gives me what I want? Thank you very much for any light you can shed on this. -alessio THE CMAKE INSTALL CODE WITH THE PROBLEM --- set(${PROJECT_NAME}_INSTALL_RUNTIME_RELEASErelease) set(${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG debug) install(TARGETS ${target} COMPONENT ${component} RUNTIME DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE} LIBRARY DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE} CONFIGURATIONS Release MinSizeRel RelWithDebInfo) install(TARGETS ${target} COMPONENT ${component} RUNTIME DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG} LIBRARY DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG} CONFIGURATIONS Debug PDebug) SAMPLE cmake_install.cmake SECTION -- if(NOT CMAKE_INSTALL_COMPONENT OR ${CMAKE_INSTALL_COMPONENT} STREQUAL platform) if(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Dd][Ee][Bb][Uu][Gg])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/Debug/testapp-d.dll) elseif(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/Release/testapp.dll) elseif(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Mm][Ii][Nn][Ss][Ii][Zz][Ee][Rr][Ee][Ll])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/MinSizeRel/testapp-ms.dll) elseif(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/RelWithDebInfo/testapp-rd.dll) elseif(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Pp][Dd][Ee][Bb][Uu][Gg])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/PDebug/testapp-pd.dll) endif() endif() REFERENCES -- (1) http://www.cmake.org/pipermail/cmake/2010-May/036979.html -- 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
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-244-g06d2158
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 06d21584b51c2de5d520e3d201053a2a7d0af5be (commit) via 12436efc1483e8e0e5fd6ce616c0b8ed94af72a3 (commit) from ef14e90a3fad93cc61c05560c364b8e22b9cbc92 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=06d21584b51c2de5d520e3d201053a2a7d0af5be commit 06d21584b51c2de5d520e3d201053a2a7d0af5be Merge: ef14e90 12436ef Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 14:16:47 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 14:16:47 2015 -0400 Merge topic 'ctest-script-mode-no-legacy-cygwin' into next 12436efc ctest: Disable CMake Cygwin legacy warning in dashboard client script http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=12436efc1483e8e0e5fd6ce616c0b8ed94af72a3 commit 12436efc1483e8e0e5fd6ce616c0b8ed94af72a3 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 14:13:47 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 14:16:28 2015 -0400 ctest: Disable CMake Cygwin legacy warning in dashboard client script In ctest -S mode we load the CTestScriptMode module to give the configuration scripts access to the host system information. CYGWIN.cmake warns unless we explicitly tell it not to warn since there is no chance for a cmake_minimum_required(VERSION) to be called. diff --git a/Source/CTest/cmCTestScriptHandler.cxx b/Source/CTest/cmCTestScriptHandler.cxx index 1e493b0..047bd98 100644 --- a/Source/CTest/cmCTestScriptHandler.cxx +++ b/Source/CTest/cmCTestScriptHandler.cxx @@ -421,6 +421,10 @@ int cmCTestScriptHandler::ReadInScript(const std::string total_script_arg) this-Makefile-AddDefinition(CTEST_SCRIPT_ARG, script_arg.c_str()); } +#if defined(__CYGWIN__) + this-Makefile-AddDefinition(CMAKE_LEGACY_CYGWIN_WIN32, 0); +#endif + // always add a function blocker to update the elapsed time cmCTestScriptFunctionBlocker *f = new cmCTestScriptFunctionBlocker(); f-CTestScriptHandler = this; --- Summary of changes: Source/CTest/cmCTestScriptHandler.cxx |4 1 file changed, 4 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[cmake-developers] Add more RST markup to documentation
Hi, I've done some work on the commands documentation, generally adding more RST markup, as part of the Mantis issue 0015587. I've attached the proposed patch to this email, please let me know if there are any incorrect changes to the documentation in the patch. Michael Scott From 8cfbfb00bfacc66db9ce50b82da666c9231b4460 Mon Sep 17 00:00:00 2001 From: Michael Scott michael.scott...@gmail.com Date: Thu, 4 Jun 2015 22:51:22 +0100 Subject: [PATCH] Added additional RST markup to the commands documentation. --- Help/command/add_subdirectory.rst | 14 +-- Help/command/aux_source_directory.rst | 2 +- Help/command/build_name.rst| 5 +- Help/command/cmake_host_system_information.rst | 6 +- Help/command/cmake_minimum_required.rst| 2 +- Help/command/create_test_sourcelist.rst| 18 +-- Help/command/ctest_run_script.rst | 6 +- Help/command/ctest_start.rst | 2 +- Help/command/define_property.rst | 28 ++--- Help/command/else.rst | 2 +- Help/command/elseif.rst| 2 +- Help/command/enable_language.rst | 2 +- Help/command/enable_testing.rst| 8 +- Help/command/endforeach.rst| 4 +- Help/command/endfunction.rst | 2 +- Help/command/endif.rst | 2 +- Help/command/endmacro.rst | 2 +- Help/command/endwhile.rst | 2 +- Help/command/exec_program.rst | 8 +- Help/command/execute_process.rst | 14 +-- Help/command/export.rst| 18 +-- Help/command/export_library_dependencies.rst | 12 +- Help/command/find_library.rst | 10 +- Help/command/fltk_wrap_ui.rst | 2 +- Help/command/foreach.rst | 6 +- Help/command/get_cmake_property.rst| 8 +- Help/command/get_directory_property.rst| 6 +- Help/command/get_filename_component.rst| 12 +- Help/command/get_source_file_property.rst | 10 +- Help/command/get_target_property.rst | 6 +- Help/command/get_test_property.rst | 8 +- Help/command/include.rst | 18 +-- Help/command/include_external_msproject.rst| 6 +- Help/command/include_regular_expression.rst| 4 +- Help/command/install_files.rst | 18 +-- Help/command/install_programs.rst | 23 ++-- Help/command/install_targets.rst | 12 +- Help/command/link_directories.rst | 8 +- Help/command/list.rst | 48 Help/command/load_cache.rst| 4 +- Help/command/load_command.rst | 6 +- Help/command/make_directory.rst| 2 +- Help/command/mark_as_advanced.rst | 8 +- Help/command/math.rst | 2 +- Help/command/message.rst | 2 +- Help/command/option.rst| 6 +- Help/command/qt_wrap_cpp.rst | 2 +- Help/command/qt_wrap_ui.rst| 6 +- Help/command/remove.rst| 8 +- Help/command/remove_definitions.rst| 6 +- Help/command/return.rst| 14 +-- Help/command/separate_arguments.rst| 8 +- Help/command/set_target_properties.rst | 145 + Help/command/string.rst| 66 +-- Help/command/subdirs.rst | 12 +- Help/command/unset.rst | 10 +- Help/command/utility_source.rst| 4 +- Help/command/variable_requires.rst | 8 +- Help/command/while.rst | 8 +- Help/command/write_file.rst| 14 +-- 60 files changed, 357 insertions(+), 350 deletions(-) diff --git a/Help/command/add_subdirectory.rst b/Help/command/add_subdirectory.rst index 29b5017..e979253 100644 --- a/Help/command/add_subdirectory.rst +++ b/Help/command/add_subdirectory.rst @@ -12,23 +12,23 @@ Add a subdirectory to the build. The source_dir specifies the directory in which the source CMakeLists.txt and code files are located. If it is a relative path it will be evaluated with respect to the current directory (the typical usage), but it may also be an -absolute path. The binary_dir specifies the directory in which to +absolute path. The ``binary_dir`` specifies the directory in which to place the output files. If it is a relative path it will be evaluated with respect to the current output directory, but it may also be an -absolute path. If binary_dir is not specified, the value of -source_dir, before expanding any relative path, will be used (the +absolute path. If ``binary_dir`` is not specified, the
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-255-g5b810f6
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 5b810f62f12feabf0a77265b68ac5d33c6e7161c (commit) via 3de3544fcd38680652d5bbe0790b78477ffa26f1 (commit) via 8c64c4783dde25d84b1549945b95d192c1b7fd68 (commit) via 25b4483ef8d6f6f074f05cf99e0282abf22d8939 (commit) via e2f349864dea91bec1d4c07428ab94225ff589dd (commit) from 1dc15ca4be6f66cfe33c86b41665cb7c4962567a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5b810f62f12feabf0a77265b68ac5d33c6e7161c commit 5b810f62f12feabf0a77265b68ac5d33c6e7161c Merge: 1dc15ca 3de3544 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 15:53:39 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 15:53:39 2015 -0400 Merge topic 'doc-find-command-cleanup' into next 3de3544f Help: Improve documentation formatting of find_* commands 8c64c478 Help: Document CMAKE_FIND_APPBUNDLE and CMAKE_FIND_FRAMEWORK 25b4483e Help: Document CMAKE_SYSTEM_APPBUNDLE_PATH variable e2f34986 Help: Document CMAKE_SYSTEM_FRAMEWORK_PATH variable http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3de3544fcd38680652d5bbe0790b78477ffa26f1 commit 3de3544fcd38680652d5bbe0790b78477ffa26f1 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 15:52:21 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 15:52:21 2015 -0400 Help: Improve documentation formatting of find_* commands Use inline reStructuredText markup and add cross-references in more places. diff --git a/Help/command/FIND_XXX.txt b/Help/command/FIND_XXX.txt index 474127d..966db06 100644 --- a/Help/command/FIND_XXX.txt +++ b/Help/command/FIND_XXX.txt @@ -33,36 +33,42 @@ and the search will not be repeated unless the variable is cleared. If nothing is found, the result will be ``VAR-NOTFOUND``, and the search will be attempted again the next time |FIND_XXX| is invoked with the same variable. -The name of the |SEARCH_XXX| that -is searched for is specified by the names listed -after the NAMES argument. Additional search locations -can be specified after the PATHS argument. If ENV var is -found in the HINTS or PATHS section the environment variable var -will be read and converted from a system environment variable to -a cmake style list of paths. For example ENV PATH would be a way -to list the system path variable. The argument -after DOC will be used for the documentation string in -the cache. -PATH_SUFFIXES specifies additional subdirectories to check below -each search path. - -If NO_DEFAULT_PATH is specified, then no additional paths are + +Options include: + +``NAMES`` + Specify one or more possible names for the |SEARCH_XXX|. + +``HINTS``, ``PATHS`` + Specify directories to search in addition to the default locations. + The ``ENV var`` sub-option reads paths from a system environment + variable. + +``PATH_SUFFIXES`` + Specify additional subdirectories to check below each directory + location otherwise considered. + +``DOC`` + Specify the documentation string for the ``VAR`` cache entry. + +If ``NO_DEFAULT_PATH`` is specified, then no additional paths are added to the search. -If NO_DEFAULT_PATH is not specified, the search process is as follows: +If ``NO_DEFAULT_PATH`` is not specified, the search process is as follows: .. |CMAKE_PREFIX_PATH_XXX_SUBDIR| replace:: - prefix/|XXX_SUBDIR| for each prefix in CMAKE_PREFIX_PATH + |prefix_XXX_SUBDIR| for each ``prefix`` in :variable:`CMAKE_PREFIX_PATH` .. |SYSTEM_ENVIRONMENT_PREFIX_PATH_XXX_SUBDIR| replace:: - prefix/|XXX_SUBDIR| for each prefix/[s]bin in PATH, and - entry/|XXX_SUBDIR| for other entries in PATH + |prefix_XXX_SUBDIR| for each ``prefix/[s]bin`` in ``PATH``, and + |entry_XXX_SUBDIR| for other entries in ``PATH`` .. |CMAKE_SYSTEM_PREFIX_PATH_XXX_SUBDIR| replace:: - prefix/|XXX_SUBDIR| for each prefix in CMAKE_SYSTEM_PREFIX_PATH + |prefix_XXX_SUBDIR| for each ``prefix`` in + :variable:`CMAKE_SYSTEM_PREFIX_PATH` 1. Search paths specified in cmake-specific cache variables. - These are intended to be used on the command line with a -DVAR=value. - This can be skipped if NO_CMAKE_PATH is passed. + These are intended to be used on the command line with a ``-DVAR=value``. + This can be skipped if ``NO_CMAKE_PATH`` is passed. * |CMAKE_PREFIX_PATH_XXX| * |CMAKE_XXX_PATH| @@ -70,24 +76,24 @@ If NO_DEFAULT_PATH is not specified, the search process is as follows: 2. Search paths specified in cmake-specific environment variables. These are intended to be set in the user's
Re: [cmake-developers] A policy for Policies
Stephen Kelly wrote: Thanks for the clarification. I've added an entry to the release notes that CMP0011 is deprecated, and I can add something similar for CMP0003. Given what you wrote about the impact of making CMP0011 required, I've instead documented all policies = CMP0011 as deprecated for 3.3, making them fair-game for 3.4. Thanks, Steve. -- 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] install(TARGETS) does not work with configuration-specific destinations
Hi The below CMake code is causing my targets to get installed twice in the same tarball when I invoke cpack with the following command line ${CPACK_COMMAND} -G ${cpack_gen} --config ${CMAKE_CURRENT_BINARY_DIR}/${package_cfg_file} -C $CONFIGURATION The generated cmake_install.cmake in fact contains two fiel(INSTALL) sections for every target like the one at the bottom. Using \${CMAKE_INSTALL_CONFIG_NAME} as suggested in reference (1) does not quite work for me. I would like the installed directory to have a name of my choosing, rather than relying on the name of the configuration. Can this be done at all? Is there a single-call install(TARGETS) signature that gives me what I want? Thank you very much for any light you can shed on this. -alessio THE CMAKE INSTALL CODE WITH THE PROBLEM --- set(${PROJECT_NAME}_INSTALL_RUNTIME_RELEASErelease) set(${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG debug) install(TARGETS ${target} COMPONENT ${component} RUNTIME DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE} LIBRARY DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_RELEASE} CONFIGURATIONS Release MinSizeRel RelWithDebInfo) install(TARGETS ${target} COMPONENT ${component} RUNTIME DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG} LIBRARY DESTINATION ${${PROJECT_NAME}_INSTALL_RUNTIME_DEBUG} CONFIGURATIONS Debug PDebug) SAMPLE cmake_install.cmake SECTION -- if(NOT CMAKE_INSTALL_COMPONENT OR ${CMAKE_INSTALL_COMPONENT} STREQUAL platform) if(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Dd][Ee][Bb][Uu][Gg])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/Debug/testapp-d.dll) elseif(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Rr][Ee][Ll][Ee][Aa][Ss][Ee])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/Release/testapp.dll) elseif(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Mm][Ii][Nn][Ss][Ii][Zz][Ee][Rr][Ee][Ll])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/MinSizeRel/testapp-ms.dll) elseif(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Rr][Ee][Ll][Ww][Ii][Tt][Hh][Dd][Ee][Bb][Ii][Nn][Ff][Oo])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/RelWithDebInfo/testapp-rd.dll) elseif(${CMAKE_INSTALL_CONFIG_NAME} MATCHES ^([Pp][Dd][Ee][Bb][Uu][Gg])$) file(INSTALL DESTINATION ${CMAKE_INSTALL_PREFIX}/release TYPE SHARED_LIBRARY FILES E:/Views/build/testapp/PDebug/testapp-pd.dll) endif() endif() REFERENCES -- (1) http://www.cmake.org/pipermail/cmake/2010-May/036979.html -- 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
Re: [cmake-developers] A policy for Policies
On 06/08/2015 03:52 PM, Stephen Kelly wrote: Given what you wrote about the impact of making CMP0011 required, I've instead documented all policies = CMP0011 as deprecated for 3.3, making them fair-game for 3.4. Sorry, but that schedule is way too aggressive since we've never removed policies before. There may be unforeseen problems with enforcing these policy settings. There could still be code paths that never set the minimum required version of CMake and therefore never set the policy to NEW. Any refactoring that depends on removing support for OLD behavior needs to wait until after a release or two have removed it. We need to retain the possibility to revert the removal if major problems arise. I don't want the fallback to be re-implement post-refactoring because typically this may be revealed during a release candidate cycle. Also, no mention of this decision can be made in 3.3 because we are already past the deadline for that release. -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-commits] CMake branch, next, updated. v3.3.0-rc1-242-gef14e90
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via ef14e90a3fad93cc61c05560c364b8e22b9cbc92 (commit) via d17aa60659a1a69f9101c61a149eca5842291226 (commit) via ccc6fe94453444ebd5e655a9f90a5d074049f846 (commit) via 21c92a00bf50afedf52388c5f5a73cba7f756561 (commit) via f5690cc57c0cd18ee8619332379f523c8fac46a1 (commit) via d18852d5961584125ae113fae23f4b55a760e159 (commit) from 3619ae8de984c60ce34c3471ef95a38f61eeaf99 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ef14e90a3fad93cc61c05560c364b8e22b9cbc92 commit ef14e90a3fad93cc61c05560c364b8e22b9cbc92 Merge: 3619ae8 d17aa60 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 13:54:40 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 13:54:40 2015 -0400 Merge branch 'master' into next --- Summary of changes: hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [cmake-developers] A policy for Policies
Brad King wrote: On 06/06/2015 06:36 AM, Stephen Kelly wrote: The documentation notes that Policies are not feature toggles: http://www.cmake.org/cmake/help/git-master/manual/cmake-policies.7.html However, the reality is that Policies *are* feature toggles because they are so long-lived. Users have no expectation that Policies will 'stop working', and happily set them to OLD and encourage others to do the same. I see this on StackOverflow all the time, and on the users mailing list. Yes. Documentation is never enough to discourage such decisions. When faced with the choice of add this line or read and understand the policy and port your code to the new behavior while possibly maintaining compatibility with versions of cmake that do not have the policy, which one will many users pick? For most software out there, users get no choice. They upgrade, get an error with NEW behavior, and apply a workaround or search the internet for a workaround, and they're done. I like that the cmake Policy system allows something better, but I think it is not well-understood because it is unique. I know nothing else like it. For most Policies, the only question is whether a) a good workaround will be chosen, or b) the policy will be set to OLD. For example, on hitting CMP0002 the right approach would be to use unique target names. That policy was easy to overcome because it indicates a pure error in user code which can be fixed without affecting behavior of any cmake version on the code. CMP0020 is a little harder to deal with. Instead of setting it to OLD, users would have to change their code to contain an if() for the CMAKE_VERSION, and it doesn't indicate an error in the user code, but just a new behavior of CMake. But it is low-impact. CMP0024 also falls into this category. CMP0022 is higher impact, and also indicates only a new behavior but not an error in user code. It is quite easy to deal with though as user code can choose some lowest common denominator or use if() on the CMake version. CMP0026 is high impact and hard to deal with for users. Most Policies which are only about new CMake behavior are introduced several releases after new preferred features, such as CMP0043. I think it should be ok to deprecate/remove OLD behavior of Policies falling into the category with CMP0002 without waiting 5 years. For most of the other categories, I think 5 years is too long because the user code can gain a if() on the CMAKE_VERSION. We should consider the impact of the Policy on users, the difficulty of doing the right thing, and the impact on the cmake implementation, not just time. I don't see any reason to wait 5 years for CMP0044 for example. 2 years is also long for that one, but it doesn't have a very bad impact on the cmake implementation anyway either, so making it REQUIRED_ALWAYS would be a very small cleanup. Making CMP0003 REQUIRED_ALWAYS would be a big cleanup, and actually is also something I think we should do for CMake 3.4 as it would help my refactoring. It is now 7 years old. Making it REQUIRED_IF_USED would make it easier to implement saner CMP0024 and CMP0026 OLD behavior I think. will then result in an error if code attempts to set it to OLD, and recommend the user to use an older release or fix the code instead. It is not just explicit attempts to set the policy to OLD that will give an error. It is any time CMake needs to know the policy setting and it has not been set to NEW either explicitly or by use of cmake_minimum_required with a sufficiently recent version. Right. Implementations of policies typically determine whether checking the policy is needed before actually checking it. So it will only try to determine the CMP0044 behavior at all if a case insensitive match is found. For most projects, that will not ever have been the case. The same scenario is true for many policies. In the case of CMP0011, the include() command will be used all over even within CMake's own modules and trigger query of the policy. This makes REQUIRED_IF_USED effectively REQUIRED_ALWAYS. This means any project that does not call cmake_minimum_required with version 2.6.3 will not be able to build with newer CMake versions. The only recourse a user will have to get such a project building will be to edit the source or try setting the policy to NEW using CMAKE_POLICY_DEFAULT_CMP: Thanks for the clarification. I've added an entry to the release notes that CMP0011 is deprecated, and I can add something similar for CMP0003. This may be okay for CMP0011, but CMP0024 and CMP0026 were much more recent (3.0). I think 5 years is a more reasonable cut-off than 2 years, especially given the time it takes CMake versions included in older distro releases to fall out of common use. I think 5 years is too long for most policies, at least those which are easy for third party maintainers to deal with. You seem to be thinking here about the
[CMake] cmake automoc fails when enabling autorcc
Hi, can someone explain to me what goes wrong? I am using Visual Studio 2010. CMake is 3.2.2 but also I tried 3.3-rc1. I created a small example that shows the problem. I created it from scratch and it instantly fails for me. You need to create a foo.png to get the qrc to actually create the source file (actually 2nd bug that CMake doesn't warn here). First run, comment out the onTst2 slot function (both h and cpp file), it should build. Then comment it before 2nd run. I get: error C3861: 'onTst2': identifier not found (moc_main.cpp) This file is auto-generated and thus was not updated. - Should not happen. I also tried to manually run cmake, it won't help. However, commenting mainx.qrc helps! Or using qt4_add_resources() and disabling CMAKE_AUTORCC! Suddenly, the bugtest_automoc target is gone in VS and it compiles again, even after adding/removing Qt slot functions. BTW, why is this target called bugtest_automoc and not bugtest_autogen? The whole thing looks strange as bugtest target still has a qrc_mainx.cpp.rule but bugtest_automoc also has such a rule. The bugtest.automoc.rule file properties show no real command: - setlocal cd D:\bugtest\cmake-autogen\build if %errorlevel% neq 0 goto :cmEnd D: if %errorlevel% neq 0 goto :cmEnd :cmEnd endlocal call :cmErrorLevel %errorlevel% goto :cmDone :cmErrorLevel exit /b %1 :cmDone if %errorlevel% neq 0 goto :VCEnd - Is that supposed to actually do something? Can someone point me to a possible solution? I'm back to qt4_add_resources() for now. Regards, HS CMakeLists.txt: -- cmake_minimum_required ( VERSION 3.0.2 ) cmake_policy ( VERSION 3.0.2 ) project ( bugtest CXX ) find_package ( Qt4 ) set ( CMAKE_INCLUDE_CURRENT_DIR ON ) set ( CMAKE_AUTOMOC ON ) set ( CMAKE_AUTORCC ON ) add_executable ( bugtest main.cpp mainx.qrc ) target_link_libraries ( bugtest Qt4::QtCore ) -- main.h: -- #include QObject class tst1 : public QObject { Q_OBJECT public slots: void onTst1(); //void onTst2(); }; -- main.cpp: -- #include main.h void tst1::onTst1() { } // void tst1::onTst2() // { // } int main( int argc, char **argv) { return 0; } -- mainx.qrc: -- !DOCTYPE RCCRCC version=1.0 qresource filefoo.png/file /qresource /RCC -- -- 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
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc1-73-g21c92a0
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via 21c92a00bf50afedf52388c5f5a73cba7f756561 (commit) via 4ab7d407a5e46f91bf57fb1f9be7387ba989e0ec (commit) via e133e40937031004d11b0d16289cee1bf0dc5e4f (commit) via c197c6928128558e24ee094286e494e74b272f20 (commit) from f5690cc57c0cd18ee8619332379f523c8fac46a1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=21c92a00bf50afedf52388c5f5a73cba7f756561 commit 21c92a00bf50afedf52388c5f5a73cba7f756561 Merge: f5690cc 4ab7d40 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 13:54:07 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 13:54:07 2015 -0400 Merge topic 'minor-cleanups' 4ab7d407 cmExportTryCompileFileGenerator: Add newline between methods. e133e409 cmExportTryCompileFileGenerator: Remove unused variable. c197c692 cmDocumentation: Remove unused include. --- Summary of changes: Source/cmDocumentation.h |1 - Source/cmExportTryCompileFileGenerator.cxx |3 +-- 2 files changed, 1 insertion(+), 3 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc1-66-gd18852d
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via d18852d5961584125ae113fae23f4b55a760e159 (commit) via 59e21ffa134faf0b089d9a704b3763e7f6f237d5 (commit) via 242dcc2c22535c00348de18bba41605428ccdb73 (commit) via 1cff330b0fcd635f47047bd1a2d94f344e88c0f9 (commit) via 2f1bd62b2308c234b5c4bc749afa27c7b616bdf1 (commit) via 0f2a132437d7a553e20cc0427279c212b428e55d (commit) via 4d8b79ad7e132ff876d131526a03a21c4f424f33 (commit) via 8680520feab8421f79c9762f1d3b6b92384c0b1e (commit) via 6d7abb6326d422dabdf72e8486b492ac20f8b347 (commit) via a82441572493e4f420fca24041b594da9d3c14e6 (commit) via 1f4ef39603f3184ac3f78e1f52529947303b1bd1 (commit) from c8997d1b32c866b9f45c3af51e4abc431ca2ebc7 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d18852d5961584125ae113fae23f4b55a760e159 commit d18852d5961584125ae113fae23f4b55a760e159 Merge: c8997d1 59e21ff Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 13:54:02 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 13:54:02 2015 -0400 Merge topic 'extract-cmOutputConverter' 59e21ffa Port static calls from cmLocalGenerator to cmOutputConverter. 242dcc2c cmListFileBacktrace: Replace local generator with cmState::Snapshot. 1cff330b cmTarget: Port to cmOutputConverter. 2f1bd62b cmCustomCommandGenerator: Port to cmOutputConverter. 0f2a1324 cmCommandArgumentParserHelper: Port to cmOutputConverter. 4d8b79ad cmComputeLinkInformation: Port to cmOutputConverter. 8680520f cmMakefile: Make the cmState::Snapshot accessible. 6d7abb63 cmOutputConverter: Extract from cmLocalGenerator. a8244157 cmState::Snapshot: Provide accessor for the cmState. 1f4ef396 cmLocalGenerator: Remove some commented lines of code. --- Summary of changes: Source/CMakeLists.txt|2 + Source/cmCPackPropertiesGenerator.cxx|8 +- Source/cmCommandArgumentParserHelper.cxx |7 +- Source/cmComputeLinkInformation.cxx |6 +- Source/cmComputeLinkInformation.h|2 - Source/cmCoreTryCompile.cxx |6 +- Source/cmCustomCommandGenerator.cxx |7 +- Source/cmCustomCommandGenerator.h|2 - Source/cmIfCommand.cxx |2 +- Source/cmListFileCache.cxx |8 +- Source/cmListFileCache.h |8 +- Source/cmLocalGenerator.cxx | 423 +--- Source/cmLocalGenerator.h| 82 +- Source/cmLocalUnixMakefileGenerator3.cxx |6 +- Source/cmMakefile.cxx|9 +- Source/cmMakefile.h |2 + Source/cmMakefileTargetGenerator.cxx |4 +- Source/cmOutputConverter.cxx | 447 ++ Source/cmOutputConverter.h | 106 +++ Source/cmQtAutoGenerators.cxx| 40 +-- Source/cmState.cxx |5 + Source/cmState.h |2 + Source/cmTarget.cxx |6 +- Source/cmTestGenerator.cxx | 14 +- bootstrap|1 + 25 files changed, 637 insertions(+), 568 deletions(-) create mode 100644 Source/cmOutputConverter.cxx create mode 100644 Source/cmOutputConverter.h hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc1-110-gd17aa60
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via d17aa60659a1a69f9101c61a149eca5842291226 (commit) via 8174e5cd9424a7f45174562f21eb80eb06a3f3d0 (commit) via 34e1d6db722b34bb6b4f7b8a7ea53a0bb61c5f58 (commit) via 54cb76f299ebcdd07e59d3d0c61f1aa0ffe03a33 (commit) via b661d6c631884e48b27353b0ee9f4f0eb6f5eea7 (commit) via 40844a1487ea576987ecec148f77bbeebea9433d (commit) via b1ff32afc67799d08130d457347290a41e426ed0 (commit) via dd0417c7becb9d00bf60827d299b3d520bb138c5 (commit) via 125c48660ce5f58e8fa9371cfb9c192f42b19401 (commit) via 92b8b1fc3d885091cfef210216b682a389eaf2fb (commit) via 7f3e16239fd120eded5e23ee8a836d9e73119244 (commit) via d9df7fa70c854207bb36b45ca0fdca6665bd4bd8 (commit) via db24e41b9d939fb8ad9106f7a8511670505a8ad0 (commit) via 4cd13e80f00d4441112f400ff774d91a7fecfff8 (commit) via 3e087a408b4a5bad1eb079c61c982ce2dab0973a (commit) via e04217010345fd350d3ddd7897e47eb47eaec1d8 (commit) via c26696eb404888cec525bf3ee2e538ae8532156f (commit) via 41fef23b9b8bfa795e2d61e27b12f055ef9bbc39 (commit) via 647488570bfe7ce210bfd0675df0eb5147e36ab6 (commit) via 6f148e4a48f3f879998e67d9bb30de07f5cf5608 (commit) via 5181fae26ad7736614ceb1e78c51def2b97c (commit) via 3ac4b90bfdcca97f1f63056c97afee38cf66ea12 (commit) via 7c0aa672fe4f1b5c4a15a89d90cd80009a1399d0 (commit) via 9058e27a431b01319b18cc4099780fa017ada113 (commit) via 1c48edf8fc8cec71c780cbb1c587f10df0ab7185 (commit) via 93cc2eef38eab76831916bfee9d6fe16fbaaf4c1 (commit) via 44a8115797cc3f804d653928d71b126b39e29210 (commit) from ccc6fe94453444ebd5e655a9f90a5d074049f846 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d17aa60659a1a69f9101c61a149eca5842291226 commit d17aa60659a1a69f9101c61a149eca5842291226 Merge: ccc6fe9 8174e5c Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 13:54:11 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 13:54:11 2015 -0400 Merge topic 'data-layout' 8174e5cd cmCustomCommand: Remove special member functions. 34e1d6db cmCustomCommand: Re-arrange data layout. 54cb76f2 cmComputeLinkDepends: Re-arrange data layout. b661d6c6 cmQtAutoGenerators: Re-arrange data layout. 40844a14 cmProcessTools: Re-arrange data layout. b1ff32af cmOrderDirectories: Re-arrange data layout. dd0417c7 cmInstallTargetGenerator: Re-arrange data layout. 125c4866 cmInstallFilesGenerator: Re-arrange data layout. 92b8b1fc cmGraphVizWriter: Re-arrange data layout. 7f3e1623 cmGlobalGenerator: Re-arrange data layout. d9df7fa7 cmComputeComponentGraph: Re-arrange data layout. db24e41b cmCommandArgumentParserHelper: Re-arrange data. 4cd13e80 cmComputeLinkInformation: Re-arrange data layout. 3e087a40 cmLocalUnixMakefileGenerator: Re-arrange data layout. e0421701 cmMakefile: Re-arrange data layout. c26696eb cmSourceFile: Re-arrange data. ... diff --cc Source/cmMakefile.h index 46df37b,32223b4..6f6ed27 --- a/Source/cmMakefile.h +++ b/Source/cmMakefile.h @@@ -717,10 -715,12 +715,9 @@@ public void AppendProperty(const std::string prop, const char *value, bool asString=false); const char *GetProperty(const std::string prop) const; - const char *GetProperty(const std::string prop, - cmProperty::ScopeType scope) const; + const char *GetProperty(const std::string prop, bool chain) const; bool GetPropertyAsBool(const std::string prop) const; - const char* GetFeature(const std::string feature, - const std::string config); - // Get the properties cmPropertyMap GetProperties() { return this-Properties; } --- Summary of changes: Source/cmCPluginAPI.cxx | 15 ++- Source/cmCacheManager.cxx | 11 ++--- Source/cmCommandArgumentParserHelper.h|8 ++-- Source/cmComputeComponentGraph.h |4 +- Source/cmComputeLinkDepends.h | 18 +++- Source/cmComputeLinkInformation.h | 35 +++ Source/cmCustomCommand.cxx| 53 ++ Source/cmCustomCommand.h | 10 ++--- Source/cmGetCMakePropertyCommand.cxx |8 ++-- Source/cmGetDirectoryPropertyCommand.cxx |6 ++- Source/cmGetPropertyCommand.cxx |6 +--
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc1-69-gf5690cc
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via f5690cc57c0cd18ee8619332379f523c8fac46a1 (commit) via f573bd22e4049746b53789fc0502cff8423dbe56 (commit) via ccbc2259137fe61a770bb0b5538a20bf5e00bc8f (commit) from d18852d5961584125ae113fae23f4b55a760e159 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f5690cc57c0cd18ee8619332379f523c8fac46a1 commit f5690cc57c0cd18ee8619332379f523c8fac46a1 Merge: d18852d f573bd2 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 13:54:05 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 13:54:05 2015 -0400 Merge topic 'move-Feature-API' f573bd22 cmLocalGenerator: Add Feature API from cmMakefile. ccbc2259 cmGeneratorTarget: Move Feature API from cmTarget. --- Summary of changes: Source/cmGeneratorTarget.cxx | 30 - Source/cmGeneratorTarget.h|5 + Source/cmGlobalVisualStudio7Generator.cxx |3 ++- Source/cmLocalGenerator.cxx | 27 ++ Source/cmLocalGenerator.h |3 +++ Source/cmMakefile.cxx | 27 -- Source/cmMakefile.h |3 --- Source/cmMakefileTargetGenerator.cxx |4 ++-- Source/cmNinjaTargetGenerator.cxx |5 +++-- Source/cmTarget.cxx | 28 --- Source/cmTarget.h |5 - 11 files changed, 71 insertions(+), 69 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-248-g70d6d5f
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 70d6d5f03ccdce6373add0bc3bce95281cf1143f (commit) via a02d42580fb0da4378ff3fe512ca366b55f03ed5 (commit) from 72a12fb34610456a4be3cc00540f6c9e90f9bf22 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=70d6d5f03ccdce6373add0bc3bce95281cf1143f commit 70d6d5f03ccdce6373add0bc3bce95281cf1143f Merge: 72a12fb a02d425 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 15:02:23 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 15:02:23 2015 -0400 Merge topic 'deprecate-CMP0011' into next a02d4258 Help: Document deprecation of CMP0011 in the release notes. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a02d42580fb0da4378ff3fe512ca366b55f03ed5 commit a02d42580fb0da4378ff3fe512ca366b55f03ed5 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 21:01:35 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jun 8 21:01:35 2015 +0200 Help: Document deprecation of CMP0011 in the release notes. diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst index 15127cc..2758254 100644 --- a/Help/release/3.3.rst +++ b/Help/release/3.3.rst @@ -271,6 +271,10 @@ Deprecated and Removed Features Other Changes = +* Policy :policy:`CMP0011` is deprecated. In the next release of CMake, + it will not be possible to set it to ``OLD``. See + also :manual:`cmake-policies(7)` + * The :generator:`Ninja` generator now requires that calls to the :command:`add_custom_command` and :command:`add_custom_target` commands use the ``BYPRODUCTS`` option to explicitly specify any --- Summary of changes: Help/release/3.3.rst |4 1 file changed, 4 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-257-g66826cd
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 66826cd41dcea7e43d8ad74e9167f8afd285d364 (commit) via e59ace963a314a3a4a9edd324f5f2103945fd6f6 (commit) from 5b810f62f12feabf0a77265b68ac5d33c6e7161c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=66826cd41dcea7e43d8ad74e9167f8afd285d364 commit 66826cd41dcea7e43d8ad74e9167f8afd285d364 Merge: 5b810f6 e59ace9 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 16:10:51 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 16:10:51 2015 -0400 Merge topic 'deprecate-ancient-Policies' into next e59ace96 fixup! Help: Document deprecation of CMP0011 in the release notes. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e59ace963a314a3a4a9edd324f5f2103945fd6f6 commit e59ace963a314a3a4a9edd324f5f2103945fd6f6 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 22:10:17 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jun 8 22:10:17 2015 +0200 fixup! Help: Document deprecation of CMP0011 in the release notes. diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst index 43d8805..d2457dd 100644 --- a/Help/release/3.3.rst +++ b/Help/release/3.3.rst @@ -286,7 +286,7 @@ Other Changes * :policy:`CMP0010` * :policy:`CMP0011` - are now deprecated. In the next release of CMake, it will not be possible + are now deprecated. In a future release of CMake, it will not be possible to set them to ``OLD``. See also :manual:`cmake-policies(7)` * The :generator:`Ninja` generator now requires that calls to the --- Summary of changes: Help/release/3.3.rst |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [cmake-developers] A policy for Policies
Brad King wrote: Also, no mention of this decision can be made in 3.3 because we are already past the deadline for that release. This isn't a 3.3 feature but a change to the documentation/release notes which is supposed to be ok? On 06/08/2015 03:52 PM, Stephen Kelly wrote: Given what you wrote about the impact of making CMP0011 required, I've instead documented all policies = CMP0011 as deprecated for 3.3, making them fair-game for 3.4. Sorry, but that schedule is way too aggressive since we've never removed policies before. There may be unforeseen problems with enforcing these policy settings. I've changed the release notes to say 'some future release' instead. So, we can figure that out on a per-Policy basis. There could still be code paths that never set the minimum required version of CMake and therefore never set the policy to NEW. Will that ever not be the case? Any refactoring that depends on removing support for OLD behavior needs to wait until after a release or two have removed it. We need to retain the possibility to revert the removal if major problems arise. I don't want the fallback to be re-implement post-refactoring because typically this may be revealed during a release candidate cycle. I think that's overkill for something like CMP0044 as I described in my other mail. It would be easily re-added. This seems like something to apply on a case-by-case basis. Thanks, Steve. -- 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-commits] CMake branch, next, updated. v3.3.0-rc1-263-g90cc6d7
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 90cc6d71587a98361d7f627ea560ed654d41cd88 (commit) via 52b9d828ab482f5eaae3313d821d9a4a492f069b (commit) via fe603c7dfb8a3d0dfc892b46f9df0b4c32a892f9 (commit) via 8fc53c3ce89e76a4e5cf1968307c513041e9a7b7 (commit) from 4d868e122b49e63e7e0ad2474e631cd059858aa6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=90cc6d71587a98361d7f627ea560ed654d41cd88 commit 90cc6d71587a98361d7f627ea560ed654d41cd88 Merge: 4d868e1 52b9d82 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 16:24:30 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 16:24:30 2015 -0400 Merge topic 'move-CMP0059-handling' into next 52b9d828 cmMakefile: Move CMP0059 handling to command code. fe603c7d cmGetDirectoryPropertyCommand: Move variable to the point of use. 8fc53c3c cmGetDirectoryPropertyCommand: Extract StoreResult method. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=52b9d828ab482f5eaae3313d821d9a4a492f069b commit 52b9d828ab482f5eaae3313d821d9a4a492f069b Author: Stephen Kelly steve...@gmail.com AuthorDate: Sun Jun 7 14:50:54 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jun 8 22:23:44 2015 +0200 cmMakefile: Move CMP0059 handling to command code. Don't pay a penalty for it in all GetProperty calls. Additionally, the storage of properties will eventually move to cmState, which should only contain state and not logic for policies like this. diff --git a/Source/cmGetDirectoryPropertyCommand.cxx b/Source/cmGetDirectoryPropertyCommand.cxx index f60eba7..c056d95 100644 --- a/Source/cmGetDirectoryPropertyCommand.cxx +++ b/Source/cmGetDirectoryPropertyCommand.cxx @@ -86,6 +86,23 @@ bool cmGetDirectoryPropertyCommand const char *prop = 0; if (!i-empty()) { +if (*i == DEFINITIONS) + { + switch(this-Makefile-GetPolicyStatus(cmPolicies::CMP0059)) +{ +case cmPolicies::WARN: + this-Makefile-IssueMessage(cmake::AUTHOR_WARNING, + cmPolicies::GetPolicyWarning(cmPolicies::CMP0059)); +case cmPolicies::OLD: + this-StoreResult(variable, + this-Makefile-GetDefineFlagsCMP0059()); +return true; +case cmPolicies::NEW: +case cmPolicies::REQUIRED_ALWAYS: +case cmPolicies::REQUIRED_IF_USED: + break; +} + } prop = dir-GetProperty(*i); } this-StoreResult(variable, prop); diff --git a/Source/cmGetPropertyCommand.cxx b/Source/cmGetPropertyCommand.cxx index 36b6c64..33d638b 100644 --- a/Source/cmGetPropertyCommand.cxx +++ b/Source/cmGetPropertyCommand.cxx @@ -279,6 +279,22 @@ bool cmGetPropertyCommand::HandleDirectoryMode() } } + if (this-PropertyName == DEFINITIONS) +{ +switch(mf-GetPolicyStatus(cmPolicies::CMP0059)) + { + case cmPolicies::WARN: +mf-IssueMessage(cmake::AUTHOR_WARNING, + cmPolicies::GetPolicyWarning(cmPolicies::CMP0059)); + case cmPolicies::OLD: +return this-StoreResult(mf-GetDefineFlagsCMP0059()); + case cmPolicies::NEW: + case cmPolicies::REQUIRED_ALWAYS: + case cmPolicies::REQUIRED_IF_USED: +break; + } +} + // Get the property. return this-StoreResult(mf-GetProperty(this-PropertyName)); } diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index a8b163a..63dbe27 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -4171,22 +4171,6 @@ const char *cmMakefile::GetProperty(const std::string prop, this-GetListOfMacros(output); return output.c_str(); } - else if (prop == DEFINITIONS) -{ -switch(this-GetPolicyStatus(cmPolicies::CMP0059)) - { - case cmPolicies::WARN: - this-IssueMessage(cmake::AUTHOR_WARNING, cmPolicies:: - GetPolicyWarning(cmPolicies::CMP0059)); - case cmPolicies::OLD: -output += this-DefineFlagsOrig; -return output.c_str(); - case cmPolicies::NEW: - case cmPolicies::REQUIRED_ALWAYS: - case cmPolicies::REQUIRED_IF_USED: -break; - } -} else if (prop == LINK_DIRECTORIES) { output = cmJoin(this-GetLinkDirectories(), ;); @@ -4674,6 +4658,11 @@ cmState::Snapshot cmMakefile::GetStateSnapshot() const return this-StateSnapshot; } +const char* cmMakefile::GetDefineFlagsCMP0059() const +{ + return this-DefineFlagsOrig.c_str(); +} +
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-265-gf286bc1
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via f286bc11e75e18b11c3625e85bae4fc6f61c5ef0 (commit) via c3f40f4fd98388a2fd31c707e7225d33a7fc76f6 (commit) from 90cc6d71587a98361d7f627ea560ed654d41cd88 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f286bc11e75e18b11c3625e85bae4fc6f61c5ef0 commit f286bc11e75e18b11c3625e85bae4fc6f61c5ef0 Merge: 90cc6d7 c3f40f4 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 16:32:35 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 16:32:35 2015 -0400 Merge topic 'doc-formatting' into next c3f40f4f Help: Improve formatting of command documentation http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c3f40f4fd98388a2fd31c707e7225d33a7fc76f6 commit c3f40f4fd98388a2fd31c707e7225d33a7fc76f6 Author: Michael Scott michael.scott...@gmail.com AuthorDate: Thu Jun 4 22:51:22 2015 +0100 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 16:28:31 2015 -0400 Help: Improve formatting of command documentation Use inline reStructuredText markup and add cross-references in more places. diff --git a/Help/command/add_subdirectory.rst b/Help/command/add_subdirectory.rst index 29b5017..e979253 100644 --- a/Help/command/add_subdirectory.rst +++ b/Help/command/add_subdirectory.rst @@ -12,23 +12,23 @@ Add a subdirectory to the build. The source_dir specifies the directory in which the source CMakeLists.txt and code files are located. If it is a relative path it will be evaluated with respect to the current directory (the typical usage), but it may also be an -absolute path. The binary_dir specifies the directory in which to +absolute path. The ``binary_dir`` specifies the directory in which to place the output files. If it is a relative path it will be evaluated with respect to the current output directory, but it may also be an -absolute path. If binary_dir is not specified, the value of -source_dir, before expanding any relative path, will be used (the +absolute path. If ``binary_dir`` is not specified, the value of +``source_dir``, before expanding any relative path, will be used (the typical usage). The CMakeLists.txt file in the specified source directory will be processed immediately by CMake before processing in the current input file continues beyond this command. -If the EXCLUDE_FROM_ALL argument is provided then targets in the -subdirectory will not be included in the ALL target of the parent +If the ``EXCLUDE_FROM_ALL`` argument is provided then targets in the +subdirectory will not be included in the ``ALL`` target of the parent directory by default, and will be excluded from IDE project files. Users must explicitly build targets in the subdirectory. This is meant for use when the subdirectory contains a separate part of the project that is useful but not necessary, such as a set of examples. -Typically the subdirectory should contain its own project() command -invocation so that a full build system will be generated in the +Typically the subdirectory should contain its own :command:`project` +command invocation so that a full build system will be generated in the subdirectory (such as a VS IDE solution file). Note that inter-target dependencies supercede this exclusion. If a target built by the parent project depends on a target in the subdirectory, the dependee diff --git a/Help/command/aux_source_directory.rst b/Help/command/aux_source_directory.rst index 434d7a9..dcd1cdf 100644 --- a/Help/command/aux_source_directory.rst +++ b/Help/command/aux_source_directory.rst @@ -8,7 +8,7 @@ Find all source files in a directory. aux_source_directory(dir variable) Collects the names of all the source files in the specified directory -and stores the list in the variable provided. This command is +and stores the list in the ``variable`` provided. This command is intended to be used by projects that use explicit template instantiation. Template instantiation files can be stored in a Templates subdirectory and collected automatically using this diff --git a/Help/command/build_name.rst b/Help/command/build_name.rst index 53cd05e..f717db1 100644 --- a/Help/command/build_name.rst +++ b/Help/command/build_name.rst @@ -3,7 +3,7 @@ build_name Disallowed. See CMake Policy :policy:`CMP0036`. -Use ${CMAKE_SYSTEM} and ${CMAKE_CXX_COMPILER} instead. +Use ``${CMAKE_SYSTEM}`` and ``${CMAKE_CXX_COMPILER}`` instead. :: @@ -11,4 +11,5 @@ Use ${CMAKE_SYSTEM} and ${CMAKE_CXX_COMPILER} instead. Sets the specified variable to a string representing the
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-289-gc057802
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via c057802e482031a7a05e86e8fc0931c1ebd76ddb (commit) via 2cb5708a212e532963d70795d234db593ca5a892 (commit) via aa8cd1ededcf9770759f7d9b5cae7f2c58cd3908 (commit) via 0402b578f22fc6a8c982e2b0824dae25c3d9bc3b (commit) via b5a805f2f36aaeb183ec7a2e9f7b7736381a06ff (commit) via 010092def04d5cf9cb37d47a4b1d0e5901a23c7f (commit) via 74ed9a8c5943e043ec3b24d9f55d900b26b61205 (commit) via 812496a6a94eb46290b63a69a831658165893a06 (commit) via 6abd2a91bd952aab90b8954d44284ee670916afc (commit) via e06e2c16a14b2095fb3f4aed5cacfbe12bad1657 (commit) via 0f7740f1342241af4a82b67379b12c2e88fe97f7 (commit) via 2045137c5a2c98fe92bd8f67c50c55397c176854 (commit) via 32857d96bf17ba9943c26b3ae42eb744f01efa4b (commit) via f5ef691b27eff45bd77b5f09e86a0bc9f69a1b4a (commit) via eaeccc5fc9bea3227c3bf1d6a4da915fd1eea627 (commit) via 6e8c521268f4aa496e9aec9130a1f4d9a4654ec4 (commit) via dbe3fc87bd9389ea028b9f024f5d5d15ed81de57 (commit) via 84c26be931f7d24d51c478e52753c3c2204f7389 (commit) from 484c49d69550d895ac90570f594bab6ad611050d (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c057802e482031a7a05e86e8fc0931c1ebd76ddb commit c057802e482031a7a05e86e8fc0931c1ebd76ddb Merge: 484c49d 2cb5708 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 16:55:45 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 16:55:45 2015 -0400 Merge topic 'use-generator-target' into next 2cb5708a cmGlobalGenerator: Map local generators to generator targets. aa8cd1ed cmMakefile: Remove unused method. 0402b578 cmComputeTargetDepends: Change API to use cmGeneratorTarget. b5a805f2 Get the local generator from the GeneratorTarget. 010092de cmMakefileTargetGenerator: Require cmGeneratorTarget. 74ed9a8c cmNinjaGenerator: Require cmGeneratorTarget. 812496a6 cmGeneratorTarget: Require a cmLocalGenerator to construct. 6abd2a91 cmGlobalGenerator: Base exclusion computation on cmGeneratorTarget. e06e2c16 cmGlobalGenerator: Create GeneratorTargets with a local generator. 0f7740f1 GHS: Use a cmGeneratorTarget in generator API. 2045137c cmGeneratorTarget: Add accessor for cmLocalGenerator. 32857d96 C::B: Get the Makefile from the LocalGenerator, not vice-versa. f5ef691b cmLocalGenerator: Constify GetIncludeDirectories method. eaeccc5f QtAutogen: Get the global generator from the Makefile. 6e8c5212 cmMakefile: Move IsRoot API from cmLocalGenerator. dbe3fc87 cmMakefile: Use member directly instead of through method. ... http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2cb5708a212e532963d70795d234db593ca5a892 commit 2cb5708a212e532963d70795d234db593ca5a892 Author: Stephen Kelly steve...@gmail.com AuthorDate: Sat Jun 6 15:24:24 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jun 8 22:32:34 2015 +0200 cmGlobalGenerator: Map local generators to generator targets. diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 23f676a..83cf810 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -2036,9 +2036,9 @@ void cmGlobalGenerator::FillLocalGeneratorToTargetMap() clg = clg-GetParent()) { // This local generator includes the target. -std::setcmTarget const* targetSet = +std::setcmGeneratorTarget const* targetSet = this-LocalGeneratorToTargetMap[clg]; -targetSet.insert(target); +targetSet.insert(gt); // Add dependencies of the included target. An excluded // target may still be included if it is a dependency of a @@ -2047,8 +2047,7 @@ void cmGlobalGenerator::FillLocalGeneratorToTargetMap() for(TargetDependSet::const_iterator ti = tgtdeps.begin(); ti != tgtdeps.end(); ++ti) { - cmGeneratorTarget const* ttt = *ti; - targetSet.insert(ttt-Target); + targetSet.insert(*ti); } } } diff --git a/Source/cmGlobalGenerator.h b/Source/cmGlobalGenerator.h index bb5af5d..3d5c8aa 100644 --- a/Source/cmGlobalGenerator.h +++ b/Source/cmGlobalGenerator.h @@ -406,7 +406,7 @@ protected: cmMakefile* CurrentMakefile; // map from project name to vector of local generators in that project std::mapstd::string, std::vectorcmLocalGenerator* ProjectMap; - std::mapcmLocalGenerator*, std::setcmTarget const* + std::mapcmLocalGenerator*,
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-297-g541191b
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 541191bf9bf9da11893f4a4e0aef7315db8637ad (commit) via 55d6c5a91f7261edcc1e62866fa186647f8325f3 (commit) via 82a256e44096483fd8c09cffc7faf8f519298ff8 (commit) from 9e18e80a4235f5c8ff453057ff58349a1171fbac (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=541191bf9bf9da11893f4a4e0aef7315db8637ad commit 541191bf9bf9da11893f4a4e0aef7315db8637ad Merge: 9e18e80 55d6c5a Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 17:47:49 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 17:47:49 2015 -0400 Merge topic 'use-generator-target' into next 55d6c5a9 fixup! cmComputeTargetDepends: Change API to use cmGeneratorTarget. 82a256e4 fixup! GHS: Use a cmGeneratorTarget in generator API. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=55d6c5a91f7261edcc1e62866fa186647f8325f3 commit 55d6c5a91f7261edcc1e62866fa186647f8325f3 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 23:47:28 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jun 8 23:47:28 2015 +0200 fixup! cmComputeTargetDepends: Change API to use cmGeneratorTarget. diff --git a/Source/cmGlobalVisualStudio6Generator.cxx b/Source/cmGlobalVisualStudio6Generator.cxx index 632141a..65a15ee 100644 --- a/Source/cmGlobalVisualStudio6Generator.cxx +++ b/Source/cmGlobalVisualStudio6Generator.cxx @@ -224,7 +224,7 @@ void cmGlobalVisualStudio6Generator tt = orderedProjectTargets.begin(); tt != orderedProjectTargets.end(); ++tt) { -cmTarget const* target = *tt; +cmTarget const* target = (*tt)-Target; if(target-GetType() == cmTarget::INTERFACE_LIBRARY) { continue; diff --git a/Source/cmGlobalVisualStudio7Generator.cxx b/Source/cmGlobalVisualStudio7Generator.cxx index f453da1..1674e98 100644 --- a/Source/cmGlobalVisualStudio7Generator.cxx +++ b/Source/cmGlobalVisualStudio7Generator.cxx @@ -402,7 +402,7 @@ void cmGlobalVisualStudio7Generator::WriteTargetConfigurations( for(OrderedTargetDependSet::const_iterator tt = projectTargets.begin(); tt != projectTargets.end(); ++tt) { -cmTarget const* target = *tt; +cmTarget const* target = (*tt)-Target; if(target-GetType() == cmTarget::INTERFACE_LIBRARY) { continue; @@ -442,7 +442,7 @@ void cmGlobalVisualStudio7Generator::WriteTargetsToSolution( for(OrderedTargetDependSet::const_iterator tt = projectTargets.begin(); tt != projectTargets.end(); ++tt) { -cmTarget const* target = *tt; +cmTarget const* target = (*tt)-Target; if(target-GetType() == cmTarget::INTERFACE_LIBRARY) { continue; @@ -534,7 +534,7 @@ void cmGlobalVisualStudio7Generator::WriteTargetDepends( for(OrderedTargetDependSet::const_iterator tt = projectTargets.begin(); tt != projectTargets.end(); ++tt) { -cmTarget const* target = *tt; +cmTarget const* target = (*tt)-Target; if(target-GetType() == cmTarget::INTERFACE_LIBRARY) { continue; @@ -1045,12 +1045,12 @@ cmGlobalVisualStudio7Generator ::IsDependedOn(OrderedTargetDependSet const projectTargets, cmTarget const* targetIn) { + cmGeneratorTarget* gtIn = this-GetGeneratorTarget(targetIn); for (OrderedTargetDependSet::const_iterator l = projectTargets.begin(); l != projectTargets.end(); ++l) { -cmTarget const target = **l; -TargetDependSet const tgtdeps = this-GetTargetDirectDepends(target); -if(tgtdeps.count(targetIn)) +TargetDependSet const tgtdeps = this-GetTargetDirectDepends(*l); +if(tgtdeps.count(gtIn)) { return true; } diff --git a/Source/cmGlobalVisualStudio8Generator.cxx b/Source/cmGlobalVisualStudio8Generator.cxx index b96a799..f3cf36e 100644 --- a/Source/cmGlobalVisualStudio8Generator.cxx +++ b/Source/cmGlobalVisualStudio8Generator.cxx @@ -441,7 +441,8 @@ bool cmGlobalVisualStudio8Generator::ComputeTargetDepends() void cmGlobalVisualStudio8Generator::WriteProjectDepends( std::ostream fout, const std::string, const char*, cmTarget const t) { - TargetDependSet const unordered = this-GetTargetDirectDepends(t); + cmGeneratorTarget* gt = this-GetGeneratorTarget(t); + TargetDependSet const unordered = this-GetTargetDirectDepends(gt); OrderedTargetDependSet depends(unordered); for(OrderedTargetDependSet::const_iterator i = depends.begin(); i != depends.end(); ++i) diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-307-g0efeb96
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 0efeb967c31ca2ab2fb38ffde27f20349517c423 (commit) via 142f26c3b782fd558d4d0d11756516b2380b67be (commit) from 84533831fddbb42fb04ee9b193ea6ac3c67ec064 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0efeb967c31ca2ab2fb38ffde27f20349517c423 commit 0efeb967c31ca2ab2fb38ffde27f20349517c423 Merge: 8453383 142f26c Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 18:38:54 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 18:38:54 2015 -0400 Merge topic 'use-generator-target' into next 142f26c3 Compile fix. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=142f26c3b782fd558d4d0d11756516b2380b67be commit 142f26c3b782fd558d4d0d11756516b2380b67be Author: Stephen Kelly steve...@gmail.com AuthorDate: Tue Jun 9 00:38:41 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Tue Jun 9 00:38:41 2015 +0200 Compile fix. diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index ee4d21c..bdf2b8d 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx @@ -847,7 +847,7 @@ cmGlobalVisualStudioGenerator::TargetIsFortranOnly(cmTarget const target) // bool cmGlobalVisualStudioGenerator::TargetCompare -::operator()(cmTarget const* l, cmTarget const* r) const +::operator()(cmGeneratorTarget const* l, cmGeneratorTarget const* r) const { // Make sure ALL_BUILD is first so it is the default active project. if(r-GetName() == ALL_BUILD) diff --git a/Source/cmGlobalVisualStudioGenerator.h b/Source/cmGlobalVisualStudioGenerator.h index 69b4564..41843b3 100644 --- a/Source/cmGlobalVisualStudioGenerator.h +++ b/Source/cmGlobalVisualStudioGenerator.h @@ -91,7 +91,8 @@ public: class TargetSet: public std::setcmTarget const* {}; struct TargetCompare { -bool operator()(cmTarget const* l, cmTarget const* r) const; +bool operator()(cmGeneratorTarget const* l, +cmGeneratorTarget const* r) const; }; class OrderedTargetDependSet; --- Summary of changes: Source/cmGlobalVisualStudioGenerator.cxx |2 +- Source/cmGlobalVisualStudioGenerator.h |3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-267-g59e6bc2
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 59e6bc2cb25956eabefc11bb1a50952a4078dc71 (commit) via 1594edba9ead291eaf3a9b4e63ba41edc43d4f99 (commit) from f286bc11e75e18b11c3625e85bae4fc6f61c5ef0 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=59e6bc2cb25956eabefc11bb1a50952a4078dc71 commit 59e6bc2cb25956eabefc11bb1a50952a4078dc71 Merge: f286bc1 1594edb Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 16:37:11 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 16:37:11 2015 -0400 Merge topic 'binary-release-osx-qt-4.8-update' into next 1594edba Utilities/Release: Update to more recent Qt 4.8 on OS X http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1594edba9ead291eaf3a9b4e63ba41edc43d4f99 commit 1594edba9ead291eaf3a9b4e63ba41edc43d4f99 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 11:28:35 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 16:36:06 2015 -0400 Utilities/Release: Update to more recent Qt 4.8 on OS X Update to a version newer than 4.8.0 to get the fix for this issue: https://bugreports.qt.io/browse/QTBUG-23704 https://codereview.qt-project.org/13576 http://code.qt.io/cgit/qt/qt.git/commit/?id=e88dbaa7fc We hit it in the cmake-gui command-line install help dialog. diff --git a/Utilities/Release/dashmacmini5_release.cmake b/Utilities/Release/dashmacmini5_release.cmake index bc95982..b407554 100644 --- a/Utilities/Release/dashmacmini5_release.cmake +++ b/Utilities/Release/dashmacmini5_release.cmake @@ -20,7 +20,7 @@ CMAKE_SKIP_BOOTSTRAP_TEST:STRING=TRUE CPACK_SYSTEM_NAME:STRING=Darwin-x86_64 BUILD_QtDialog:BOOL=TRUE CMake_GUI_DISTRIBUTE_WITH_Qt_LGPL:BOOL=TRUE -QT_QMAKE_EXECUTABLE:FILEPATH=/Users/kitware/Support/qt-4.8.0/install/bin/qmake +QT_QMAKE_EXECUTABLE:FILEPATH=/Users/kitware/Support/qt-4.8.6/install/bin/qmake ) get_filename_component(path ${CMAKE_CURRENT_LIST_FILE} PATH) include(${path}/release_cmake.cmake) --- Summary of changes: Utilities/Release/dashmacmini5_release.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [cmake-developers] A policy for Policies
Brad King wrote: On 06/08/2015 04:15 PM, Stephen Kelly wrote: This isn't a 3.3 feature but a change to the documentation/release notes which is supposed to be ok? Yes, if the wording does not commit us to a specific future release. Even if the docs say 'the next release', we are not obligated to remove them in the next release. I've changed the release notes to say 'some future release' instead. So, we can figure that out on a per-Policy basis. Okay. Actually shouldn't the documentation of every policy say it may be removed in a future release? Yes. This documentation note is not necessary at all. The fact that they are Policies is already enough as you said. I just added it for notification anyway because it's possible. That is their general purpose. Perhaps that may help discourage projects from setting them to OLD. http://www.cmake.org/cmake/help/v3.2/manual/cmake-policies.7.html The ``OLD`` behavior of each policy is undesirable and will be replaced with an error condition in a future release. Given what we see on mailing lists and SO, that doesn't help. In fact, I added that in response to someone on SO recommending setting policies to OLD and pointed them to the commit and the generated docs, and they're still recommending the same thing as SO answers. Policies are alive too long to be credible pending error-conditions. They look like - and are treated as - feature toggles. Thanks, Steve. -- 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-commits] CMake branch, next, updated. v3.3.0-rc1-301-gbe3425b
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via be3425b53e9033950a71dde897e7a47a2f7ef6d5 (commit) via c7ca73b16e135ef599feaf8bb4971ba434ab0a31 (commit) from c2b8218563aa73173833131b1b107511f765dc28 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=be3425b53e9033950a71dde897e7a47a2f7ef6d5 commit be3425b53e9033950a71dde897e7a47a2f7ef6d5 Merge: c2b8218 c7ca73b Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 18:08:50 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 18:08:50 2015 -0400 Merge topic 'use-generator-target' into next c7ca73b1 Compile fix. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c7ca73b16e135ef599feaf8bb4971ba434ab0a31 commit c7ca73b16e135ef599feaf8bb4971ba434ab0a31 Author: Stephen Kelly steve...@gmail.com AuthorDate: Tue Jun 9 00:07:55 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Tue Jun 9 00:08:31 2015 +0200 Compile fix. diff --git a/Source/cmGhsMultiTargetGenerator.h b/Source/cmGhsMultiTargetGenerator.h index f268071..c29a31e 100644 --- a/Source/cmGhsMultiTargetGenerator.h +++ b/Source/cmGhsMultiTargetGenerator.h @@ -100,7 +100,7 @@ private: const std::string language); cmTarget *Target; - cmGeneratorTarget GeneratorTarget; + cmGeneratorTarget* GeneratorTarget; cmLocalGhsMultiGenerator *LocalGenerator; cmMakefile *Makefile; std::string AbsBuildFilePath; diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index 475f079..e130937 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx @@ -347,7 +347,7 @@ void cmGlobalVisualStudioGenerator::FollowLinkDepends( { if(di-IsLink()) { -this-FollowLinkDepends((*di)-Target-Target, linked); +this-FollowLinkDepends((*di)-Target, linked); } } } --- Summary of changes: Source/cmGhsMultiTargetGenerator.h |2 +- Source/cmGlobalVisualStudioGenerator.cxx |2 +- 2 files changed, 2 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-259-g4d868e1
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 4d868e122b49e63e7e0ad2474e631cd059858aa6 (commit) via 7ab0806fef24d4982adbbef9b37f48111d2eced4 (commit) from 66826cd41dcea7e43d8ad74e9167f8afd285d364 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=4d868e122b49e63e7e0ad2474e631cd059858aa6 commit 4d868e122b49e63e7e0ad2474e631cd059858aa6 Merge: 66826cd 7ab0806 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 16:15:51 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 16:15:51 2015 -0400 Merge topic 'doc-find-versioned-location' into next 7ab0806f Help: Document find_* command versioned/unversioned name ordering http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7ab0806fef24d4982adbbef9b37f48111d2eced4 commit 7ab0806fef24d4982adbbef9b37f48111d2eced4 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 16:11:10 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 16:13:56 2015 -0400 Help: Document find_* command versioned/unversioned name ordering Suggest in the NAMES option that unversioned names go first to prefer local builds over distro-provided files. diff --git a/Help/command/FIND_XXX.txt b/Help/command/FIND_XXX.txt index 966db06..bd4d295 100644 --- a/Help/command/FIND_XXX.txt +++ b/Help/command/FIND_XXX.txt @@ -39,6 +39,11 @@ Options include: ``NAMES`` Specify one or more possible names for the |SEARCH_XXX|. + When using this to specify names with and without a version + suffix, we recommend specifying the unversioned name first + so that locally-built packages can be found before those + provided by distributions. + ``HINTS``, ``PATHS`` Specify directories to search in addition to the default locations. The ``ENV var`` sub-option reads paths from a system environment --- Summary of changes: Help/command/FIND_XXX.txt |5 + 1 file changed, 5 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-269-g468f4c8
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 468f4c8e856221bc34eb5b21936d9ae4f8db74f8 (commit) via 2f76a6b7b06467fd1080c7b80657f1f9f30e6c23 (commit) from 59e6bc2cb25956eabefc11bb1a50952a4078dc71 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=468f4c8e856221bc34eb5b21936d9ae4f8db74f8 commit 468f4c8e856221bc34eb5b21936d9ae4f8db74f8 Merge: 59e6bc2 2f76a6b Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 16:53:00 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 16:53:00 2015 -0400 Merge topic 'deprecate-ancient-Policies' into next 2f76a6b7 fixup! Help: Document deprecation of CMP0011 in the release notes. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2f76a6b7b06467fd1080c7b80657f1f9f30e6c23 commit 2f76a6b7b06467fd1080c7b80657f1f9f30e6c23 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 22:49:58 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jun 8 22:49:58 2015 +0200 fixup! Help: Document deprecation of CMP0011 in the release notes. diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst index d2457dd..a6158d2 100644 --- a/Help/release/3.3.rst +++ b/Help/release/3.3.rst @@ -286,8 +286,10 @@ Other Changes * :policy:`CMP0010` * :policy:`CMP0011` - are now deprecated. In a future release of CMake, it will not be possible - to set them to ``OLD``. See also :manual:`cmake-policies(7)` + are now deprecated. In the next release of CMake, they will be required + to be set to ``NEW`` by either the :command:`cmake_policy` command or the + :command:`cmake_minimum_required` command. See + also :manual:`cmake-policies(7)` * The :generator:`Ninja` generator now requires that calls to the :command:`add_custom_command` and :command:`add_custom_target` --- Summary of changes: Help/release/3.3.rst |6 -- 1 file changed, 4 insertions(+), 2 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-309-gda4fd95
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via da4fd959e23e6775e31f7911d56f6f862279bb6b (commit) via f5ba69f99b7d2620409c9fe650a39005120e2df7 (commit) from 0efeb967c31ca2ab2fb38ffde27f20349517c423 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=da4fd959e23e6775e31f7911d56f6f862279bb6b commit da4fd959e23e6775e31f7911d56f6f862279bb6b Merge: 0efeb96 f5ba69f Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 18:47:39 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 18:47:39 2015 -0400 Merge topic 'use-generator-target' into next f5ba69f9 Revert topic. diff --cc Source/cmMakefile.cxx index 615bedc,a8b163a..2a9a806 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@@ -129,10 -100,12 +129,10 @@@ public bool RaiseScope(std::string const var, const char* varDef, cmMakefile* mf) { -std::listcmDefinitions::reverse_iterator it = this-VarStack.rbegin(); -assert(it != this-VarStack.rend()); -++it; -if(it == this-VarStack.rend()) +assert(this-VarScopeIter-Vars != this-VarTree.Root()); +if(this-VarScopeIter-Parent == this-VarTree.Root()) { - cmLocalGenerator* plg = mf-LocalGenerator-GetParent(); + cmLocalGenerator* plg = mf-GetLocalGenerator()-GetParent(); if(!plg) { return false; http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f5ba69f99b7d2620409c9fe650a39005120e2df7 commit f5ba69f99b7d2620409c9fe650a39005120e2df7 Author: Stephen Kelly steve...@gmail.com AuthorDate: Tue Jun 9 00:47:06 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Tue Jun 9 00:47:24 2015 +0200 Revert topic. diff --git a/Source/cmComputeTargetDepends.cxx b/Source/cmComputeTargetDepends.cxx index c4a03a0..87b47b4 100644 --- a/Source/cmComputeTargetDepends.cxx +++ b/Source/cmComputeTargetDepends.cxx @@ -147,12 +147,12 @@ bool cmComputeTargetDepends::Compute() // void -cmComputeTargetDepends::GetTargetDirectDepends(cmGeneratorTarget const* t, +cmComputeTargetDepends::GetTargetDirectDepends(cmTarget const* t, cmTargetDependSet deps) { // Lookup the index for this target. All targets should be known by // this point. - std::mapcmGeneratorTarget const*, int::const_iterator tii + std::mapcmTarget const*, int::const_iterator tii = this-TargetIndex.find(t); assert(tii != this-TargetIndex.end()); int i = tii-second; @@ -161,7 +161,7 @@ cmComputeTargetDepends::GetTargetDirectDepends(cmGeneratorTarget const* t, EdgeList const nl = this-FinalGraph[i]; for(EdgeList::const_iterator ni = nl.begin(); ni != nl.end(); ++ni) { -cmGeneratorTarget const* dep = this-Targets[*ni]; +cmTarget const* dep = this-Targets[*ni]; cmTargetDependSet::iterator di = deps.insert(dep).first; di-SetType(ni-IsStrong()); } @@ -180,11 +180,9 @@ void cmComputeTargetDepends::CollectTargets() ti != targets.end(); ++ti) { cmTarget const* target = ti-second; - cmGeneratorTarget* gt = - this-GlobalGenerator-GetGeneratorTarget(target); int index = static_castint(this-Targets.size()); - this-TargetIndex[gt] = index; - this-Targets.push_back(gt); + this-TargetIndex[target] = index; + this-Targets.push_back(target); } } } @@ -206,7 +204,7 @@ void cmComputeTargetDepends::CollectDepends() void cmComputeTargetDepends::CollectTargetDepends(int depender_index) { // Get the depender. - cmGeneratorTarget const* depender = this-Targets[depender_index]; + cmTarget const* depender = this-Targets[depender_index]; if (depender-GetType() == cmTarget::INTERFACE_LIBRARY) { return; @@ -218,9 +216,10 @@ void cmComputeTargetDepends::CollectTargetDepends(int depender_index) // deal with config-specific dependencies. { std::setstd::string emitted; + cmGeneratorTarget* gt = this-GlobalGenerator-GetGeneratorTarget(depender); std::vectorstd::string configs; - depender-Makefile-GetConfigurations(configs); + depender-GetMakefile()-GetConfigurations(configs); if (configs.empty()) { configs.push_back(); @@ -229,7 +228,7 @@ void cmComputeTargetDepends::CollectTargetDepends(int depender_index) it != configs.end(); ++it) { std::vectorcmSourceFile const* objectFiles; -depender-GetExternalObjects(objectFiles, *it); +gt-GetExternalObjects(objectFiles, *it);
Re: [cmake-developers] Add more RST markup to documentation
On 06/08/2015 03:24 PM, Michael Scott wrote: I've done some work on the commands documentation, generally adding more RST markup, as part of the Mantis issue 0015587. I've attached the proposed patch to this email, please let me know if there are any incorrect changes to the documentation in the patch. Thanks! Applied here: Help: Improve formatting of command documentation http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c3f40f4f I dropped the change to find_library because it conflicts with a similar cleanup I happened to be doing today. -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-commits] CMake branch, next, updated. v3.3.0-rc1-305-g8453383
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 84533831fddbb42fb04ee9b193ea6ac3c67ec064 (commit) via 7b9ea5012013c6f8c26e19084a1ea66136b84939 (commit) from 1f30b2e8dfdff2379cfc408bdf5d42aa1ad9092b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=84533831fddbb42fb04ee9b193ea6ac3c67ec064 commit 84533831fddbb42fb04ee9b193ea6ac3c67ec064 Merge: 1f30b2e 7b9ea50 Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 18:31:43 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 18:31:43 2015 -0400 Merge topic 'use-generator-target' into next 7b9ea501 Compile fix. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7b9ea5012013c6f8c26e19084a1ea66136b84939 commit 7b9ea5012013c6f8c26e19084a1ea66136b84939 Author: Stephen Kelly steve...@gmail.com AuthorDate: Tue Jun 9 00:31:29 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Tue Jun 9 00:31:29 2015 +0200 Compile fix. diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index b10610a..ee4d21c 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx @@ -876,7 +876,7 @@ cmGlobalVisualStudioGenerator::OrderedTargetDependSet it != targets.end(); ++it) { cmGeneratorTarget* gt = -(*it)-GetGlobalGenerator()-GetGeneratorTarget(*it); +(*it)-GetMakefile()-GetGlobalGenerator()-GetGeneratorTarget(*it); this-insert(gt); } } --- Summary of changes: Source/cmGlobalVisualStudioGenerator.cxx |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-294-g9e18e80
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 9e18e80a4235f5c8ff453057ff58349a1171fbac (commit) via 9477e5fc3796d4e9d4e66a78ebdcdd9855013a2c (commit) via bc61da9da1eefbca0c01d53a0f409d38de5aa418 (commit) via ff4fef0db4e585e543ea270bf099791c65692143 (commit) via 2ef3f2c2b67f47a8b649aa1c9b83cbfe4b81e674 (commit) from c057802e482031a7a05e86e8fc0931c1ebd76ddb (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9e18e80a4235f5c8ff453057ff58349a1171fbac commit 9e18e80a4235f5c8ff453057ff58349a1171fbac Merge: c057802 9477e5f Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 17:17:28 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 17:17:28 2015 -0400 Merge topic 'cmLinkedTree-definitions' into next 9477e5fc cmMakefile: Decouple the container of cmDefinitions from scoping logic. bc61da9d cmDefinitions: Implement in terms of cmLinkedTree. ff4fef0d cmLinkedTree: Add operator* to the iterator. 2ef3f2c2 cmMakefile: Extract InitializeVarStack method. diff --cc Source/cmMakefile.cxx index cb9611a,afc46ae..615bedc --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@@ -100,12 -129,10 +129,10 @@@ public bool RaiseScope(std::string const var, const char* varDef, cmMakefile* mf) { - std::listcmDefinitions::reverse_iterator it = this-VarStack.rbegin(); - assert(it != this-VarStack.rend()); - ++it; - if(it == this-VarStack.rend()) + assert(this-VarScopeIter-Vars != this-VarTree.Root()); + if(this-VarScopeIter-Parent == this-VarTree.Root()) { - cmLocalGenerator* plg = mf-GetLocalGenerator()-GetParent(); + cmLocalGenerator* plg = mf-LocalGenerator-GetParent(); if(!plg) { return false; http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=9477e5fc3796d4e9d4e66a78ebdcdd9855013a2c commit 9477e5fc3796d4e9d4e66a78ebdcdd9855013a2c Author: Stephen Kelly steve...@gmail.com AuthorDate: Sun May 31 11:26:05 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jun 8 23:11:40 2015 +0200 cmMakefile: Decouple the container of cmDefinitions from scoping logic. Maintain a Parent tree node for writing to in RaiseScope. diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 8fc8e7c..afc46ae 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -45,73 +45,92 @@ class cmMakefile::Internals { public: + struct VarScope + { +cmLinkedTreecmDefinitions::iterator Vars; +cmLinkedTreecmDefinitions::iterator Parent; + }; + cmLinkedTreecmDefinitions VarTree; - cmLinkedTreecmDefinitions::iterator VarTreeIter; + cmLinkedTreeVarScope VarScopes; + cmLinkedTreeVarScope::iterator VarScopeIter; bool IsSourceFileTryCompile; void PushDefinitions() { -assert(this-VarTreeIter.IsValid()); -this-VarTreeIter = this-VarTree.Extend(this-VarTreeIter); +assert(this-VarScopeIter.IsValid()); +assert(this-VarScopeIter-Vars.IsValid()); +cmLinkedTreecmDefinitions::iterator origin = +this-VarScopeIter-Vars; +cmLinkedTreecmDefinitions::iterator parentScope = +this-VarTree.Extend(origin); +this-VarScopeIter-Vars = parentScope; +this-VarScopeIter = this-VarScopes.Extend(this-VarScopeIter); +this-VarScopeIter-Parent = parentScope; +this-VarScopeIter-Vars = this-VarTree.Extend(origin); } - void InitializeVarStack() + void InitializeVarScope() { -this-VarTreeIter = this-VarTree.Root(); -this-PushDefinitions(); +assert(!this-VarScopeIter.IsValid()); +this-VarScopeIter = this-VarScopes.Extend(this-VarScopes.Root()); +this-VarScopeIter-Vars = this-VarTree.Extend(this-VarTree.Root()); +this-VarScopeIter-Parent = this-VarTree.Root(); } void InitializeDefinitions(cmMakefile* parent) { -*this-VarTreeIter = -cmDefinitions::MakeClosure(parent-Internal-VarTreeIter, +assert(this-VarScopeIter.IsValid()); +assert(this-VarScopeIter-Vars.IsValid()); +*this-VarScopeIter-Vars = +cmDefinitions::MakeClosure(parent-Internal-VarScopeIter-Vars, parent-Internal-VarTree.Root()); } const char* GetDefinition(std::string const name) { -assert(this-VarTreeIter != this-VarTree.Root()); +assert(this-VarScopeIter.IsValid()); +assert(this-VarScopeIter-Vars.IsValid()); return cmDefinitions::Get(name, - this-VarTreeIter, this-VarTree.Root()); + this-VarScopeIter-Vars,
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-303-g1f30b2e
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 1f30b2e8dfdff2379cfc408bdf5d42aa1ad9092b (commit) via 434e29a09cd7ae7195b30d3311290cca7cb0e007 (commit) from be3425b53e9033950a71dde897e7a47a2f7ef6d5 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1f30b2e8dfdff2379cfc408bdf5d42aa1ad9092b commit 1f30b2e8dfdff2379cfc408bdf5d42aa1ad9092b Merge: be3425b 434e29a Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 18:17:36 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 18:17:36 2015 -0400 Merge topic 'use-generator-target' into next 434e29a0 Compile fix. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=434e29a09cd7ae7195b30d3311290cca7cb0e007 commit 434e29a09cd7ae7195b30d3311290cca7cb0e007 Author: Stephen Kelly steve...@gmail.com AuthorDate: Tue Jun 9 00:17:11 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Tue Jun 9 00:17:21 2015 +0200 Compile fix. diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index e130937..b10610a 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx @@ -872,7 +872,13 @@ cmGlobalVisualStudioGenerator::OrderedTargetDependSet cmGlobalVisualStudioGenerator::OrderedTargetDependSet ::OrderedTargetDependSet(TargetSet const targets) { - this-insert(targets.begin(), targets.end()); + for (TargetSet::const_iterator it = targets.begin(); + it != targets.end(); ++it) +{ +cmGeneratorTarget* gt = +(*it)-GetGlobalGenerator()-GetGeneratorTarget(*it); +this-insert(gt); +} } std::string cmGlobalVisualStudioGenerator::ExpandCFGIntDir( --- Summary of changes: Source/cmGlobalVisualStudioGenerator.cxx |8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-271-g484c49d
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 484c49d69550d895ac90570f594bab6ad611050d (commit) via 975108b7b25b3628868e438384ca7cdbd5c6888f (commit) from 468f4c8e856221bc34eb5b21936d9ae4f8db74f8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=484c49d69550d895ac90570f594bab6ad611050d commit 484c49d69550d895ac90570f594bab6ad611050d Merge: 468f4c8 975108b Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 16:54:33 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 16:54:33 2015 -0400 Merge topic 'deprecate-ancient-Policies' into next 975108b7 Revert Help: Document deprecation of CMP0011 in the release notes. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=975108b7b25b3628868e438384ca7cdbd5c6888f commit 975108b7b25b3628868e438384ca7cdbd5c6888f Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 22:54:04 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Mon Jun 8 22:54:19 2015 +0200 Revert Help: Document deprecation of CMP0011 in the release notes. diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst index a6158d2..15127cc 100644 --- a/Help/release/3.3.rst +++ b/Help/release/3.3.rst @@ -271,26 +271,6 @@ Deprecated and Removed Features Other Changes = -* Policies - -* :policy:`CMP` -* :policy:`CMP0001` -* :policy:`CMP0002` -* :policy:`CMP0003` -* :policy:`CMP0004` -* :policy:`CMP0005` -* :policy:`CMP0006` -* :policy:`CMP0007` -* :policy:`CMP0008` -* :policy:`CMP0009` -* :policy:`CMP0010` -* :policy:`CMP0011` - - are now deprecated. In the next release of CMake, they will be required - to be set to ``NEW`` by either the :command:`cmake_policy` command or the - :command:`cmake_minimum_required` command. See - also :manual:`cmake-policies(7)` - * The :generator:`Ninja` generator now requires that calls to the :command:`add_custom_command` and :command:`add_custom_target` commands use the ``BYPRODUCTS`` option to explicitly specify any --- Summary of changes: Help/release/3.3.rst | 20 1 file changed, 20 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [cmake-developers] A policy for Policies
On 06/08/2015 04:43 PM, Stephen Kelly wrote: In fact, I added that in response to someone on SO recommending setting policies to OLD and pointed them to the commit and the generated docs, and they're still recommending the same thing as SO answers. Policies are alive too long to be credible pending error-conditions. They look like - and are treated as - feature toggles. Given the existing docs you quoted I don't think any further docs such as release notes will help. We would need to add a runtime warning to draw attention to pending removal. It would be different than the current not set warning and instead be not set to NEW. -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-commits] CMake branch, next, updated. v3.3.0-rc1-299-gc2b8218
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via c2b8218563aa73173833131b1b107511f765dc28 (commit) via c1528cf8ae58cf8b37c3e0bd6ecdb1e18ec4b7d0 (commit) from 541191bf9bf9da11893f4a4e0aef7315db8637ad (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c2b8218563aa73173833131b1b107511f765dc28 commit c2b8218563aa73173833131b1b107511f765dc28 Merge: 541191b c1528cf Author: Stephen Kelly steve...@gmail.com AuthorDate: Mon Jun 8 18:02:37 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 18:02:37 2015 -0400 Merge topic 'use-generator-target' into next c1528cf8 Compile Fixups. http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c1528cf8ae58cf8b37c3e0bd6ecdb1e18ec4b7d0 commit c1528cf8ae58cf8b37c3e0bd6ecdb1e18ec4b7d0 Author: Stephen Kelly steve...@gmail.com AuthorDate: Tue Jun 9 00:02:06 2015 +0200 Commit: Stephen Kelly steve...@gmail.com CommitDate: Tue Jun 9 00:02:06 2015 +0200 Compile Fixups. diff --git a/Source/cmGhsMultiTargetGenerator.cxx b/Source/cmGhsMultiTargetGenerator.cxx index 83b6cff..da371b1 100644 --- a/Source/cmGhsMultiTargetGenerator.cxx +++ b/Source/cmGhsMultiTargetGenerator.cxx @@ -23,21 +23,22 @@ std::string const cmGhsMultiTargetGenerator::DDOption(-dynamic); cmGhsMultiTargetGenerator::cmGhsMultiTargetGenerator(cmGeneratorTarget *target) : Target(target-Target) + , GeneratorTarget(target) , LocalGenerator(static_castcmLocalGhsMultiGenerator *( target-GetLocalGenerator())) , Makefile(target-Target-GetMakefile()) , TargetGroup(DetermineIfTargetGroup(target-Target)) , DynamicDownload(false) { - this-RelBuildFilePath = this-GetRelBuildFilePath(target); + this-RelBuildFilePath = this-GetRelBuildFilePath(target-Target); this-RelOutputFileName = this-RelBuildFilePath + this-Target-GetName() + .a; this-RelBuildFileName = this-RelBuildFilePath; - this-RelBuildFileName += this-GetBuildFileName(target); + this-RelBuildFileName += this-GetBuildFileName(target-Target); - std::string absPathToRoot = this-GetAbsPathToRoot(target); + std::string absPathToRoot = this-GetAbsPathToRoot(target-Target); absPathToRoot = this-AddSlashIfNeededToPath(absPathToRoot); this-AbsBuildFilePath = absPathToRoot + this-RelBuildFilePath; this-AbsBuildFileName = absPathToRoot + this-RelBuildFileName; @@ -354,11 +355,11 @@ void cmGhsMultiTargetGenerator::WriteTargetLinkLibraries() { // library directories cmTargetDependSet tds = -this-GetGlobalGenerator()-GetTargetDirectDepends(*this-Target); +this-GetGlobalGenerator()-GetTargetDirectDepends(this-GeneratorTarget); for (cmTargetDependSet::iterator tdsI = tds.begin(); tdsI != tds.end(); ++tdsI) { -const cmTarget *tg(*tdsI); +const cmTarget *tg = (*tdsI)-Target; *this-GetFolderBuildStreams() -L\ GetAbsBuildFilePath(tg) \ std::endl; } @@ -373,7 +374,8 @@ void cmGhsMultiTargetGenerator::WriteTargetLinkLibraries() cmTarget *tg(GetGlobalGenerator()-FindTarget(libName)); if (NULL != tg) { - cmGhsMultiTargetGenerator gmtg(tg); + cmGeneratorTarget* gt = GetGlobalGenerator()-GetGeneratorTarget(tg); + cmGhsMultiTargetGenerator gmtg(gt); libName = tg-GetName() + .a; } *this-GetFolderBuildStreams() -l\ libName \ diff --git a/Source/cmGhsMultiTargetGenerator.h b/Source/cmGhsMultiTargetGenerator.h index fc9532a..f268071 100644 --- a/Source/cmGhsMultiTargetGenerator.h +++ b/Source/cmGhsMultiTargetGenerator.h @@ -100,6 +100,7 @@ private: const std::string language); cmTarget *Target; + cmGeneratorTarget GeneratorTarget; cmLocalGhsMultiGenerator *LocalGenerator; cmMakefile *Makefile; std::string AbsBuildFilePath; diff --git a/Source/cmGlobalVisualStudioGenerator.cxx b/Source/cmGlobalVisualStudioGenerator.cxx index 8723956..475f079 100644 --- a/Source/cmGlobalVisualStudioGenerator.cxx +++ b/Source/cmGlobalVisualStudioGenerator.cxx @@ -307,7 +307,7 @@ void cmGlobalVisualStudioGenerator::FillLinkClosure(cmTarget const* target, { if(di-IsLink()) { -this-FillLinkClosure(di-Target, linked); +this-FillLinkClosure((*di)-Target, linked); } } } @@ -322,8 +322,7 @@ cmGlobalVisualStudioGenerator::GetTargetLinkClosure(cmTarget* target) { TargetSetMap::value_type entry(target, TargetSet()); i = this-TargetLinkClosure.insert(entry).first; -cmGeneratorTarget* gt =
[CMake] install_manifest.txt
Hi, The install_manifest.txt includes all the files installed by the entire project. Is it possible to get this list per subproject, ie per CMakeLists.txt? Thanks! -- 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
Re: [cmake-developers] A policy for Policies
Hi there, I suspect I'm the culprit in this case. To give a bit of context, I think the original recommendation was to the CMake ML (http://cmake.3232098.n2.nabble.com/Help-with-Policy-CMP0026-disallow-LOCATION-target-property-td7589336.html) and the other instance was a recent StackOverflow answer (http://stackoverflow.com/a/30669105/2556117). I'd hardly class the SO answer as a recommendation... but that's by the by :-) As a CMake user, I have a couple of observations here. I don't think any amount of documentation will entirely solve this. Compare the docs for policies (http://www.cmake.org/cmake/help/v3.3/manual/cmake-policies.7.html) with those for file(GLOB ...) (http://www.cmake.org/cmake/help/v3.3/command/file.html) and link_directories (http://www.cmake.org/cmake/help/v3.3/command/link_directories.html) All of these discourage the use of these features in some way (probably most noticeable for file(GLOB ...) due to the highlighting), but there are often answers on SO which recommend them. Having said that, I think the docs for policies is the least likely to be read of the three. I'm only guessing, but I expect users will be more likely to hit the page for the specific policy they're interested in, along with the page for the cmake_policy command (http://www.cmake.org/cmake/help/v3.3/command/cmake_policy.html). None of these pages gives even a hint that setting a policy to OLD is discouraged. From my own perspective, runtime warnings would be the best way to encourage me to use a different option other than setting a policy to OLD. Again as an outsider, if setting CMP0002 to OLD to allow duplicate target names is a guaranteed bug regardless of OS or compiler, I can't see a reason to continue supporting it. Cheers, Fraser. On 08/06/2015 21:52, Brad King wrote: On 06/08/2015 04:43 PM, Stephen Kelly wrote: In fact, I added that in response to someone on SO recommending setting policies to OLD and pointed them to the commit and the generated docs, and they're still recommending the same thing as SO answers. Policies are alive too long to be credible pending error-conditions. They look like - and are treated as - feature toggles. Given the existing docs you quoted I don't think any further docs such as release notes will help. We would need to add a runtime warning to draw attention to pending removal. It would be different than the current not set warning and instead be not set to NEW. -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-commits] CMake branch, master, updated. v3.3.0-rc1-111-g2848f93
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via 2848f93d1aa8420fa57351385aefe8042b675540 (commit) from d17aa60659a1a69f9101c61a149eca5842291226 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2848f93d1aa8420fa57351385aefe8042b675540 commit 2848f93d1aa8420fa57351385aefe8042b675540 Author: Kitware Robot kwro...@kitware.com AuthorDate: Tue Jun 9 00:01:04 2015 -0400 Commit: Kitware Robot kwro...@kitware.com CommitDate: Tue Jun 9 00:01:04 2015 -0400 CMake Nightly Date Stamp diff --git a/Source/CMakeVersion.cmake b/Source/CMakeVersion.cmake index c9aec51..67be073 100644 --- a/Source/CMakeVersion.cmake +++ b/Source/CMakeVersion.cmake @@ -1,5 +1,5 @@ # CMake version number components. set(CMake_VERSION_MAJOR 3) set(CMake_VERSION_MINOR 3) -set(CMake_VERSION_PATCH 20150608) +set(CMake_VERSION_PATCH 20150609) #set(CMake_VERSION_RC 1) --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[CMake] getting a build parameter from a file
First, my cmake code does this: sets ${metals} from a cmake command-line argument compares the contents of ${metals} against the contents of a file to note whether the variable is being changed since the last run of cmake writes the new value to that file for next time call an add_timestamp_file_target function. which touches the file metalsTimestamp if the variable is being changed or if the file doesn’t exist. Then comes this: set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} -DMETALS=${metals}) add_executable (metals metals.cc http://metals.cc/) add_dependencies (metals metalsTimestamp) My add_timestamp_file_target function has to use one of add_custom_target add_custom_command to make metalsTimestamp visible to the add_dependencies function. Problem is, it seems that those commands have to touch the file every time cmake runs, but I want to touch it only when necessary. Is there a way to make this work? -- 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
[CMake] CMake to find path to a file which its name contains a certain string
So I am writing a CMake module to find some libraries which is being used a lot in our company. These libraries all have different versions and are such a mess here. In a certain library, even the name of header files and binary files don't match. So I am writing a CMake script to handle all the problems of finding each library once and for all. What I have in my mind is to write something like how we find boost packages but include the version of each component as well. Something like this:find_package(OrgName COMPONENTS librarya-1.4.3 libraryb-2.3.1 libraryc-3.6.0)So I created a FindOrgName.cmake file and iterated on the requested components, then I processed the string which is passed and gained the library name along with its version information something like this (never mind the difference between include and binary files):IF(OrgName_FIND_COMPONENTS) FOREACH(comp ${OrgName_FIND_COMPONENTS}) SET(OrgName_${comp}_FOUND 0) STRING(FIND ${comp} - dashind REVERSE) STRING(LENGTH ${comp} length) STRING(SUBSTRING ${comp} 0 ${dashind} name) MATH(EXPR s ${dashind}+1) MATH(EXPR l ${length}-${dashind}-1) STRING(SUBSTRING ${comp} ${s} ${l} version) SET(OrgName_${name}_INCLUDE_DIR /usr/local/include/OrgName/${comp}/) find_library(OrgName_${comp}_LIBRARIES NAMES ${comp} HINTS /usr/lib) IF(OrgName_${comp}_INCLUDE_DIR AND OrgName_${comp}_LIBRARIES) SET(OrgName_${comp}_FOUND 1) ENDIF() IF(NOT OrgName_${comp}_FOUND AND OrgName_FIND_REQUIRED_${comp}) MESSAGE(FATAL_ERROR OrgName ${comp} not available.) ENDIF() SET (OrgName_INCLUDE_DIR ${OrgName_INCLUDE_DIR} ${OrgName_${comp}_INCLUDE_DIR}) SET (OrgName_LIBRARIES ${OrgName_LIBRARIES} ${OrgName_${comp}_LIBRARIES}) ENDFOREACH() ENDIF() Now here is the problem, imagine someone didn't enter the version part in components names. I want to search for the versions which he has installed (assume the path to library is always the same) and use the last version it can find, so I have to search for the files which their name contains the library name (${name}). First of all how can I do this? Second, Am I doing things right? I mean is there an easier way to do this task? -- 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
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc1-51-g25136d7
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via 25136d73945f9e0a6fbfc4abfde61e4dbd10e6c6 (commit) via cdf2cba3e71b92c5bddf7afe760c131953f999a4 (commit) from 534cc47cd603b10aecb212576d03c9f687dce292 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=25136d73945f9e0a6fbfc4abfde61e4dbd10e6c6 commit 25136d73945f9e0a6fbfc4abfde61e4dbd10e6c6 Merge: 534cc47 cdf2cba Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 10:34:53 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 10:34:53 2015 -0400 Merge topic 'vs-deterministic-guid' cdf2cba3 VS: Use cmUuid RFC 4122 compliant hash based UUID generation --- Summary of changes: Source/cmGlobalVisualStudio7Generator.cxx | 18 ++ 1 file changed, 10 insertions(+), 8 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc1-47-g092133b
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via 092133b1bace24c718a5798a800570a3f384e618 (commit) via 77ee6db50529abc784408d10156d5e4be61b8f18 (commit) via 124243c0eb6977690d4f99f17e8019c748af3668 (commit) via 14e2c3ad181e2090cb0846fb87743f7543484d08 (commit) from 9d68bd6a249e3c58fe4f7cb383ce27c14417c43c (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=092133b1bace24c718a5798a800570a3f384e618 commit 092133b1bace24c718a5798a800570a3f384e618 Merge: 9d68bd6 77ee6db Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 10:34:49 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 10:34:49 2015 -0400 Merge topic 'ExternalProject_init_selected_submodules' 77ee6db5 Help: Add notes for topic 'ExternalProject_init_selected_submodules' 124243c0 ExternalProject: Add unit tests for GIT_SUBMODULES argument 14e2c3ad ExternalProject: Initialize only selected git submodules (#15590) --- Summary of changes: .../ExternalProject_init_selected_submodules.rst |7 +++ Modules/ExternalProject.cmake |2 +- Tests/ExternalProject/CMakeLists.txt | 60 Tests/ExternalProject/gitrepo-sub.tgz | Bin 0 - 1911 bytes 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 Help/release/dev/ExternalProject_init_selected_submodules.rst create mode 100644 Tests/ExternalProject/gitrepo-sub.tgz hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc1-49-g534cc47
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via 534cc47cd603b10aecb212576d03c9f687dce292 (commit) via 0e708d17e9d667764d6363a3e03cadff27ca7992 (commit) from 092133b1bace24c718a5798a800570a3f384e618 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=534cc47cd603b10aecb212576d03c9f687dce292 commit 534cc47cd603b10aecb212576d03c9f687dce292 Merge: 092133b 0e708d1 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 10:34:51 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 10:34:51 2015 -0400 Merge topic 'doc-add_custom_command-clarify-TARGET_FILE' 0e708d17 Help: Reference TARGET_FILE genex in add_custom_command docs (#15605) --- Summary of changes: Help/command/add_custom_command.rst |3 +++ 1 file changed, 3 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [cmake-developers] Supporting versioned wx-config in FindwxWidgets.cmake
On 06/06/2015 01:41 PM, Alan W. Irwin wrote: -find_program(wxWidgets_CONFIG_EXECUTABLE wx-config +find_program(wxWidgets_CONFIG_EXECUTABLE wx-config wx-config-3.0 For reference, this was from upstreaming a Fedora patch: http://www.cmake.org/Bug/view.php?id=15540 wx-config wx-config-3.0 be changed to wx-config-3.0 wx-config-2.9 wx-config-2.8 wx-config As discussed in the above-lined issue we need the unversioned name first because someone could have a custom-built version earlier in their PATH and that should be found first. I've added the 2.9 and 2.8 versioned names here: FindwxWidgets: Fix find_program call for versioned names http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2c969743 -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] A policy for Policies
On 06/06/2015 06:36 AM, Stephen Kelly wrote: The documentation notes that Policies are not feature toggles: http://www.cmake.org/cmake/help/git-master/manual/cmake-policies.7.html However, the reality is that Policies *are* feature toggles because they are so long-lived. Users have no expectation that Policies will 'stop working', and happily set them to OLD and encourage others to do the same. I see this on StackOverflow all the time, and on the users mailing list. Yes. Documentation is never enough to discourage such decisions. When faced with the choice of add this line or read and understand the policy and port your code to the new behavior while possibly maintaining compatibility with versions of cmake that do not have the policy, which one will many users pick? I propose a policy that a Policy may be changed to REQUIRED_IF_USED in a release two years following the release which introduced it. We designed policies with the idea of switching to REQUIRED_IF_USED eventually. We just never had cause to actually do it before. will then result in an error if code attempts to set it to OLD, and recommend the user to use an older release or fix the code instead. It is not just explicit attempts to set the policy to OLD that will give an error. It is any time CMake needs to know the policy setting and it has not been set to NEW either explicitly or by use of cmake_minimum_required with a sufficiently recent version. In the case of CMP0011, the include() command will be used all over even within CMake's own modules and trigger query of the policy. This makes REQUIRED_IF_USED effectively REQUIRED_ALWAYS. This means any project that does not call cmake_minimum_required with version 2.6.3 will not be able to build with newer CMake versions. The only recourse a user will have to get such a project building will be to edit the source or try setting the policy to NEW using CMAKE_POLICY_DEFAULT_CMP: http://www.cmake.org/cmake/help/v3.3/variable/CMAKE_POLICY_DEFAULT_CMP.html (Side note: the error message could be updated to mention this.) This may be okay for CMP0011, but CMP0024 and CMP0026 were much more recent (3.0). I think 5 years is a more reasonable cut-off than 2 years, especially given the time it takes CMake versions included in older distro releases to fall out of common use. -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-commits] CMake branch, next, updated. v3.3.0-rc1-227-gafeb510
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via afeb51082864437d99ad97375f24e1f960466c49 (commit) via f5dbf00da67223c6f1d03cc4c88e05aa83b32f5b (commit) from 29450b7c1f9c9f9a3c64d49e0c53c28590247276 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=afeb51082864437d99ad97375f24e1f960466c49 commit afeb51082864437d99ad97375f24e1f960466c49 Merge: 29450b7 f5dbf00 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 10:16:37 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 10:16:37 2015 -0400 Merge topic 'mingw-find_library-dll-last' into next f5dbf00d Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=f5dbf00da67223c6f1d03cc4c88e05aa83b32f5b commit f5dbf00da67223c6f1d03cc4c88e05aa83b32f5b Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 10:08:59 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 10:16:18 2015 -0400 Windows-GNU: Restore find_library treatment of '.dll' as linkable (#15409) Revert commit v3.3.0-rc1~435^2 (Windows-GNU: Do not tell find_library to treat '.dll' as linkable, 2015-02-18). MinGW tools support linking to '.dll' files directly and many non-CMake build systems still do not provide a separate '.dll.a' file. diff --git a/Help/release/3.3.rst b/Help/release/3.3.rst index 15127cc..0beb354 100644 --- a/Help/release/3.3.rst +++ b/Help/release/3.3.rst @@ -251,12 +251,6 @@ Deprecated and Removed Features Projects may populate the :ref:`User Package Registry` to aid users building multiple dependent projects one after another. -* When building with GNU tools on Windows (MinGW tools), the - :command:`find_library` command will no longer consider - ``.dll`` files to be linkable libraries. All dynamic link - libraries are expected to provide separate ``.dll.a`` or - ``.lib`` import libraries. - * The :command:`add_definitions()` command no longer causes a :prop_dir:`DEFINITIONS` directory property to be populated. See policy :policy:`CMP0059`. diff --git a/Modules/Platform/Windows-GNU.cmake b/Modules/Platform/Windows-GNU.cmake index b571b16..b97409c 100644 --- a/Modules/Platform/Windows-GNU.cmake +++ b/Modules/Platform/Windows-GNU.cmake @@ -35,7 +35,7 @@ endif() if(MINGW) set(CMAKE_FIND_LIBRARY_PREFIXES lib ) - set(CMAKE_FIND_LIBRARY_SUFFIXES .dll.a .a .lib) + set(CMAKE_FIND_LIBRARY_SUFFIXES .dll .dll.a .a .lib) set(CMAKE_C_STANDARD_LIBRARIES_INIT -lkernel32 -luser32 -lgdi32 -lwinspool -lshell32 -lole32 -loleaut32 -luuid -lcomdlg32 -ladvapi32) set(CMAKE_CXX_STANDARD_LIBRARIES_INIT ${CMAKE_C_STANDARD_LIBRARIES_INIT}) endif() --- Summary of changes: Help/release/3.3.rst |6 -- Modules/Platform/Windows-GNU.cmake |2 +- 2 files changed, 1 insertion(+), 7 deletions(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, master, updated. v3.3.0-rc1-55-gc8997d1
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, master has been updated via c8997d1b32c866b9f45c3af51e4abc431ca2ebc7 (commit) via 4e5c70abe27997f17318cc6aca38eeddec486798 (commit) via 7b9c75860d25479a153831740d289e8aca540f4d (commit) via 1b323949fe6770fa36846a5a85d049121c7ce2c4 (commit) from 25136d73945f9e0a6fbfc4abfde61e4dbd10e6c6 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=c8997d1b32c866b9f45c3af51e4abc431ca2ebc7 commit c8997d1b32c866b9f45c3af51e4abc431ca2ebc7 Merge: 25136d7 4e5c70a Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 10:34:55 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 10:34:55 2015 -0400 Merge topic 'extract-cmLinkedTree' 4e5c70ab cmState: Extract a cmLinkedTree container adaptor. 7b9c7586 cmState: Group BuildsystemDirectory state together in a struct. 1b323949 cmState: Extend Snapshot concept with a SnapshotType. --- Summary of changes: Source/CMakeLists.txt |1 + Source/cmLinkedTree.h | 164 + Source/cmState.cxx| 144 +-- Source/cmState.h | 29 + 4 files changed, 250 insertions(+), 88 deletions(-) create mode 100644 Source/cmLinkedTree.h hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-236-g3619ae8
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 3619ae8de984c60ce34c3471ef95a38f61eeaf99 (commit) via c8997d1b32c866b9f45c3af51e4abc431ca2ebc7 (commit) via 25136d73945f9e0a6fbfc4abfde61e4dbd10e6c6 (commit) via 534cc47cd603b10aecb212576d03c9f687dce292 (commit) via 092133b1bace24c718a5798a800570a3f384e618 (commit) via 9d68bd6a249e3c58fe4f7cb383ce27c14417c43c (commit) from 0a6a39952fd764fc005041806dccb4945128be74 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3619ae8de984c60ce34c3471ef95a38f61eeaf99 commit 3619ae8de984c60ce34c3471ef95a38f61eeaf99 Merge: 0a6a399 c8997d1 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 10:37:01 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 10:37:01 2015 -0400 Merge branch 'master' into next --- Summary of changes: Source/CMakeVersion.cmake |2 +- 1 file changed, 1 insertion(+), 1 deletion(-) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-225-g29450b7
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 29450b7c1f9c9f9a3c64d49e0c53c28590247276 (commit) via d9b974b18ebad4bd84f40e7cebe01725f081bd5e (commit) from fe8eb21f76a0a61ef19d48002958757ece0ce298 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=29450b7c1f9c9f9a3c64d49e0c53c28590247276 commit 29450b7c1f9c9f9a3c64d49e0c53c28590247276 Merge: fe8eb21 d9b974b Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 09:59:50 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 09:59:50 2015 -0400 Merge topic 'cmake-gui-osx-install-command-line' into next d9b974b1 cmake-gui: Make command-line install help text selectable http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d9b974b18ebad4bd84f40e7cebe01725f081bd5e commit d9b974b18ebad4bd84f40e7cebe01725f081bd5e Author: Clinton Stimpson clin...@elemtech.com AuthorDate: Mon Jun 8 09:22:24 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 09:59:11 2015 -0400 cmake-gui: Make command-line install help text selectable This will allow users to cut-n-paste the instructions over to a command prompt. diff --git a/Source/QtDialog/CMakeSetupDialog.cxx b/Source/QtDialog/CMakeSetupDialog.cxx index 426fa12..bc783a3 100644 --- a/Source/QtDialog/CMakeSetupDialog.cxx +++ b/Source/QtDialog/CMakeSetupDialog.cxx @@ -445,6 +445,7 @@ void CMakeSetupDialog::doInstallForCommandLine() l-addWidget(lab); lab-setText(msg); lab-setWordWrap(false); + lab-setTextInteractionFlags(Qt::TextSelectableByMouse); QDialogButtonBox* btns = new QDialogButtonBox(QDialogButtonBox::Ok, Qt::Horizontal, dialog); QObject::connect(btns, SIGNAL(accepted()), dialog, SLOT(accept())); --- Summary of changes: Source/QtDialog/CMakeSetupDialog.cxx |1 + 1 file changed, 1 insertion(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
[Cmake-commits] CMake branch, next, updated. v3.3.0-rc1-221-g572f5cd
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project CMake. The branch, next has been updated via 572f5cd0f989be995ddffee88cad9fe465569cbb (commit) via 0e708d17e9d667764d6363a3e03cadff27ca7992 (commit) from 2f67bcf5266384a557dceaa17161616a5d2044dd (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log - http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=572f5cd0f989be995ddffee88cad9fe465569cbb commit 572f5cd0f989be995ddffee88cad9fe465569cbb Merge: 2f67bcf 0e708d1 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 09:07:21 2015 -0400 Commit: CMake Topic Stage kwro...@kitware.com CommitDate: Mon Jun 8 09:07:21 2015 -0400 Merge topic 'doc-add_custom_command-clarify-TARGET_FILE' into next 0e708d17 Help: Reference TARGET_FILE genex in add_custom_command docs (#15605) http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=0e708d17e9d667764d6363a3e03cadff27ca7992 commit 0e708d17e9d667764d6363a3e03cadff27ca7992 Author: Brad King brad.k...@kitware.com AuthorDate: Mon Jun 8 09:04:23 2015 -0400 Commit: Brad King brad.k...@kitware.com CommitDate: Mon Jun 8 09:06:26 2015 -0400 Help: Reference TARGET_FILE genex in add_custom_command docs (#15605) When documenting in the COMMAND option how to reference an executable, we previously only explicitly covered how to do it for argv[0] and left it to the reader to follow the reference to the generator expressions manual. Add explicit mention of the TARGET_FILE genex in this documentation since it will be a commonly used generator expression in this context. diff --git a/Help/command/add_custom_command.rst b/Help/command/add_custom_command.rst index e646c56..ecbf9dd 100644 --- a/Help/command/add_custom_command.rst +++ b/Help/command/add_custom_command.rst @@ -79,6 +79,9 @@ The options are: If ``COMMAND`` specifies an executable target (created by the :command:`add_executable` command) it will automatically be replaced by the location of the executable created at build time. + (Use the ``TARGET_FILE`` + :manual:`generator expression cmake-generator-expressions(7)` to + reference an executable later in the command line.) Additionally a target-level dependency will be added so that the executable target will be built before any target using this custom command. However this does NOT add a file-level dependency that --- Summary of changes: Help/command/add_custom_command.rst |3 +++ 1 file changed, 3 insertions(+) hooks/post-receive -- CMake ___ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits
Re: [CMake] [ANNOUNCE] CMake 3.3.0-rc1 is now ready!
We are very interested in using the include-what-you-use functionality. Is there a wiki page or something that can help us get all the dependencies setup, compiled and working. Thanks Mike Jackson -Original Message- From: CMake [mailto:cmake-boun...@cmake.org] On Behalf Of Robert Maynard Sent: Friday, June 5, 2015 9:03 AM To: CMake MailingList Subject: [CMake] [ANNOUNCE] CMake 3.3.0-rc1 is now ready! I am proud to announce the first CMake 3.3 release candidate. Sources and binaries are available at: http://www.cmake.org/download/ Documentation is available at: http://www.cmake.org/cmake/help/v3.3 Release notes appear below and are also published at http://www.cmake.org/cmake/help/v3.3/release/3.3.html Some of the more significant features of CMake 3.3 are: * The if() command learned a new IN_LIST operator that evaluates to true if a given element is contained in a named list. * The add_dependencies() command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The find_library(), find_path(), and find_file() commands now search in installation prefixes derived from the PATH environment variable. * The LANG_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN target properties now affect compilation in sources of all target types. See policy CMP0063. * A LANG_INCLUDE_WHAT_YOU_USE target property and supporting CMAKE_LANG_INCLUDE_WHAT_YOU_USE variable were introduced to tell the *Makefile Generators* and the Ninja generator to run include- what-you-use along with the compiler for C and CXX languages. Deprecated and Removed Features: * The ctest_build() and build_command() commands no longer tell make tools to ignore errors with the -i option. Previously this was done for *Makefile Generators* but not others. See policy CMP0061. * The Visual Studio 7 generator (.NET 2002) is now deprecated and will be removed in a future version of CMake. * The Visual Studio 6 generator is now deprecated and will be removed in a future version of CMake. * The add_definitions() command no longer causes a DEFINITIONS directory property to be populated. See policy CMP0059. CMake 3.3 Release Notes *** Changes made since CMake 3.2 include the following. New Features Generators -- * The *Makefile Generators* now add .DELETE_ON_ERROR to the makefiles that contain the actual build rules for files on disk. This tells GNU make to remove rule outputs when their recipe modifies an output but fails. * The *Visual Studio Generators* learned to support .xaml source files and automatically associate them with corresponding .h and .cpp sources. * A new experimental Green Hills MULTI generator was added on Windows. Green Hills MULTI is an IDE for embedded real-time systems. Commands * The add_dependencies() command learned to allow dependencies to be added to *interface libraries*. Dependencies added to an interface library are followed transitively in its place since the target itself does not build. * The execute_process() command learned to support specifying the same file for OUTPUT_FILE and ERROR_FILE. * The file(GLOB) and file(GLOB_RECURSE) commands learned a new LIST_DIRECTORIES bool option to specify whether the glob result should include directories. * The find_library(), find_path(), and find_file() commands now search in installation prefixes derived from the PATH environment variable. * The if() command learned a new IN_LIST operator that evaluates to true if a given element is contained in a named list. * The install(EXPORT) and export() commands learned to export targets that populate the INTERFACE_SOURCES target property. * The install(TARGETS) command learned to support generator expressions in the DESTINATION value. Variables - * The version of some Fortran compilers is now detected and stored in the CMAKE_Fortran_COMPILER_VERSION variable. * The *Visual Studio Generators* learned a new CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD option to put the INSTALL target in the default build of a solution (.sln) file. Properties -- * A CROSSCOMPILING_EMULATOR target property and supporting CMAKE_CROSSCOMPILING_EMULATOR variable were introduced to allow target platform binaries to run on the host during cross compiling. * A LANG_INCLUDE_WHAT_YOU_USE target property and supporting CMAKE_LANG_INCLUDE_WHAT_YOU_USE variable were introduced to tell the *Makefile Generators* and the Ninja generator to run include- what-you-use along with the compiler for C and CXX languages. * The LANG_VISIBILITY_PRESET and VISIBILITY_INLINES_HIDDEN target properties now affect compilation in sources of all target types. See policy CMP0063. * The XCODE_ATTRIBUTE_an-attribute target property learned to support
Re: [cmake-developers] Supporting versioned wx-config in FindwxWidgets.cmake
On 2015-06-08 09:19-0400 Brad King wrote: On 06/06/2015 01:41 PM, Alan W. Irwin wrote: -find_program(wxWidgets_CONFIG_EXECUTABLE wx-config +find_program(wxWidgets_CONFIG_EXECUTABLE wx-config wx-config-3.0 For reference, this was from upstreaming a Fedora patch: http://www.cmake.org/Bug/view.php?id=15540 wx-config wx-config-3.0 be changed to wx-config-3.0 wx-config-2.9 wx-config-2.8 wx-config As discussed in the above-lined issue we need the unversioned name first because someone could have a custom-built version earlier in their PATH and that should be found first. I've added the 2.9 and 2.8 versioned names here: FindwxWidgets: Fix find_program call for versioned names http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=2c969743 Thanks for including 2.8 and 2.9. However, I notice an apparent order inconsistency is now left in this module which may not be your intent; the PATH_SUFFIXES are specified in descending versioned order followed by unversioned as in my original suggestion for wx-config. If the decision is to adopt generic name first for wx-config shouldn't you use that same convention for PATH_SUFFIXES or is there some reason for PATH_SUFFIXES and NAMES to have different ordering conventions? I appreciate that it is possible that old find modules included in CMake could be all over the map in terms of their ordering conventions, and you will have to stick to whatever was decided for each old module for backwards inconsistency. However, if there is a preferred versioned/unversioned ordering convention separately or jointly for PATH_SUFFIXES and NAMES in new find modules could you please document that somewhere (or point me to that documentation if it exists)? Alan __ Alan W. Irwin Astronomical research affiliation with Department of Physics and Astronomy, University of Victoria (astrowww.phys.uvic.ca). Programming affiliations with the FreeEOS equation-of-state implementation for stellar interiors (freeeos.sf.net); the Time Ephemerides project (timeephem.sf.net); PLplot scientific plotting software package (plplot.sf.net); the libLASi project (unifont.org/lasi); the Loads of Linux Links project (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net). __ Linux-powered Science __ -- 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