diff options
author | Marc Chevrier <marc.chevrier@gmail.com> | 2023-05-14 13:22:27 (GMT) |
---|---|---|
committer | Marc Chevrier <marc.chevrier@gmail.com> | 2023-05-14 13:22:27 (GMT) |
commit | 99f8505fda0f5c23877e9f90b55d3fe575137404 (patch) | |
tree | 47ae5a135aa9481d9d255322d19ad947b2461b26 /Help/prop_tgt | |
parent | 13eae753eaad277ad3f6e308722ade7560404beb (diff) | |
download | CMake-99f8505fda0f5c23877e9f90b55d3fe575137404.zip CMake-99f8505fda0f5c23877e9f90b55d3fe575137404.tar.gz CMake-99f8505fda0f5c23877e9f90b55d3fe575137404.tar.bz2 |
Help: Update SYSTEM oriented target properties for Apple Frameworks
This is a complement to !8469.
Diffstat (limited to 'Help/prop_tgt')
-rw-r--r-- | Help/prop_tgt/IMPORTED_NO_SYSTEM.rst | 2 | ||||
-rw-r--r-- | Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst | 15 | ||||
-rw-r--r-- | Help/prop_tgt/SYSTEM.rst | 14 |
3 files changed, 19 insertions, 12 deletions
diff --git a/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst b/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst index c8ec8b5..e1fea37 100644 --- a/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst +++ b/Help/prop_tgt/IMPORTED_NO_SYSTEM.rst @@ -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 diff --git a/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst b/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst index a4c9b9f..458618b 100644 --- a/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst +++ b/Help/prop_tgt/NO_SYSTEM_FROM_IMPORTED.rst @@ -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. diff --git a/Help/prop_tgt/SYSTEM.rst b/Help/prop_tgt/SYSTEM.rst index c7ae27e..f5c11bc 100644 --- a/Help/prop_tgt/SYSTEM.rst +++ b/Help/prop_tgt/SYSTEM.rst @@ -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. |