diff options
author | Brad King <brad.king@kitware.com> | 2022-06-16 13:00:35 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2022-06-16 13:00:45 (GMT) |
commit | dd8befd9d333616fa870dbd13f394716dfbf797f (patch) | |
tree | 73c845428906f1c007e921828f14db2688ed415a /Help | |
parent | 7eddfed10f48fbe697e9f94433478d01b92b3c3d (diff) | |
parent | 69beee5314f70b3ddee8029f6ab3d684035005e5 (diff) | |
download | CMake-dd8befd9d333616fa870dbd13f394716dfbf797f.zip CMake-dd8befd9d333616fa870dbd13f394716dfbf797f.tar.gz CMake-dd8befd9d333616fa870dbd13f394716dfbf797f.tar.bz2 |
Merge topic 'add_SYSTEM_prop'
69beee5314 Add SYSTEM target property
Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Merge-request: !7308
Diffstat (limited to 'Help')
-rw-r--r-- | Help/manual/cmake-properties.7.rst | 1 | ||||
-rw-r--r-- | Help/prop_tgt/IMPORTED_NO_SYSTEM.rst | 3 | ||||
-rw-r--r-- | Help/prop_tgt/SYSTEM.rst | 16 | ||||
-rw-r--r-- | Help/release/dev/system.rst | 7 |
4 files changed, 26 insertions, 1 deletions
diff --git a/Help/manual/cmake-properties.7.rst b/Help/manual/cmake-properties.7.rst index f7160db..9bb8a71 100644 --- a/Help/manual/cmake-properties.7.rst +++ b/Help/manual/cmake-properties.7.rst @@ -375,6 +375,7 @@ Properties on Targets /prop_tgt/Swift_LANGUAGE_VERSION /prop_tgt/Swift_MODULE_DIRECTORY /prop_tgt/Swift_MODULE_NAME + /prop_tgt/SYSTEM /prop_tgt/TYPE /prop_tgt/UNITY_BUILD /prop_tgt/UNITY_BUILD_BATCH_SIZE diff --git a/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst b/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst index ee22d6f..49228ad 100644 --- a/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst +++ b/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst @@ -7,7 +7,8 @@ Specifies that an :ref:`Imported Target <Imported Targets>` is not a ``SYSTEM`` library. This has the following effects: * Entries of :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` are not treated - as ``SYSTEM`` include directories when compiling consumers, as they + as ``SYSTEM`` include directories when compiling consumers (regardless of + the value of the consumed target's :prop_tgt:`SYSTEM` property), as they would be by default. Entries of :prop_tgt:`INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` are not affected, and will always be treated as ``SYSTEM`` include directories. diff --git a/Help/prop_tgt/SYSTEM.rst b/Help/prop_tgt/SYSTEM.rst new file mode 100644 index 0000000..2db6aed --- /dev/null +++ b/Help/prop_tgt/SYSTEM.rst @@ -0,0 +1,16 @@ +SYSTEM +------ + +.. versionadded:: 3.25 + +Specifies that a target is a ``SYSTEM`` library. This has the following effects: + +* Entries of :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` are treated as ``SYSTEM`` + include directories when compiling consumers. + Entries of :prop_tgt:`INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` are not affected, + and will always be treated as ``SYSTEM`` include directories. + +For imported targets, this property has a default value `ON`, which means that their +`INTERFACE_INCLUDE_DIRECTORIES` are treated as ``SYSTEM`` by default. If their +`SYSTEM` property is `OFF`, then their `INTERFACE_INCLUDE_DIRECTORIES` will not be +treated as ``SYSTEM``, regardless of the value of `IMPORTED_NO_SYSTEM` property. diff --git a/Help/release/dev/system.rst b/Help/release/dev/system.rst new file mode 100644 index 0000000..c6d1bd2 --- /dev/null +++ b/Help/release/dev/system.rst @@ -0,0 +1,7 @@ +system +------ + +* The :prop_tgt:`SYSTEM` target property was added to specify + that a target should be treated as a system library (i.e. + its include directories are automatically ``SYSTEM`` when + compiling consumers). |