cmake的產生類似的安裝規則如下:是否可以將安裝後命令添加到由cmake生成的頂級Makefile中?
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
.PHONY : install
我想要做的是有cmake_install.cmake後執行一些自定義的命令被調用,所以它看起來是這樣的:
# Special rule for the target install
install: preinstall
@$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Install the project..."
/usr/local/bin/cmake -P cmake_install.cmake
post_install_command_1
...
post_install_command_n
.PHONY : install
我可以使用「add_custom_command(TARGET ... POST_BUILD ...)」來完成我們所寫的內容(需要更新6到10個宏)。然而,有一些第三方的東西被安裝,我真的不希望爲它們添加POST_BUILD自定義命令(目前有19個項目將有更多的項目,並且可能很難確定需要處理的東西在安裝之後而不是在安裝之後)。我認爲如果自定義命令僅用於一個地方(即作爲安裝處理的最後部分),並且我知道他們將執行所有必要的操作,那麼維護起來會容易得多。
是否可以讓cmake將命令添加到頂層Makefile的安裝規則中?
謝謝!我發誓我嘗試過這樣的事情,但沒有奏效。試了一遍,它似乎工作。猜猜我必須有一個錯字(或其他東西),使它無法正常工作。 – joast 2012-04-03 21:33:30
這不適用於我的構建子目錄。在從子目錄中包含所有cmake_install.cmake之前執行最外面的CMakeLists.txt的結尾。 – rickfoosusa 2015-02-24 22:08:53
有點棘手,特別是關於從根指定子目錄安裝路徑和目標,但最終得到它的工作。 – taranaki 2017-06-13 18:33:31