2017-01-27 91 views
1

假設我用CPack:有沒有辦法讓自定義目標取決於CPack?

包括(CPack)

這理應增加了兩個額外的目標:packagepackage_source,但是如果我想使依賴於它這樣的封裝後的目標:

make[2]: *** No rule to make target `CMakeFiles/package.dir/all', needed by `CMakeFiles/do_something_to_package.dir/all'. Stop. 

是:

add_custom_target(do_something_to_package ...) 
add_dependencies(do_something_to_package package) 

我建的時候,像這樣得到一個錯誤有什麼辦法可以做到這一點?

+0

似乎有[此錯誤報告](https://gitlab.kitware.com/cmake/cmake/issues/8438)。 – Timmmm

回答

0

啊,是繼How to add_custom_target that depends on "make install" question,這似乎工作:

add_custom_target(package_target 
    COMMAND "${CMAKE_COMMAND}" --build . --target package 
    WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" 
    COMMENT "Building package" 
    DEPENDS stuff_required_for_package 
    VERBATIM 
) 

不完全是優雅的,但它可能會更糟!另外它似乎沒有特別適合並行構建。不完全確定爲什麼,但爲了發佈,我會做一個非平行的構建,以確保安全。

相關問題