summaryrefslogtreecommitdiff
path: root/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
diff options
context:
space:
mode:
authorCraig Scott <craig.scott@crascit.com>2022-12-17 20:42:04 +1100
committerCraig Scott <craig.scott@crascit.com>2022-12-17 20:51:25 +1100
commitdfab263825d29f132454f2af7d79aa8ba43fb77f (patch)
treed78c0743bdfba07a09ce21c8a4ee927e3cb81ee4 /Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst
parent94131d632fc9b7b73d480ff4be349a66d67978b2 (diff)
downloadcmake-dfab263825d29f132454f2af7d79aa8ba43fb77f.tar.gz
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.rst26
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 39a13eec11..a4c9b9fddc 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.