summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2023-10-17 14:20:21 (GMT)
committerKitware Robot <kwrobot@kitware.com>2023-10-17 14:20:31 (GMT)
commit3de46de11a2e98184c445f728f438939eb7a8519 (patch)
treeb4e8aa1cf15b744dcc7dc5ce78d1e593471b2f89
parentc672e51bd375b3fca4a22eef00ad6bcb8d4b1a10 (diff)
parent9bac4bb88d56d1a4c5fad2ea1e5baf924d1cb024 (diff)
downloadCMake-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.cmake17
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")