Merge topic 'imported-no-system'

14d98bcfe6 export: Propagate IMPORTED_NO_SYSTEM target property to consumers
7df0541055 Add property to mark IMPORTED targets as not SYSTEM

Acked-by: Kitware Robot <kwrobot@kitware.com>
Tested-by: buildbot <buildbot@kitware.com>
Acked-by: Allison Vacanti <alliepiper16@gmail.com>
Merge-request: !6627
This commit is contained in:
Brad King
2021-10-18 13:38:16 +00:00
committed by Kitware Robot
12 changed files with 75 additions and 0 deletions

View File

@@ -239,6 +239,7 @@ Properties on Targets
/prop_tgt/IMPORTED_LOCATION_CONFIG
/prop_tgt/IMPORTED_NO_SONAME
/prop_tgt/IMPORTED_NO_SONAME_CONFIG
/prop_tgt/IMPORTED_NO_SYSTEM
/prop_tgt/IMPORTED_OBJECTS
/prop_tgt/IMPORTED_OBJECTS_CONFIG
/prop_tgt/IMPORTED_SONAME

View File

@@ -0,0 +1,17 @@
IMPORTED_NO_SYSTEM
------------------
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
would be by default.
This property can also be enabled on a non-imported target. Doing so does
not affect the build system, but does tell the :command:`install(EXPORT)` and
:command:`export` commands to enable it on the imported targets they generate.
See the :prop_tgt:`NO_SYSTEM_FROM_IMPORTED` target property to set this
behavior on the target consuming the include directories rather than
providing them.

View File

@@ -13,3 +13,6 @@ imported targets as system includes.
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.

View File

@@ -0,0 +1,7 @@
imported-no-system
------------------
* The :prop_tgt:`IMPORTED_NO_SYSTEM` target property was added to
specify that an :ref:`Imported Target <Imported Targets>` should
not be treated as a system library (i.e. its include directories
are not automatically ``SYSTEM``).