将一个目标的包含目录包含在另一个目标中

Her*_*ott 4 cmake

我怎样才能包含target1(由target_include_directories(target1 t1/include))包含目录target2

我只知道一种方法,那就是创建一个变量并set()在其中包含目录,然后将该变量重用于另一个目标。但这看起来太不灵活了,我认为 CMake 一定有更简单的方法。
我的目标是共享库。

Her*_*ott 9

"$<TARGET_PROPERTY:TargetName,INTERFACE_INCLUDE_DIRECTORIES>" 是我寻找的

像这样使用:

target_include_directories(MyTarget
    PRIVATE
    "$<TARGET_PROPERTY:OtherTarget,INTERFACE_INCLUDE_DIRECTORIES>"
)
Run Code Online (Sandbox Code Playgroud)

它允许我将目标目录包含PUBLIC并包含到INTERFACEOtherTargetMyTarget