summaryrefslogtreecommitdiffstats
path: root/Help
diff options
context:
space:
mode:
authorRobert Maynard <robert.maynard@kitware.com>2019-11-04 16:51:40 (GMT)
committerRobert Maynard <robert.maynard@kitware.com>2019-11-04 22:16:57 (GMT)
commit53cd86ea7846b55b7cb21886ea77482e626bbeb4 (patch)
tree0b5683102807dc02a647733f3f4a9cb220d98050 /Help
parentc1d5d5eb11e0260ffadda0851ac844ab46b6b179 (diff)
downloadCMake-53cd86ea7846b55b7cb21886ea77482e626bbeb4.zip
CMake-53cd86ea7846b55b7cb21886ea77482e626bbeb4.tar.gz
CMake-53cd86ea7846b55b7cb21886ea77482e626bbeb4.tar.bz2
Help: Clarify what 'aware' means as it relates to C++ standards
Diffstat (limited to 'Help')
-rw-r--r--Help/manual/cmake-compile-features.7.rst14
-rw-r--r--Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst10
-rw-r--r--Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst6
3 files changed, 15 insertions, 15 deletions
diff --git a/Help/manual/cmake-compile-features.7.rst b/Help/manual/cmake-compile-features.7.rst
index 658694a..52f5652 100644
--- a/Help/manual/cmake-compile-features.7.rst
+++ b/Help/manual/cmake-compile-features.7.rst
@@ -90,21 +90,21 @@ Requiring Language Standards
In projects that use a large number of commonly available features from
a particular language standard (e.g. C++ 11) one may specify a
meta-feature (e.g. ``cxx_std_11``) that requires use of a compiler mode
-aware of that standard. This is simpler than specifying all the
-features individually, but does not guarantee the existence of any
-particular feature. Diagnosis of use of unsupported features will be
-delayed until compile time.
+that is at minimum aware of that standard, but could be greater.
+This is simpler than specifying all the features individually, but does
+not guarantee the existence of any particular feature.
+Diagnosis of use of unsupported features will be delayed until compile time.
For example, if C++ 11 features are used extensively in a project's
-header files, then clients must use a compiler mode aware of C++ 11
-or above. This can be requested with the code:
+header files, then clients must use a compiler mode that is no less
+than C++ 11. This can be requested with the code:
.. code-block:: cmake
target_compile_features(mylib PUBLIC cxx_std_11)
In this example, CMake will ensure the compiler is invoked in a mode
-that is aware of C++ 11 (or above), adding flags such as
+of at-least C++ 11 (or C++ 14, C++ 17, ...), adding flags such as
``-std=gnu++11`` if necessary. This applies to sources within ``mylib``
as well as any dependents (that may include headers from ``mylib``).
diff --git a/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst b/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
index 262a67c..b921c6b 100644
--- a/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
+++ b/Help/prop_gbl/CMAKE_CXX_KNOWN_FEATURES.rst
@@ -15,19 +15,19 @@ compile features and a list of supported compilers.
The features known to this version of CMake are:
``cxx_std_98``
- Compiler mode is aware of C++ 98.
+ Compiler mode is at least C++ 98.
``cxx_std_11``
- Compiler mode is aware of C++ 11.
+ Compiler mode is at least C++ 11.
``cxx_std_14``
- Compiler mode is aware of C++ 14.
+ Compiler mode is at least C++ 14.
``cxx_std_17``
- Compiler mode is aware of C++ 17.
+ Compiler mode is at least C++ 17.
``cxx_std_20``
- Compiler mode is aware of C++ 20.
+ Compiler mode is at least C++ 20.
``cxx_aggregate_default_initializers``
Aggregate default initializers, as defined in N3605_.
diff --git a/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst b/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
index 3707fef..e5f896e 100644
--- a/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
+++ b/Help/prop_gbl/CMAKE_C_KNOWN_FEATURES.rst
@@ -14,13 +14,13 @@ compile features and a list of supported compilers.
The features known to this version of CMake are:
``c_std_90``
- Compiler mode is aware of C 90.
+ Compiler mode is at least C 90.
``c_std_99``
- Compiler mode is aware of C 99.
+ Compiler mode is at least C 99.
``c_std_11``
- Compiler mode is aware of C 11.
+ Compiler mode is at least C 11.
``c_function_prototypes``
Function prototypes, as defined in ``ISO/IEC 9899:1990``.