2014-11-02 50 views
0

我現在用的是add_executable(foo sources.cpp)話,我想有一個運行FOO目標創建可執行運行它,所以現在我這樣做:獲得一個cmake的可執行文件的路徑對一個自定義命令

add_custom_target(run_foo 
    COMMAND ${CMAKE_BINARY_DIR}/test/foo 
    DEPENDS foo 
    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} 
) 

它現在可以工作,但我覺得我通過在「COMMAND」中對二進制文件的路徑進行硬編碼來做錯了。難道沒有辦法從foo獲得二進制文件的路徑嗎?

回答

0

事實上,你甚至不需要一臺發電機表達:) 至少/ W modern CMake

如果命令指定了一個可執行文件目標名稱(由add_executable()命令創建)時,它將自動被構建時創建的可執行文件的位置替換。

add_executable(foo ...) 
add_custom_target(COMMAND foo ...) 
相關問題