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

时间:2020-04-08 02:29:12

标签: cmake

如何将target1的包含目录(由target_include_directories(target1 t1/include)创建)包含到target2中?

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

1 个答案:

答案 0 :(得分:1)

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

这样使用:

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

它允许我将PUBLICINTERFACE的目标OtherTarget的目录包括到MyTarget