重命名cpack自动目标

时间:2012-09-06 14:55:31

标签: cmake cpack

当您在INCLUDE(CPack)文件中CMakeLists.txt时,会向生成的构建文件添加名为package的目标。您可以配置有关生成的目标及其运行方式的许多内容,但我似乎无法找到更改目标本身名称的方法;即,而不是包含名为Makefile的目标的生成package,我希望它包含一个名为(例如)bundle的目标。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:5)

如果最外层的二进制构建目录中存在名为package的程序包配置文件,则CMake仅添加默认的CPackConfig.cmake目标。通过强制CPack模块以不同的名称生成包文件,可以阻止创建package目标:

set (CPACK_OUTPUT_CONFIG_FILE "${CMAKE_BINARY_DIR}/BundleConfig.cmake")
include(CPack)

您可以手动添加bundle目标:

add_custom_target(bundle
    COMMAND "${CMAKE_CPACK_COMMAND}" 
    "-C" "$<CONFIGURATION>" "--config" "${CMAKE_BINARY_DIR}/BundleConfig.cmake")

对于默认的package_source目标也是如此。使用变量CPACK_SOURCE_OUTPUT_CONFIG_FILE覆盖默认包配置文件名CPackSourceConfig.cmake