Зависимость между двумя подкаталогами в CMake - PullRequest
0 голосов
/ 04 апреля 2019

В моем корне CMakeLists.txt у меня есть:

add_subdirectory(libs)
add_subdirectory(main)

В libs , у меня есть свой собственный CMakeLists.txt для создания внешних проектов.В main имеется CMakeLists.txt из другого хранилища, которым я не управляю.

Для сборки main , libs должен быть построен.Я не знаю, как указать зависимость между main и libs .

In libs , с моими внешними проектами lib1 и lib2 , я использовал add_dependencies(lib1 lib2), и у меня lib2 , созданный до lib1 .Я не нашел, как это сделать для main и libs .

Трудность для меня заключается в том, что мне приходится смешивать внешние проекты и подкаталоги, и я не нашеллюбой ответ или не смог их адаптировать.

1 Ответ

0 голосов
/ 04 апреля 2019

Я конвертировал add_subdirectory(main) во внешний проект. Поскольку невозможно создать зависимость от подкаталогов, я использую непосредственно внутренние цели. Со всем, что я получил:

include(ExternalProject)

add_subdirectory(libs)

ExternalProject_Add(main
  SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/main
  ...
)
add_dependencies(main lib1 lib2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...