diff options
author | Brad King <brad.king@kitware.com> | 2023-10-17 14:20:21 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2023-10-17 14:20:31 (GMT) |
commit | 3de46de11a2e98184c445f728f438939eb7a8519 (patch) | |
tree | b4e8aa1cf15b744dcc7dc5ce78d1e593471b2f89 | |
parent | c672e51bd375b3fca4a22eef00ad6bcb8d4b1a10 (diff) | |
parent | 9bac4bb88d56d1a4c5fad2ea1e5baf924d1cb024 (diff) | |
download | CMake-3de46de11a2e98184c445f728f438939eb7a8519.zip CMake-3de46de11a2e98184c445f728f438939eb7a8519.tar.gz CMake-3de46de11a2e98184c445f728f438939eb7a8519.tar.bz2 |
Merge topic 'ExternalProject-ghs'
9bac4bb88d ExternalProject: Fix INSTALL step for GHS generator
Acked-by: Kitware Robot <kwrobot@kitware.com>
Acked-by: buildbot <buildbot@kitware.com>
Merge-request: !8879
-rw-r--r-- | Modules/ExternalProject.cmake | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index f43f48d..67b805b 100644 --- a/Modules/ExternalProject.cmake +++ b/Modules/ExternalProject.cmake @@ -1934,8 +1934,10 @@ function(_ep_get_build_command set(args) _ep_get_configure_command_id(${name} cfg_cmd_id) if(cfg_cmd_id STREQUAL "cmake") - # CMake project. Select build command based on generator. - get_target_property(cmake_generator ${name} _EP_CMAKE_GENERATOR) + # Adding a CMake project as an External Project. Select command based on generator + get_property(cmake_generator TARGET ${name} PROPERTY _EP_CMAKE_GENERATOR) + # cmake_generator is the CMake generator of the ExternalProject target being added + # CMAKE_GENERATOR is the CMake generator of the Current Project if("${CMAKE_GENERATOR}" MATCHES "Make" AND ("${cmake_generator}" MATCHES "Make" OR NOT cmake_generator)) # The project uses the same Makefile generator. Use recursive make. @@ -1948,6 +1950,11 @@ function(_ep_get_build_command endif() else() # Drive the project with "cmake --build". + if(NOT cmake_generator) + # If there is no CMake Generator defined on the ExternalProject, + # use the same Generator as the current project + set(cmake_generator "${CMAKE_GENERATOR}") + endif() get_target_property(cmake_command ${name} _EP_CMAKE_COMMAND) if(cmake_command) set(cmd "${cmake_command}") @@ -1977,7 +1984,11 @@ function(_ep_get_build_command list(APPEND args --config ${config}) endif() if(step STREQUAL "INSTALL") - list(APPEND args --target install) + if("${cmake_generator}" MATCHES "Green Hills MULTI") + list(APPEND args --target INSTALL) + else() + list(APPEND args --target install) + endif() endif() # But for "TEST" drive the project with corresponding "ctest". if("x${step}x" STREQUAL "xTESTx") |