5

遇到与此处描述的相同问题,我想将 shell 脚本作为 TARGET“包”的 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"
 )

但这不起作用。当我调用“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 )
4

0 回答 0