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 3748be6afa12f0f0d7d3b51ee44d7908e86a19bd (commit) via 265f4288be6429656824928243d7390401f4c882 (commit) from ea896482b563918c9d839577adab1ee926893bcd (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 ----------------------------------------------------------------- https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=3748be6afa12f0f0d7d3b51ee44d7908e86a19bd commit 3748be6afa12f0f0d7d3b51ee44d7908e86a19bd Merge: ea89648 265f428 Author: Brad King <brad.k...@kitware.com> AuthorDate: Fri Feb 5 14:38:38 2016 -0500 Commit: CMake Topic Stage <kwro...@kitware.com> CommitDate: Fri Feb 5 14:38:38 2016 -0500 Merge topic 'ExternalProject-build-config-compat' into next 265f4288 ExternalProject: Be compatible with projects setting CMAKE_CFG_INTDIR https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=265f4288be6429656824928243d7390401f4c882 commit 265f4288be6429656824928243d7390401f4c882 Author: Brad King <brad.k...@kitware.com> AuthorDate: Fri Feb 5 14:18:01 2016 -0500 Commit: Brad King <brad.k...@kitware.com> CommitDate: Fri Feb 5 14:28:42 2016 -0500 ExternalProject: Be compatible with projects setting CMAKE_CFG_INTDIR Since commit v3.5.0-rc1~32^2~1 (ExternalProject: Simplify `cmake --build` configuration passing, 2016-01-19) we use the `$<CONFIG>` generator expression to generate the `cmake --build . --config <config>` value for the default BUILD_COMMAND instead of the CMAKE_CFG_INTDIR placeholder value provided by multi-config generators. However, some projects have been abusing the old implementation detail by setting CMAKE_CFG_INTDIR themselves to get a specific configuration. Those projects should be updated to set their own BUILD_COMMAND to get non-default behavior. Meanwhile we can be compatible with their existing releases by detecting when CMAKE_CFG_INTDIR is not a generator-provided placeholder and using its value instead. diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index 7070dc4..8b5e90f 100644 --- a/Modules/ExternalProject.cmake +++ b/Modules/ExternalProject.cmake @@ -1231,7 +1231,20 @@ function(_ep_get_build_command name step cmd_var) endif() set(args --build ".") if(CMAKE_CONFIGURATION_TYPES) - list(APPEND args --config $<CONFIG>) + if (CMAKE_CFG_INTDIR AND + NOT CMAKE_CFG_INTDIR STREQUAL "." AND + NOT CMAKE_CFG_INTDIR MATCHES "\\$") + # CMake 3.4 and below used the CMAKE_CFG_INTDIR placeholder value + # provided by multi-configuration generators. Some projects were + # taking advantage of that undocumented implementation detail to + # specify a specific configuration here. They should use + # BUILD_COMMAND to change the default command instead, but for + # compatibility honor the value. + set(config ${CMAKE_CFG_INTDIR}) + else() + set(config $<CONFIG>) + endif() + list(APPEND args --config ${config}) endif() if(step STREQUAL "INSTALL") list(APPEND args --target install) @@ -1241,7 +1254,7 @@ function(_ep_get_build_command name step cmd_var) string(REGEX REPLACE "^(.*/)cmake([^/]*)$" "\\1ctest\\2" cmd "${cmd}") set(args "") if(CMAKE_CONFIGURATION_TYPES) - list(APPEND args -C $<CONFIG>) + list(APPEND args -C ${config}) endif() endif() endif() ----------------------------------------------------------------------- Summary of changes: Modules/ExternalProject.cmake | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) hooks/post-receive -- CMake _______________________________________________ Cmake-commits mailing list Cmake-commits@cmake.org http://public.kitware.com/mailman/listinfo/cmake-commits