對於一些原因,我必須手動生成,通過自定義命令靜態庫。CMake的add_custom_command與target_link_libraries
但是,似乎只有當目標明確請求其輸出文件時才執行自定義命令。
如果我嘗試生成的靜態庫target_link_libraries
鏈接,CMake的抱怨說,它無法找到一個規則來生成它。
# Building library on the fly
add_custom_command(OUTPUT mylib.a
COMMAND ...
)
add_executable(myexe main.cpp)
target_link_libraries(myexe mylib.a) # Fails miserably
我想我一定要插入一個目標或依賴某種方式add_custom_command
調用和target_link_libraries
一個之間,但我不知道如何正確地這樣做。
我指定的路徑就像你說的,但它仍然無法正常工作.. – Svalorzen
嗯,所以CMake的跟蹤只有在庫文件改變而不結合'add_custom_command'。看起來你需要求助於進口圖書館的目標,如描述在這個問題(http://stackoverflow.com/questions/31274577/custom-target-as-a-target-library-in-cmake)。順便說一句,這個問題看起來像你的重複。 – Tsyvarev
是的,它看起來是同樣的問題,以前找不到它。 – Svalorzen