2012-02-19 36 views
12

我對這個問題領域的術語有點不確定,當我嘗試搜索某些東西時,這是一個問題。cmake「make run」

我爲我的構建過程使用CMake。我想創建一個Makefile目標,以便我可以使用make run來運行給定的進程(具體來說,我剛剛使用make構建的進程)。我意識到我可以創建一個shell腳本,或者通過輸入命令來運行命令。如果我在寫一個Makefile我自己,我會做這個,像這樣:


run: 
    ./path/to/binary 

我從來沒有寫Makefile自己,雖然 - 這是由cmake產生的 - 我不知道要放什麼我的CMakeLists.txt讓它產生所需的make run目標。

我發現cmake命令'execute_process',但這似乎不是我所追求的 - 我不想在構建過程中實際運行任何東西。

額外:另外,我很想能夠做到像下面這樣:


CMAKE_COMMAND_ADD_MAKEFILE_TARGET (${CMAKE_PROJECT_DIR}/binary) 

也就是說,使用CMake的變量添加path/to/binary,如果可能的話。

+0

那麼上面寫的目標有什麼問題? – 2012-02-19 15:37:32

+0

哎呀,沒有說清楚 - 我沒有寫我的Makefile,我正在使用CMake。相應地編輯問題。 – simont 2012-02-19 15:41:21

回答

13

您正在尋找add_custom_target。例如:

add_custom_target(run 
    COMMAND binary 
    DEPENDS binary 
    WORKING_DIRECTORY ${CMAKE_PROJECT_DIR} 
) 
+0

你測試過了嗎?我無法獲得'$ {CMAKE_PROJECT_DIR}/binary'的工作,但我不確定這是否只是我搞砸了 - 儘管如此,我已經想出瞭如何使用'add_custom_target'完成我的工作。 – simont 2012-02-19 22:50:58

+0

對不起,我沒試過。現在已經修復了。 – Simon 2012-02-20 13:32:28

相關問題