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