summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt/TRANSITIVE_COMPILE_PROPERTIES.rst
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2024-05-09 17:38:35 (GMT)
committerBrad King <brad.king@kitware.com>2024-05-21 13:22:51 (GMT)
commitb9ee79b8a13abb957a176ff0b5eab1e5d33efc50 (patch)
treeb3cb6301b38f03f953dcea719fa1dec800022ada /Help/prop_tgt/TRANSITIVE_COMPILE_PROPERTIES.rst
parent633afa0b2e27a6eca3a4b1e123a80cf4338fe509 (diff)
downloadCMake-b9ee79b8a13abb957a176ff0b5eab1e5d33efc50.zip
CMake-b9ee79b8a13abb957a176ff0b5eab1e5d33efc50.tar.gz
CMake-b9ee79b8a13abb957a176ff0b5eab1e5d33efc50.tar.bz2
GenEx: Add support for custom transitive compile properties
Teach the `$<TARGET_PROPERTY:...>` generator expression to check for a new `TRANSITIVE_COMPILE_PROPERTIES` property in the target's link closure to enable transitive evaluation of named properties through the link closure, excluding entries guarded by `$<LINK_ONLY:...>`. Issue: #20416
Diffstat (limited to 'Help/prop_tgt/TRANSITIVE_COMPILE_PROPERTIES.rst')
-rw-r--r--Help/prop_tgt/TRANSITIVE_COMPILE_PROPERTIES.rst17
1 files changed, 17 insertions, 0 deletions
diff --git a/Help/prop_tgt/TRANSITIVE_COMPILE_PROPERTIES.rst b/Help/prop_tgt/TRANSITIVE_COMPILE_PROPERTIES.rst
new file mode 100644
index 0000000..a7777c3
--- /dev/null
+++ b/Help/prop_tgt/TRANSITIVE_COMPILE_PROPERTIES.rst
@@ -0,0 +1,17 @@
+TRANSITIVE_COMPILE_PROPERTIES
+-----------------------------
+
+.. versionadded:: 3.30
+
+Properties that the :genex:`TARGET_PROPERTY` generator expression, on the
+target and its dependents, evaluates as the union of values collected from
+the transitive closure of link dependencies, excluding entries guarded by
+:genex:`LINK_ONLY`.
+
+The value is a :ref:`semicolon-separated list <CMake Language Lists>`
+of :ref:`custom transitive property <Custom Transitive Properties>` names.
+Any leading ``INTERFACE_`` prefix is ignored, e.g., ``INTERFACE_PROP`` is
+treated as just ``PROP``.
+
+See documentation of the :genex:`TARGET_PROPERTY` generator expression
+for details of custom transitive property evaluation.