我已将自定义目标添加到CMakeLists.txt
add_custom_target (
patch
COMMAND echo "Creating build"
COMMAND cd ${CMAKE_BINARY_DIR} && sudo bash a.sh
COMMAND cd ${CMAKE_BINARY_DIR} && sudo bash b.sh name
COMMAND cd ${CMAKE_BINARY_DIR} && sudo bash b.sh address
DEPENDS authorise
DEPENDS copy
)
在上述情况下发生的情况是,我已在某些情况下终止了a.sh
与exit 0
的执行,但在终止该脚本后,cmake
正在进一步执行b.sh
}
我想要的是,当我从第一个脚本终止时,cmake target
的执行也必须终止。我不想去b.sh
执行它。
我们是否有办法停止或终止执行CMAKE target
任何帮助将不胜感激
答案 0 :(得分:1)
COMMAND
中的一系列add_custom_target
被翻译为cmd1 && cmd2 && cmd3
。
因此,您不必退出代码0,而是必须返回其他内容。 shell脚本中的Catch Ctrl+C signal并返回非零代码:
trap ctrl_c INT
function ctrl_c() {
exit 1
}