我正在使用get_property( … PROPERTY INCLUDE_DIRECTORIES)
在CMake项目中进行调试。有没有办法告诉使用和不使用SYSTEM
选项完成哪些包含目录?
在以下示例中,我看到没有区别
include_directories("../B")
include_directories(SYSTEM "../A")
get_property( reqs TARGET main PROPERTY INCLUDE_DIRECTORIES)
message(STATUS "main requires ${reqs}")
打印:
-- main requires /home/pseyfert/coding/system/C/../B;/home/pseyfert/coding/system/C/../A
答案 0 :(得分:1)
有目标属性INTERFACE_SYSTEM_INCLUDE_DIRECTORIES,其中包含已包含目录的属性,已标记为 SYSTEM 。
正如该属性的名称所示(并且如文档中所述), INTERFACE_SYSTEM_INCLUDE_DIRECTORIES 仅包含 INTERFACE 目录,这些目录将传播到与给定目标链接的目标。从CMake文档中不清楚 PRIVATE 包含目录应该如何区分。