ExternalProject: Fix INSTALL step for GHS generator

Fixes: #25267
This commit is contained in:
William Sciaroni
2023-10-13 15:32:47 -05:00
parent 0cd2ada2d1
commit 9bac4bb88d

View File

@@ -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")