diff options
author | Craig Scott <craig.scott@crascit.com> | 2022-12-17 09:42:04 (GMT) |
---|---|---|
committer | Craig Scott <craig.scott@crascit.com> | 2022-12-17 09:51:25 (GMT) |
commit | dfab263825d29f132454f2af7d79aa8ba43fb77f (patch) | |
tree | d78c0743bdfba07a09ce21c8a4ee927e3cb81ee4 /Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst | |
parent | 94131d632fc9b7b73d480ff4be349a66d67978b2 (diff) | |
download | CMake-dfab263825d29f132454f2af7d79aa8ba43fb77f.zip CMake-dfab263825d29f132454f2af7d79aa8ba43fb77f.tar.gz CMake-dfab263825d29f132454f2af7d79aa8ba43fb77f.tar.bz2 |
Help: Clarify and update SYSTEM-related docs
Diffstat (limited to 'Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst')
-rw-r--r-- | Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst b/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst index 39a13ee..a4c9b9f 100644 --- a/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst +++ b/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst @@ -2,19 +2,27 @@ NO_SYSTEM_FROM_IMPORTED ----------------------- Do not treat include directories from the interfaces of consumed -:ref:`imported targets` as ``SYSTEM``. +:ref:`imported targets` as system directories. The contents of the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` target property -of imported targets are treated as ``SYSTEM`` includes by default. If this -property is enabled on a target, compilation of sources in that target will -not treat the contents of the ``INTERFACE_INCLUDE_DIRECTORIES`` of consumed -imported targets as system includes. Either way, entries of -:prop_tgt:`INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` are not affected, -and will always be treated as ``SYSTEM`` include directories. +are treated as system includes when the consumed target's :prop_tgt:`SYSTEM` +property is set to true. By default, :prop_tgt:`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 +:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of consumed imported targets as +system includes, even if that imported target's :prop_tgt:`SYSTEM` property +is false. + +Directories listed in the :prop_tgt:`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 :variable:`CMAKE_NO_SYSTEM_FROM_IMPORTED` variable if it is set when a target is created. -See the :prop_tgt:`IMPORTED_NO_SYSTEM` target property to set this behavior -on the target providing the include directories rather than consuming them. +See the :prop_tgt:`EXPORT_NO_SYSTEM` target property to set this behavior +on the target providing the include directories rather than the target +consuming them. |