diff options
author | Brad King <brad.king@kitware.com> | 2024-06-24 13:21:59 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2024-06-24 13:22:47 (GMT) |
commit | c3046ea2893dac12bef0b9fa23a1da26719cc2eb (patch) | |
tree | 1432fbe444a698604c3a4cb9e6ec318b9256e524 /Help | |
parent | c43dc60c64c9bf2af00cc02946558fe0e29e0fed (diff) | |
parent | 576567f028f2366dda84fe3deb1d6cca62cb9890 (diff) | |
download | CMake-c3046ea2893dac12bef0b9fa23a1da26719cc2eb.zip CMake-c3046ea2893dac12bef0b9fa23a1da26719cc2eb.tar.gz CMake-c3046ea2893dac12bef0b9fa23a1da26719cc2eb.tar.bz2 |
Merge topic 'link-feature-attributes-stabilization' into release-3.30
576567f028 Link feature attributes: stabilization
5617c34c31 Libraries processing: update configuration wording
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !9607
Diffstat (limited to 'Help')
-rw-r--r-- | Help/manual/cmake-variables.7.rst | 4 | ||||
-rw-r--r-- | Help/release/3.30.rst | 6 | ||||
-rw-r--r-- | Help/variable/CMAKE_LANG_LINK_LIBRARY_FEATURE_ATTRIBUTES.rst (renamed from Help/variable/CMAKE_LANG_LINK_LIBRARY_FEATURE_PROPERTIES.rst) | 6 | ||||
-rw-r--r-- | Help/variable/CMAKE_LINK_LIBRARY_FEATURE_ATTRIBUTES.rst (renamed from Help/variable/CMAKE_LINK_LIBRARY_FEATURE_PROPERTIES.rst) | 37 | ||||
-rw-r--r-- | Help/variable/CMAKE_LINK_LIBRARY_USING_FEATURE.txt | 4 |
5 files changed, 29 insertions, 28 deletions
diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index 6400a93..1abdd62 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -467,7 +467,7 @@ Variables that Control the Build /variable/CMAKE_LANG_INCLUDE_WHAT_YOU_USE /variable/CMAKE_LANG_LINK_GROUP_USING_FEATURE /variable/CMAKE_LANG_LINK_GROUP_USING_FEATURE_SUPPORTED - /variable/CMAKE_LANG_LINK_LIBRARY_FEATURE_PROPERTIES + /variable/CMAKE_LANG_LINK_LIBRARY_FEATURE_ATTRIBUTES /variable/CMAKE_LANG_LINK_LIBRARY_FILE_FLAG /variable/CMAKE_LANG_LINK_LIBRARY_FLAG /variable/CMAKE_LANG_LINK_LIBRARY_USING_FEATURE @@ -486,7 +486,7 @@ Variables that Control the Build /variable/CMAKE_LINK_GROUP_USING_FEATURE /variable/CMAKE_LINK_GROUP_USING_FEATURE_SUPPORTED /variable/CMAKE_LINK_INTERFACE_LIBRARIES - /variable/CMAKE_LINK_LIBRARY_FEATURE_PROPERTIES + /variable/CMAKE_LINK_LIBRARY_FEATURE_ATTRIBUTES /variable/CMAKE_LINK_LIBRARY_FILE_FLAG /variable/CMAKE_LINK_LIBRARY_FLAG /variable/CMAKE_LINK_LIBRARY_USING_FEATURE diff --git a/Help/release/3.30.rst b/Help/release/3.30.rst index db66b0d..6d515fd 100644 --- a/Help/release/3.30.rst +++ b/Help/release/3.30.rst @@ -148,9 +148,9 @@ Generator Expressions associated :variable:`CMAKE_<LANG>_COMPILER_FRONTEND_VARIANT` variables. * Link features, as used with the :genex:`LINK_LIBRARY` generator expression, - gained the ability to have properties that describe their behavior by - specifying the :variable:`CMAKE_LINK_LIBRARY_<FEATURE>_PROPERTIES` or - :variable:`CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_PROPERTIES` variables. + gained the ability to have attributes that describe their behavior by + specifying the :variable:`CMAKE_LINK_LIBRARY_<FEATURE>_ATTRIBUTES` or + :variable:`CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_ATTRIBUTES` variables. * The :genex:`QUOTE` generator expression was added to evaluate to ``"``. diff --git a/Help/variable/CMAKE_LANG_LINK_LIBRARY_FEATURE_PROPERTIES.rst b/Help/variable/CMAKE_LANG_LINK_LIBRARY_FEATURE_ATTRIBUTES.rst index 10f4fda..8769d60 100644 --- a/Help/variable/CMAKE_LANG_LINK_LIBRARY_FEATURE_PROPERTIES.rst +++ b/Help/variable/CMAKE_LANG_LINK_LIBRARY_FEATURE_ATTRIBUTES.rst @@ -1,10 +1,10 @@ -CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_PROPERTIES +CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_ATTRIBUTES ---------------------------------------------- .. versionadded:: 3.30 This variable defines the semantics of the specified link library ``<FEATURE>`` when linking with the link language ``<LANG>``. It takes precedence over -:variable:`CMAKE_LINK_LIBRARY_<FEATURE>_PROPERTIES` if that variable is also +:variable:`CMAKE_LINK_LIBRARY_<FEATURE>_ATTRIBUTES` if that variable is also defined for the same ``<FEATURE>``, but otherwise has similar effects. -See :variable:`CMAKE_LINK_LIBRARY_<FEATURE>_PROPERTIES` for further details. +See :variable:`CMAKE_LINK_LIBRARY_<FEATURE>_ATTRIBUTES` for further details. diff --git a/Help/variable/CMAKE_LINK_LIBRARY_FEATURE_PROPERTIES.rst b/Help/variable/CMAKE_LINK_LIBRARY_FEATURE_ATTRIBUTES.rst index e30c30a..c9966ff 100644 --- a/Help/variable/CMAKE_LINK_LIBRARY_FEATURE_PROPERTIES.rst +++ b/Help/variable/CMAKE_LINK_LIBRARY_FEATURE_ATTRIBUTES.rst @@ -1,4 +1,4 @@ -CMAKE_LINK_LIBRARY_<FEATURE>_PROPERTIES +CMAKE_LINK_LIBRARY_<FEATURE>_ATTRIBUTES --------------------------------------- .. versionadded:: 3.30 @@ -17,28 +17,29 @@ The :variable:`CMAKE_<LANG>_LINK_LIBRARY_USING_<FEATURE>_SUPPORTED` and control whether the ``<FEATURE>`` is available at all. When linking for a particular language ``<LANG>``, -``CMAKE_LINK_LIBRARY_<FEATURE>_PROPERTIES`` is ignored if the -:variable:`CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_PROPERTIES` variable is also +``CMAKE_LINK_LIBRARY_<FEATURE>_ATTRIBUTES`` is ignored if the +:variable:`CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_ATTRIBUTES` variable is also defined for the same ``<FEATURE>``. -The value of ``CMAKE_LINK_LIBRARY_<FEATURE>_PROPERTIES`` and -:variable:`CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_PROPERTIES` at the end of the +The value of ``CMAKE_LINK_LIBRARY_<FEATURE>_ATTRIBUTES`` and +:variable:`CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_ATTRIBUTES` at the end of the directory scope in which a target is defined is what matters. -Feature Properties Definition +Feature Attributes Definition ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -A feature properties definition is a -:ref:`semicolon-separated list <CMake Language Lists>` of ``property=value(s)`` -items. If a property has multiple values, those values must be comma-separated. +A feature attributes definition is a +:ref:`semicolon-separated list <CMake Language Lists>` of +``attribute=value(s)`` items. If an attribute has multiple values, those values +must be comma-separated. -The following properties are supported: +The following attributes are supported: ``LIBRARY_TYPE=<library-type-list>`` Specify the library types supported by the feature. Supported values are: ``STATIC``, ``SHARED``, ``MODULE``, and ``EXECUTABLE``. - If this property is not specified, the default is + If this attribute is not specified, the default is ``LIBRARY_TYPE=STATIC,SHARED,MODULE,EXECUTABLE``. If the feature is used with an unsupported library type, CMake will emit a @@ -51,9 +52,9 @@ The following properties are supported: :prop_tgt:`LINK_LIBRARY_OVERRIDE_<LIBRARY>` target property definitions, if defined. - If this property is not specified, the default is an empty list. + If this attribute is not specified, the default is an empty list. -``UNICITY=YES|NO|DEFAULT`` +``DEDUPLICATION=YES|NO|DEFAULT`` Specify the de-duplication strategy for a library using this feature. ``YES`` @@ -67,7 +68,7 @@ The following properties are supported: ``DEFAULT`` Let CMake determine a de-duplication strategy automatically. - If this property is not specified, ``DEFAULT`` will be used. + If this attribute is not specified, ``DEFAULT`` will be used. Example ^^^^^^^ @@ -75,14 +76,14 @@ Example A common need is the loading of a full archive as part of the creation of a shared library. The built-in ``WHOLE_ARCHIVE`` feature can be used for that purpose. The implementation of that built-in feature sets the following -link library feature properties: +link library feature attributes: .. code-block:: cmake - set(CMAKE_LINK_LIBRARY_WHOLE_ARCHIVE_PROPERTIES + set(CMAKE_LINK_LIBRARY_WHOLE_ARCHIVE_ATTRIBUTES LIBRARY_TYPE=STATIC OVERRIDE=DEFAULT - UNICITY=YES + DEDUPLICATION=YES ) ``LIBRARY_TYPE=STATIC`` @@ -92,7 +93,7 @@ link library feature properties: because they are compatible and enhance the user's experience: standard library specification and ``$<LINK_LIBRARY:WHOLE_ARCHIVE>`` can be used freely. -``UNICITY=YES`` +``DEDUPLICATION=YES`` When this feature is used, the linker loads all symbols from the static library, so there is no need to repeat the library on the linker command line. diff --git a/Help/variable/CMAKE_LINK_LIBRARY_USING_FEATURE.txt b/Help/variable/CMAKE_LINK_LIBRARY_USING_FEATURE.txt index 59a0d02..f5c19e0 100644 --- a/Help/variable/CMAKE_LINK_LIBRARY_USING_FEATURE.txt +++ b/Help/variable/CMAKE_LINK_LIBRARY_USING_FEATURE.txt @@ -3,8 +3,8 @@ and underscores. Feature names defined in all uppercase are reserved for CMake's own built-in features (see `Predefined Features`_ further below). Some aspects of feature behavior can be defined by the -:variable:`CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_PROPERTIES` and -:variable:`CMAKE_LINK_LIBRARY_<FEATURE>_PROPERTIES` variables. +:variable:`CMAKE_<LANG>_LINK_LIBRARY_<FEATURE>_ATTRIBUTES` and +:variable:`CMAKE_LINK_LIBRARY_<FEATURE>_ATTRIBUTES` variables. Feature Definitions ^^^^^^^^^^^^^^^^^^^ |