summaryrefslogtreecommitdiffstats
path: root/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2013-10-21 23:40:47 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-04-07 16:11:18 (GMT)
commit5412deded1073e9a217c771ae24e8c5a8a581a96 (patch)
tree2ab7c8215edfb7083425cb241a5310ed50ce3862 /Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
parentbaff44345cff8e635766e020d316da514616c16e (diff)
downloadCMake-5412deded1073e9a217c771ae24e8c5a8a581a96.zip
CMake-5412deded1073e9a217c771ae24e8c5a8a581a96.tar.gz
CMake-5412deded1073e9a217c771ae24e8c5a8a581a96.tar.bz2
cmTarget: Transitively evaluate compiler features.
Extend the interface of the target_compile_features command with PUBLIC and INTERFACE keywords. Populate the INTERFACE_COMPILER_FEATURES target property if they are set. Consume the INTERFACE_COMPILER_FEATURES target property from linked dependent targets to determine the final required compiler features and the compile flag, if needed. Use the same pattern of origin-debugging which is used for other build properties.
Diffstat (limited to 'Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst')
-rw-r--r--Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst14
1 files changed, 14 insertions, 0 deletions
diff --git a/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst b/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
new file mode 100644
index 0000000..a98e362
--- /dev/null
+++ b/Help/prop_tgt/INTERFACE_COMPILE_FEATURES.rst
@@ -0,0 +1,14 @@
+INTERFACE_COMPILE_FEATURES
+--------------------------
+
+List of public compile requirements for a library.
+
+Targets may populate this property to publish the compiler features
+required to compile against the headers for the target. Consuming
+targets can add entries to their own :prop_tgt:`COMPILE_FEATURES`
+property such as ``$<TARGET_PROPERTY:foo,INTERFACE_COMPILE_FEATURES>``
+to require the features specified in the interface of ``foo``.
+
+Contents of ``INTERFACE_COMPILE_FEATURES`` may use "generator expressions"
+with the syntax ``$<...>``. See the :manual:`cmake-generator-expressions(7)`
+manual for available expressions.