与描述的here有同样的问题,我想执行一个shell脚本作为TARGET" package"的POST_BUILD命令。目标平台是Debian / Ubuntu。
我将以下内容添加到我的CMakeLists的末尾:
add_custom_command(
TARGET package
POST_BUILD
COMMAND bash ${PROJECT_BINARY_DIR}/fixup_deb.sh
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
COMMENT "Fix file-permissions of md5sum files in debian package"
)
但这不起作用。当我打电话给#34; make package"脚本没有改变。
目前,我有一个自定义目标的解决方法:
add_custom_target(
correctDeb
COMMAND bash ${PROJECT_BINARY_DIR}/fixup_deb.sh
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)
但如果在调用" make package"时自动完成,那对我来说会更舒服,也更安全。
顺便说一句, $ {PROJECT_BINARY_DIR} /fixup_deb.sh 的生成也适用于:
configure_file( "${CMAKE_CURRENT_LIST_DIR}/debian/fixup_deb.sh.in" "${PROJECT_BINARY_DIR}/fixup_deb.sh" @ONLY IMMEDIATE )