установить подкаталог EXCLUDE_FROM_ALL - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть проект A, в котором используются некоторые цели, определенные в проекте B. Поэтому я сделал add_subdirectory(<PATH_TO B> EXCLUDE_FROM_ALL), чтобы включить подкаталог. Теперь я создаю цели установки с использованием компонентов, и в A есть некоторые компоненты установки, для которых также требуются цели из B. Но из-за EXCLUDE_FROM_ALL значение cmake_install.cmake для A не включает значение B. Как мне подойти к этому?

1 Ответ

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

Вы можете установить определенные цели, определенные в подкаталоге CMakeLists.txt после cmake 3.13.

До версии 3.13 пользователь может использовать

add_subdirectory(path/to/sub_dir EXCLUDE_FROM_ALL)
target_link_library(your_target PRIVATE your_sub_dir_target)
...
install(SCRIPT ${CMAKE_CURRENT_BINARY_DIR}/path/to/sub_dir/cmake_install.cmake)

с EXCLUDE_FROM_ALL, your_sub_dir_target не будет включен в цель ALL, тогда команда установки не будет вызываться для вашего sub_dir, вам нужно будет сделать это вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...