我正在使用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>")
死你嘗試從最後一次通話刪除引號? – Florian
@弗洛裏安不,但我只是,沒有區別。 – md5i