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 目标属性,以在提供包含目录的目标上设置此行为,而不是在消耗它们的上设置。