From c0b749cf62a2e985c2b1f94ff919107dbd697b2c Mon Sep 17 00:00:00 2001 From: "Daniele E. Domenichelli" Date: Wed, 5 Nov 2014 00:31:32 +0100 Subject: [PATCH] ExternalProject: Always add a command to a step Some generators (i.e. Xcode) will not generate a file level target if no command is set, and therefore the dependencies on this target will be broken. This patch sets an empty echo command that does nothing to avoid this issue. --- Modules/ExternalProject.cmake | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Modules/ExternalProject.cmake b/Modules/ExternalProject.cmake index 851343799..bf6cd21e8 100644 --- a/Modules/ExternalProject.cmake +++ b/Modules/ExternalProject.cmake @@ -1423,6 +1423,15 @@ function(ExternalProject_Add_Step name step) _ep_write_log_script(${name} ${step} command) endif() + if("${command}" STREQUAL "") + # Some generators (i.e. Xcode) will not generate a file level target + # if no command is set, and therefore the dependencies on this + # target will be broken. + # The empty command is replaced by an echo command here in order to + # avoid this issue. + set(command ${CMAKE_COMMAND} -E echo_append) + endif() + add_custom_command( OUTPUT ${stamp_file} COMMENT ${comment}