Commit 52a81d67 authored by Brad King's avatar Brad King
Browse files

Merge branch 'ExternalProject-build-config-compat' into release

parents cb409699 1b9d15c1
......@@ -1231,7 +1231,22 @@ 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})
message(AUTHOR_WARNING "CMAKE_CFG_INTDIR should not be set by project code.\n"
"To get a non-default build command, use the BUILD_COMMAND option.")
else()
set(config $<CONFIG>)
endif()
list(APPEND args --config ${config})
endif()
if(step STREQUAL "INSTALL")
list(APPEND args --target install)
......@@ -1241,7 +1256,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()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment