Help: Better explain CMAKE_<LANG>_EXTENSIONS_DEFAULT

Explain that this represents the compiler's default and mustn't be modified
by the user. Clarify when it's used as the default.

Additionally:
* Add a reference to it in cmake-compile-features in text explaining the
  feature.
* Add explanations for the default initialization by
  `CMAKE_<LANG>_EXTENSIONS_DEFAULT` to all `<LANG>_EXTENSIONS` pages and
  references to CMP0128.
* Slightly reduce the wordiness of the default initialization explanations by
  removing an unnecessary "it is".

Fixes #22828.
This commit is contained in:
Raul Tambre
2021-11-01 22:03:09 +02:00
parent 1cf99f66c7
commit e9976c8827
10 changed files with 36 additions and 19 deletions
+2 -1
View File
@@ -11,7 +11,8 @@ The variations are:
* :variable:`CMAKE_OBJCXX_EXTENSIONS`
Default values for :prop_tgt:`<LANG>_EXTENSIONS` target properties if set when
a target is created.
a target is created. For the compiler's default setting see
:variable:`CMAKE_<LANG>_EXTENSIONS_DEFAULT`.
For supported CMake versions see the respective pages.
@@ -3,5 +3,8 @@ CMAKE_<LANG>_EXTENSIONS_DEFAULT
.. versionadded:: 3.22
Default value used when the :prop_tgt:`<LANG>_EXTENSIONS` target property is
not set. Initialized during compiler detection to the compiler's default.
Compiler's default extensions mode. Used as the default for the
:prop_tgt:`<LANG>_EXTENSIONS` target property when
:variable:`CMAKE_<LANG>_EXTENSIONS` is not set (see :policy:`CMP0128`).
This variable is read-only. Modifying it is undefined behavior.