NO_SYSTEM_FROM_IMPORTED¶
不要将被消耗的 导入目标 的接口中的包含目录视为系统目录。
当被消耗目标的 SYSTEM
属性设置为 true 时,INTERFACE_INCLUDE_DIRECTORIES
目标属性的内容将被视为系统包含目录,或者在 Apple 平台上,当目标是框架时,它将被视为系统目录。默认情况下,对于导入目标,SYSTEM
为 true,对于其他目标类型则为 false。如果在 *消耗* 目标上将 NO_SYSTEM_FROM_IMPORTED
属性设置为 true,则该消耗目标中源文件的编译将不会将被消耗的导入目标的 INTERFACE_INCLUDE_DIRECTORIES
的内容视为系统包含目录,即使该导入目标的 SYSTEM
属性为 false。
在被消耗目标的 INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
属性中列出的目录不受 NO_SYSTEM_FROM_IMPORTED
的影响。消费者始终会将这些目录视为系统包含目录。
如果在创建目标时设置了 CMAKE_NO_SYSTEM_FROM_IMPORTED
变量,则此属性将由该变量的值初始化。
请参阅 EXPORT_NO_SYSTEM
目标属性,以便在提供包含目录的目标上设置此行为,而不是在消耗这些目录的目标上设置此行为。