Do not treat include directories from the interfaces of consumed Imported Targets as system directories.
When the consumed target's SYSTEM property is set to true, the contents of the INTERFACE_INCLUDE_DIRECTORIES target property are treated as system includes or, on Apple platforms, when the target is a framework, it will be treated as system. By default, SYSTEM is true for imported targets and false for other target types. If the NO_SYSTEM_FROM_IMPORTED property is set to true on a consuming target, compilation of sources in that consuming target will not treat the contents of the INTERFACE_INCLUDE_DIRECTORIES of consumed imported targets as system includes, even if that imported target's SYSTEM property is false.
Directories listed in the INTERFACE_SYSTEM_INCLUDE_DIRECTORIES property of consumed targets are not affected by NO_SYSTEM_FROM_IMPORTED. Those directories will always be treated as system include directories by consumers.
This property is initialized by the value of the CMAKE_NO_SYSTEM_FROM_IMPORTED variable if it is set when a target is created.
See the EXPORT_NO_SYSTEM target property to set this behavior on the target providing the include directories rather than the target consuming them.
© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/prop_tgt/NO_SYSTEM_FROM_IMPORTED.html