2010-05-30 100 views
1

我試圖創建的cmake等效於下面的補充:只要創建演示cmake的依賴

demo: main.cpp 
    gcc -o demo main.cpp 
    ./demo 

演示執行。

這正是我來,但不執行演示,因爲我想:

add_executable(demo main.cpp) 
add_custom_target(run_demo demo) 

這實際上等同於:

all: demo 
demo: main.cpp 
    gcc -o demo main.cpp 
run_demo:demo 

我怎麼錯過?

回答

3

我不是很確定你想要什麼,因爲您發佈的Makefile中不這樣做,你說他們做什麼。但是,根據對克萊斯特答案的評論來看,你希望演示在每次重新編譯時運行。你可以做到這一點,如下所示:

add_executable(demo main.cpp) 
add_custom_command(TARGET demo 
        POST_BUILD COMMAND ${CMAKE_CURRENT_BINARY_DIR}/demo) 
+0

謝謝,我已經解決了我的問題 – dimba 2010-06-01 20:38:05

0

您需要run_demo添加到所有目標:

add_custom_target(run_demo ALL demo) 
+0

這將執行演示每次調用作,而這不正是我想要 – dimba 2010-05-31 08:32:32