如何将target1
的包含目录(由target_include_directories(target1 t1/include)
创建)包含到target2
中?
我只知道一种方法,即创建一个变量并将set()
包含在其中,然后将该变量重用于另一个目标。但这看起来太不灵活了,我认为CMake必须有更简单的方法。
我的目标是共享库。
答案 0 :(得分:1)
"$<TARGET_PROPERTY:TargetName,INTERFACE_INCLUDE_DIRECTORIES>"
是我要找的
这样使用:
target_include_directories(MyTarget
PRIVATE
"$<TARGET_PROPERTY:OtherTarget,INTERFACE_INCLUDE_DIRECTORIES>"
)
它允许我将PUBLIC
和INTERFACE
的目标OtherTarget
的目录包括到MyTarget