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