summaryrefslogtreecommitdiff
path: root/Help/manual/cmake-generator-expressions.7.rst
diff options
context:
space:
mode:
Diffstat (limited to 'Help/manual/cmake-generator-expressions.7.rst')
-rw-r--r--Help/manual/cmake-generator-expressions.7.rst22
1 files changed, 21 insertions, 1 deletions
diff --git a/Help/manual/cmake-generator-expressions.7.rst b/Help/manual/cmake-generator-expressions.7.rst
index 9d29dc38e3..473e8d7cf1 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -1219,6 +1219,25 @@ Compile Features
:manual:`cmake-compile-features(7)` manual for information on
compile features and a list of supported compilers.
+Compile Context
+^^^^^^^^^^^^^^^
+
+.. genex:: $<COMPILE_ONLY:...>
+
+ .. versionadded:: 3.27
+
+ Content of ``...``, when collecting :ref:`Target Usage Requirements`,
+ 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.
+ Provides compilation usage requirements without any linking requirements.
+
+ Use cases include header-only usage where all usages are known to not have
+ linking requirements (e.g., all-``inline`` or C++ template libraries).
+
+ Note that for proper evaluation of this expression requires policy :policy:`CMP0099`
+ to be set to `NEW`.
+
Linker Language And ID
^^^^^^^^^^^^^^^^^^^^^^
@@ -1599,7 +1618,8 @@ Link Context
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
- dependencies without other usage requirements.
+ dependencies without other usage requirements such as include directories or
+ compile options.
.. versionadded:: 3.24
``LINK_ONLY`` may also be used in a :prop_tgt:`LINK_LIBRARIES` target