add_custom_command(
OUTPUT my_output.out
COMMAND ${MY_TOOL} ${PARAMETERS}
DEPENDS ${MY_OBJECT_FILES}
VERBATIM)
我有上面的
add_custom_command
在我的cmake
DEPENDS
关于文件名(
MY_OBJECT_FILES
)它们从列表中生成为:
set(MY_OBJECT_FILES "")
foreach(config ${CONFIGURATIONS})
set(MY_OBJECT_FILES "${MY_OBJECT_FILES} ${CMAKE_CURRENT_BINARY_DIR}/generated-file-${config}.o")
endforeach()
以上
foreach
循环生成一个字符串,该字符串包含由
whitespace
.但是当cmake建造大楼时,它会额外投入
\
在开始和之前
空白
它把建筑搞砸了。
它看起来是这样的:
my_output.out: \ /home/user/project/build/generated-file-config1.o\ /home/user/project/build/generated-file-config2.o\ /home/user/project/build/generated-file-config3.o\
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --blue --bold --progress-dir=/home/user/project/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Generating my_output.out"
/opt/bin/my_tool -parameter1=5 -parameter2=4
如何解决此问题并提供
取决于
带有适当的
空白
文件的分隔列表?