Я использую CMake 3.5.2.CMake Включить зависимости импортированной библиотеки без ссылки
Рассмотрите следующую ситуацию. У меня есть импортированная библиотека Foo::Foo
:
add_library(Foo::Foo UNKNOWN IMPORTED)
Этой импортирован библиотека был заселен с соответствующими свойствами:
set_target_properties(Foo::Foo PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "/path/to/include/blah" "/another/path/include/other"
IMPORTED_LINK_INTERFACE_LIBRARIES blah other
IMPORTED_LOCATION "/path/to/libfoo.a-or-so")
У меня есть библиотека удобства называется bar
. Мне нужно включить в него каталоги включений Foo::Foo
, но я не хочу, чтобы он ссылался на Foo::Foo
.
add_library(bar STATIC "${BAR_SOURCES}")
Как я могу добавить только включать зависимости от Foo::Foo
? Вот что я пробовал, что не удалось:
# This did not include any includes from Foo::Foo
target_link_libraries(bar INTERFACE Foo::Foo)
# This included only the first include directory from Foo::Foo
target_include_directories(bar PUBLIC "$<TARGET_PROPERTY:Foo::Foo,INTERFACE_INCLUDE_DIRECTORIES>")
Die вы пытаетесь удалить кавычки из последнего вызова? – Florian
@Florian Нет, но я просто сделал, без разницы. – md5i