mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 10:50:16 -06:00
ExternalProject: Install CMake projects using 'cmake --install'
In some cases, `cmake --install .` implements additional semantics over just `cmake --build . --target install`. For example, using the Xcode "new build system" with `IOS_INSTALL_COMBINED` requires special support from `cmake --install` beyond building the `install` target. Fixes: #23946
This commit is contained in:
@@ -1840,7 +1840,11 @@ function(_ep_get_build_command
|
||||
else()
|
||||
set(cmd "${CMAKE_COMMAND}")
|
||||
endif()
|
||||
set(args --build ".")
|
||||
if(step STREQUAL "INSTALL")
|
||||
set(args --install ".")
|
||||
else()
|
||||
set(args --build ".")
|
||||
endif()
|
||||
get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
if(_isMultiConfig)
|
||||
if (CMAKE_CFG_INTDIR AND
|
||||
@@ -1862,9 +1866,6 @@ function(_ep_get_build_command
|
||||
endif()
|
||||
list(APPEND args --config ${config})
|
||||
endif()
|
||||
if(step STREQUAL "INSTALL")
|
||||
list(APPEND args --target install)
|
||||
endif()
|
||||
# But for "TEST" drive the project with corresponding "ctest".
|
||||
if("x${step}x" STREQUAL "xTESTx")
|
||||
string(REGEX REPLACE "^(.*/)cmake([^/]*)$" "\\1ctest\\2" cmd "${cmd}")
|
||||
|
||||
Reference in New Issue
Block a user