Включить каталоги включения одной цели в другую цель - PullRequest
0 голосов
/ 08 апреля 2020

Как я могу включить каталоги target1 (сделанные target_include_directories(target1 t1/include)) в target2?

Я знаю только один способ: создать переменную и set() включить в нее каталоги, а затем повторно использовать переменную для другой цели. Но это выглядит слишком негибко, и я думаю, что CMake должен иметь гораздо более простой способ.
Мои цели - это общие библиотеки.

1 Ответ

1 голос
/ 08 апреля 2020

"$<TARGET_PROPERTY:TargetName,INTERFACE_INCLUDE_DIRECTORIES>" - это то, что я искал

, используя вот так:

target_include_directories(MyTarget
    PRIVATE
    "$<TARGET_PROPERTY:OtherTarget,INTERFACE_INCLUDE_DIRECTORIES>"
)

это позволяет мне включать PUBLIC и INTERFACE включающие каталоги цели OtherTarget в MyTarget

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