2012-09-06 54 views
0

INCLUDE(CPack)CMakeLists.txt文件中時,它會將一個名爲package的目標添加到生成的生成文件中。你可以配置很多關於生成的目標以及它如何操作的內容,但我似乎無法找到改變目標本身名稱的方法。即代替生成的包含名爲package的目標的Makefile,我希望它包含一個名爲(例如)bundle的代替。有沒有辦法做到這一點?重命名cpack自動目標

回答

4

如果在最外層的二進制編譯目錄中存在名爲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

+0

奇妙 - 工程太棒了! –