2016-04-20 165 views
0

我有以下文件結構:cmake的子項目依賴

project 
    folder1 
     generator 
     ... 
    folder2 
     sub 
     ... 

project存在的CMakeLists.txt文件:

add_subdirectory(folder1) 
add_subdirectory(folder2) 

子項目generator創建sub一個required.cpp。 在sub我設法建立required.cpp只產生後:

add_custom_command(OUTPUT required.cpp 
     PRE_BUILD 
     COMMAND generate... 
     COMMENT "Generating..." 
) 

add_custom_target(run ALL DEPENDS required.cpp) 

我怎麼能保證generator正努力打造sub之前建造的?或者folder1是在folder2之前建造的?

+1

只需使用[add_dependencies](https://cmake.org/cmake/help/v3.0/command/add_dependencies.html)創建目標級依賴項即可。 – Tsyvarev

回答

1

假設generator是一個目標,然後使靶run取決於generator使用

add_dependencies(run generator) 

參見add_dependencies有關詳細信息,cmake的文檔。