如何在库(插件)目标中加载主应用程序的INTERFACE_INCLUDE_DIRECTORIES ?我知道如何加载一个库的INTERFACE_INCLUDE_DIRECTORIES,但我不知道如何加载它们而不链接一个库。
├── app
├── pluga
└── plugb
target_include_directories()
命令用PUBLIC
和INTERFACE
关键字的值填充INTERFACE_INCLUDE_DIRECTORIES
。
目标可以填充此属性以发布针对目标的头文件进行编译所需的包含目录。消费目标可以将条目添加到它们自己的INCLUDE_DIRECTORIES
属性中,例如$<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES>
,以使用在foo接口中指定的include目录。
所以答案是:
target_include_directories(pluga INTERFACE
$<TARGET_PROPERTY:app,INTERFACE_INCLUDE_DIRECTORIES>
)