mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-08 06:40:48 -06:00
Merge topic 'help-system-framework'
99f8505fda Help: Update SYSTEM oriented target properties for Apple Frameworks
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !8475
This commit is contained in:
@@ -25,6 +25,8 @@ system target. This has the following effects:
|
||||
would be by default. Entries of
|
||||
:prop_tgt:`INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` are not affected,
|
||||
and will always be treated as system include directories.
|
||||
* On Apple platforms, when the target is a framework, it will not be treated as
|
||||
system.
|
||||
|
||||
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
|
||||
|
||||
@@ -4,13 +4,14 @@ NO_SYSTEM_FROM_IMPORTED
|
||||
Do not treat include directories from the interfaces of consumed
|
||||
:ref:`imported targets` as system directories.
|
||||
|
||||
The contents of the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` target property
|
||||
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
|
||||
When the consumed target's :prop_tgt:`SYSTEM` property is set to true, the
|
||||
contents of the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` target property are
|
||||
treated as system includes or, on Apple platforms, when the target is a
|
||||
framework, it will be treated as system. 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.
|
||||
|
||||
|
||||
@@ -10,13 +10,17 @@ effects:
|
||||
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.
|
||||
* On Apple platforms, If the :prop_tgt:`FRAMEWORK` target property is true,
|
||||
the frameworks directory is treated as system.
|
||||
|
||||
For imported targets, this property defaults to true, which means
|
||||
that their :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` are treated
|
||||
as system directories by default. If their ``SYSTEM`` property is false,
|
||||
then their :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` will not be
|
||||
treated as system. Use the :prop_tgt:`EXPORT_NO_SYSTEM` property to change
|
||||
how a target's ``SYSTEM`` property is set when it is installed.
|
||||
that their :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` and, if the
|
||||
:prop_tgt:`FRAMEWORK` target property is true, frameworks directory are
|
||||
treated as system directories by default. If their ``SYSTEM`` property is
|
||||
false, then their :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` as well as
|
||||
frameworks will not be treated as system. Use the :prop_tgt:`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 :prop_dir:`SYSTEM` directory property when the target is created.
|
||||
|
||||
Reference in New Issue
Block a user