SYSTEM — CMake 4.3.0 Documentation

# SYSTEM

Added in version 3.25.

Specifies that a target is a system target. This has the following effects:

- Entries of `INTERFACE_INCLUDE_DIRECTORIES` are treated as system include directories when compiling consumers. Entries of `INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` are not affected, and will always be treated as system include directories.

- On Apple platforms, If the `FRAMEWORK` target property is true, the frameworks directory is treated as system.

For imported targets, this property defaults to true, which means that their `INTERFACE_INCLUDE_DIRECTORIES` and, if the `FRAMEWORK` target property is true, frameworks directory are treated as system directories by default. If their `SYSTEM` property is false, then their `INTERFACE_INCLUDE_DIRECTORIES` as well as frameworks will not be treated as system. Use the `EXPORT_NO_SYSTEM` property to change how a target's `SYSTEM` property is set when it is installed.

For non-imported targets, this target property is initialized from the `SYSTEM` directory property when the target is created.