我正在这样做:
add_custom_target(Target1
COMMAND Command1
)
add_custom_target(Target2
COMMAND Command2
)
add_dependencies(Target2 Target1)
但是,如果Command1
具有非零退出代码,则永远不会运行Command2
。有没有办法确保Target2
在Target1
后运行,但不管Command1
的退出代码是什么?
我最终得到了这个:
file(WRITE ${CMAKE_BINARY_DIR}/NoExitCodeTests.cmake "execute_process(COMMAND ctest)")
add_custom_target(Target1
COMMAND ${CMAKE_COMMAND} -P NoExitCodeTests.cmake
)
这将使 Target1 始终返回 0,无论 ctest
中发生什么。丑陋,但有时CMake是丑陋的:)