NO_SYSTEM_FROM_IMPORTED

不将来自已消耗 导入目标 各接口的包含目录作为系统目录处理。

当消耗目标的 SYSTEM 属性设为真时,INTERFACE_INCLUDE_DIRECTORIES 目标属性的内容将视为系统包含,或者在 Apple 平台上,当目标为框架时,它将被视为系统。默认情况下,SYSTEM 对各导入目标为真,而对其他目标类型为假。如果在消耗目标上将 NO_SYSTEM_FROM_IMPORTED 属性设为真,该消耗目标中源的编译将不会将消耗各导入目标的 INTERFACE_INCLUDE_DIRECTORIES 内容视为系统包含,即使该导入目标的 SYSTEM 属性为假。

各消耗目标的 INTERFACE_SYSTEM_INCLUDE_DIRECTORIES 属性中列出的目录不受 NO_SYSTEM_FROM_IMPORTED 影响。各消费者将始终将这些目录当做系统包含目录处理。

如果在创建目标时将 CMAKE_NO_SYSTEM_FROM_IMPORTED 变量的值设为真,该属性将根据它来初始化。

请参阅 EXPORT_NO_SYSTEM 目标属性,以在提供包含目录而非消耗它们的目标上设置该行为。