mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-08 06:40:48 -06:00
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:
@@ -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.
|
||||
|
||||
@@ -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.
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user