summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2014-05-15 09:32:30 (GMT)
committerStephen Kelly <steveire@gmail.com>2014-05-21 15:22:32 (GMT)
commit0dfe395e3cb1a720c4853087db554a6827feaadb (patch)
tree83d9cbe0ee9843bc4aa0012d9a7064a3522ba018 /Help
parentaa8a6fcee8c67b0516efcd745fb1d7a66d249096 (diff)
downloadCMake-0dfe395e3cb1a720c4853087db554a6827feaadb.zip
CMake-0dfe395e3cb1a720c4853087db554a6827feaadb.tar.gz
CMake-0dfe395e3cb1a720c4853087db554a6827feaadb.tar.bz2
Features: Add COMPILE_FEATURES generator expression.
Allow setting build properties based on the features available for a target. The availability of features is determined at generate-time by evaluating the link implementation. Ensure that the <LANG>_STANDARD determined while evaluating COMPILE_FEATURES in the link implementation is not lower than that provided by the INTERFACE of the link implementation. This is similar to handling of transitive properties such as POSITION_INDEPENDENT_CODE.
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-generator-expressions.7.rst6
-rw-r--r--Help/release/dev/compile-language-features.rst4
2 files changed, 10 insertions, 0 deletions
diff --git a/Help/manual/cmake-generator-expressions.7.rst b/Help/manual/cmake-generator-expressions.7.rst
index dfda8dc..9184580 100644
--- a/Help/manual/cmake-generator-expressions.7.rst
+++ b/Help/manual/cmake-generator-expressions.7.rst
@@ -83,6 +83,12 @@ otherwise expands to nothing.
else ``0``. If the policy was not set, the warning message for the policy
will be emitted. This generator expression only works for a subset of
policies.
+``$<COMPILE_FEATURES:feature[,feature]...>``
+ ``1`` if all of the ``feature`` features are available for the 'head'
+ target, and ``0`` otherwise. If this expression is used while evaluating
+ the link implementation of a target and if any dependency transitively
+ increases the required :prop_tgt:`C_STANDARD` or :prop_tgt:`CXX_STANDARD`
+ for the 'head' target, an error is reported.
Informational Expressions
=========================
diff --git a/Help/release/dev/compile-language-features.rst b/Help/release/dev/compile-language-features.rst
index fe72e39..d10e22b 100644
--- a/Help/release/dev/compile-language-features.rst
+++ b/Help/release/dev/compile-language-features.rst
@@ -22,3 +22,7 @@ target-language-features
* New :command:`target_compile_features` command allows populating the
:prop_tgt:`COMPILE_FEATURES` target property, just like any other
build variable.
+
+* New ``COMPILE_FEATURES``
+ :manual:`generator expression <cmake-generator-expressions(7)>` allows
+ setting build properties based on available compiler features.