2016-04-20 2 views
0

I имеют следующую структуру файла:CMake подпроект зависимость

project 
    folder1 
     generator 
     ... 
    folder2 
     sub 
     ... 

В project существует CMakeLists.txt файл:

add_subdirectory(folder1) 
add_subdirectory(folder2) 

Субпроект generator создает required.cpp для sub. В 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) 

Смотрите документацию CMake для add_dependencies для деталей.

Смежные вопросы