IMPORTED_NO_SYSTEM — CMake 4.3.3 Documentation

# IMPORTED_NO_SYSTEM

Added in version 3.23.

Deprecated since version 3.25: `IMPORTED_NO_SYSTEM` is deprecated. Please use the following alternatives instead:

- Set `SYSTEM` to false if you don't want a target's include directories to be treated as system directories when compiling consumers.

- Set `EXPORT_NO_SYSTEM` to true if you don't want the include directories of the imported target generated by `install(EXPORT)` and `export()` commands to be treated as system directories when compiling consumers.

Setting `IMPORTED_NO_SYSTEM` to true on an imported target specifies that it is not a system target. This has the following effects:

- Entries of `INTERFACE_INCLUDE_DIRECTORIES` are not treated as system include directories when compiling consumers (regardless of the value of the consumed target's `SYSTEM` property), as they would be by default. Entries of `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` are not affected, and will always be treated as system include directories.

- On Apple platforms, when the target is a framework, it will not be treated as system.

This property can also be enabled on a non-imported target. Doing so does not affect the build system, but does tell the `install(EXPORT)` and `export()` commands to enable it on the imported targets they generate.

See the `NO_SYSTEM_FROM_IMPORTED` target property to set this behavior on the target consuming the include directories rather than the one providing them.