重命名 cpack 自动目标
Posted
技术标签:
【中文标题】重命名 cpack 自动目标【英文标题】:Renaming cpack automatic target 【发布时间】:2012-09-06 14:55:30 【问题描述】:当您在CMakeLists.txt
文件中INCLUDE(CPack)
时,它会将名为package
的目标添加到生成的构建文件中。您可以对生成的目标及其运行方式进行很多配置,但我似乎无法找到更改目标本身名称的方法;即,而不是生成的Makefile
包含一个名为package
的目标,我希望它包含一个名为(例如)bundle
的目标。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:如果最外面的二进制构建目录中存在名为 CPackConfig.cmake
的包配置文件,CMake 只会添加默认的 package
目标。通过强制 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
。
【讨论】:
当我尝试这种方法时,命令cmake --build . --target bundle
立即调用 cpack,而不构建目标。我想需要设置一些依赖项,但我不知道如何设置。以上是关于重命名 cpack 自动目标的主要内容,如果未能解决你的问题,请参考以下文章