Merge topic 'doc-buildsystem'

e300620a09 Help: Clarify cmake-buildsystem(7) compile properties section names

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9489
This commit is contained in:
Brad King
2024-05-03 17:03:36 +00:00
committed by Kitware Robot
3 changed files with 13 additions and 13 deletions

View File

@@ -302,17 +302,17 @@ Target Build Specification
--------------------------
The build specification of `Binary Targets`_ is represented by target
properties. For each of the following `build <Target Build Properties_>`_
properties. For each of the following `compile <Target Compile Properties_>`_
and `link <Target Link Properties_>`_ properties, compilation and linking
of the target is affected both by its own value and by the corresponding
`usage requirement <Target Usage Requirements_>`_ property, named with
an ``INTERFACE_`` prefix, collected from the transitive closure of link
dependencies.
.. _`Target Build Properties`:
.. _`Target Compile Properties`:
Target Build Properties
^^^^^^^^^^^^^^^^^^^^^^^
Target Compile Properties
^^^^^^^^^^^^^^^^^^^^^^^^^
:prop_tgt:`COMPILE_DEFINITIONS`
List of compile definitions for compiling sources in the target.
@@ -422,7 +422,7 @@ Target Usage Requirements
The *usage requirements* of a target are settings that propagate to consumers,
which link to the target via :command:`target_link_libraries`, in order to
correctly compile and link with it. They are represented by transitive
`build <Transitive Build Properties_>`_ and
`compile <Transitive Compile Properties_>`_ and
`link <Transitive Link Properties_>`_ properties.
Note that usage requirements are not designed as a way to make downstreams
@@ -505,10 +505,10 @@ Note that care must be taken when specifying usage requirements for targets
which will be exported for installation using the :command:`install(EXPORT)`
command. See :ref:`Creating Packages` for more.
.. _`Transitive Build Properties`:
.. _`Transitive Compile Properties`:
Transitive Build Properties
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Transitive Compile Properties
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
:prop_tgt:`INTERFACE_COMPILE_DEFINITIONS`
List of compile definitions for compiling sources in the target's consumers.

View File

@@ -1282,7 +1282,7 @@ Compile Context
.. versionadded:: 3.27
Content of ``...``, when collecting
:ref:`transitive build properties <Transitive Build Properties>`,
:ref:`transitive compile properties <Transitive Compile Properties>`,
otherwise it is the empty string. This is intended for use in an
:prop_tgt:`INTERFACE_LINK_LIBRARIES` and :prop_tgt:`LINK_LIBRARIES` target
properties, typically populated via the :command:`target_link_libraries` command.
@@ -1671,7 +1671,7 @@ Link Context
.. versionadded:: 3.1
Content of ``...``, except while collecting usage requirements from
:ref:`transitive build properties <Transitive Build Properties>`,
:ref:`transitive compile properties <Transitive Compile Properties>`,
in which case it is the empty string. This is intended for use in an
:prop_tgt:`INTERFACE_LINK_LIBRARIES` target property, typically populated
via the :command:`target_link_libraries` command, to specify private link
@@ -1790,7 +1790,7 @@ The expressions have special evaluation rules for some properties:
Evaluation is transitive over the closure of the target's
:prop_tgt:`INTERFACE_LINK_LIBRARIES`:
* For :ref:`Transitive Build Properties`, the transitive closure
* For :ref:`Transitive Compile Properties`, the transitive closure
*excludes* entries of :prop_tgt:`INTERFACE_LINK_LIBRARIES` guarded
by the :genex:`LINK_ONLY` generator expression.

View File

@@ -9,7 +9,7 @@ dependencies of static libraries.
In CMake 3.29 and below, the :genex:`TARGET_PROPERTY` generator expression
evaluates properties :prop_tgt:`INTERFACE_LINK_OPTIONS`,
:prop_tgt:`INTERFACE_LINK_DIRECTORIES`, and :prop_tgt:`INTERFACE_LINK_DEPENDS`
as if they were :ref:`Transitive Build Properties` rather than
as if they were :ref:`Transitive Compile Properties` rather than
:ref:`Transitive Link Properties`, even when policy :policy:`CMP0099` is
set to ``NEW``. Private dependencies of static libraries, which appear in
their :prop_tgt:`INTERFACE_LINK_LIBRARIES` guarded by :genex:`LINK_ONLY`
@@ -28,7 +28,7 @@ to expect the new behavior.
The ``OLD`` behavior for this policy is for :genex:`TARGET_PROPERTY` to
evaluate properties :prop_tgt:`INTERFACE_LINK_OPTIONS`,
:prop_tgt:`INTERFACE_LINK_DIRECTORIES`, and :prop_tgt:`INTERFACE_LINK_DEPENDS`
as if they were :ref:`Transitive Build Properties` by not following private
as if they were :ref:`Transitive Compile Properties` by not following private
dependencies of static libraries. The ``NEW`` behavior for this policy is
to evaluate them as :ref:`Transitive Link Properties` by following private
dependencies of static libraries.