From e9976c882739a0860ae2eae33f318cb0c601c658 Mon Sep 17 00:00:00 2001 From: Raul Tambre Date: Mon, 1 Nov 2021 22:03:09 +0200 Subject: Help: Better explain CMAKE__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__EXTENSIONS_DEFAULT` to all `_EXTENSIONS` pages and references to CMP0128. * Slightly reduce the wordiness of the default initialization explanations by removing an unnecessary "it is". Fixes #22828. --- Help/manual/cmake-compile-features.7.rst | 6 +++--- Help/prop_tgt/CUDA_EXTENSIONS.rst | 6 ++++-- Help/prop_tgt/CXX_EXTENSIONS.rst | 6 ++++-- Help/prop_tgt/C_EXTENSIONS.rst | 6 ++++-- Help/prop_tgt/HIP_EXTENSIONS.rst | 6 ++++-- Help/prop_tgt/LANG_EXTENSIONS.rst | 3 ++- Help/prop_tgt/OBJCXX_EXTENSIONS.rst | 6 ++++-- Help/prop_tgt/OBJC_EXTENSIONS.rst | 6 ++++-- Help/variable/CMAKE_LANG_EXTENSIONS.rst | 3 ++- Help/variable/CMAKE_LANG_EXTENSIONS_DEFAULT.rst | 7 +++++-- 10 files changed, 36 insertions(+), 19 deletions(-) diff --git a/Help/manual/cmake-compile-features.7.rst b/Help/manual/cmake-compile-features.7.rst index a0459fa..67b0f6e 100644 --- a/Help/manual/cmake-compile-features.7.rst +++ b/Help/manual/cmake-compile-features.7.rst @@ -119,9 +119,9 @@ Availability of Compiler Extensions ----------------------------------- The :prop_tgt:`_EXTENSIONS` target property defaults to the compiler's -efault. Note that because most compilers enable extensions by default, this -may expose cross-platform bugs in user code or in the headers of third-party -dependencies. +default (see :variable:`CMAKE__EXTENSIONS_DEFAULT`). Note that because +most compilers enable extensions by default, this may expose portability bugs +in user code or in the headers of third-party dependencies. :prop_tgt:`_EXTENSIONS` used to default to ``ON``. See :policy:`CMP0128`. diff --git a/Help/prop_tgt/CUDA_EXTENSIONS.rst b/Help/prop_tgt/CUDA_EXTENSIONS.rst index 2ddba0b..ab467ac 100644 --- a/Help/prop_tgt/CUDA_EXTENSIONS.rst +++ b/Help/prop_tgt/CUDA_EXTENSIONS.rst @@ -15,5 +15,7 @@ See the :manual:`cmake-compile-features(7)` manual for information on compile features and a list of supported compilers. This property is initialized by the value of -the :variable:`CMAKE_CUDA_EXTENSIONS` variable if it is set when a target -is created. +the :variable:`CMAKE_CUDA_EXTENSIONS` variable if set when a target is created +and otherwise by the value of +:variable:`CMAKE_CUDA_EXTENSIONS_DEFAULT _EXTENSIONS_DEFAULT>` +(see :policy:`CMP0128`). diff --git a/Help/prop_tgt/CXX_EXTENSIONS.rst b/Help/prop_tgt/CXX_EXTENSIONS.rst index bda531e..9b52504 100644 --- a/Help/prop_tgt/CXX_EXTENSIONS.rst +++ b/Help/prop_tgt/CXX_EXTENSIONS.rst @@ -15,5 +15,7 @@ See the :manual:`cmake-compile-features(7)` manual for information on compile features and a list of supported compilers. This property is initialized by the value of -the :variable:`CMAKE_CXX_EXTENSIONS` variable if it is set when a target -is created. +the :variable:`CMAKE_CXX_EXTENSIONS` variable if set when a target is created +and otherwise by the value of +:variable:`CMAKE_CXX_EXTENSIONS_DEFAULT _EXTENSIONS_DEFAULT>` (see +:policy:`CMP0128`). diff --git a/Help/prop_tgt/C_EXTENSIONS.rst b/Help/prop_tgt/C_EXTENSIONS.rst index b2abb46..a53090c 100644 --- a/Help/prop_tgt/C_EXTENSIONS.rst +++ b/Help/prop_tgt/C_EXTENSIONS.rst @@ -15,5 +15,7 @@ See the :manual:`cmake-compile-features(7)` manual for information on compile features and a list of supported compilers. This property is initialized by the value of -the :variable:`CMAKE_C_EXTENSIONS` variable if it is set when a target -is created. +the :variable:`CMAKE_C_EXTENSIONS` variable if set when a target is created and +otherwise by the value of +:variable:`CMAKE_C_EXTENSIONS_DEFAULT _EXTENSIONS_DEFAULT>` (see +:policy:`CMP0128`). diff --git a/Help/prop_tgt/HIP_EXTENSIONS.rst b/Help/prop_tgt/HIP_EXTENSIONS.rst index b731753..d1475c9 100644 --- a/Help/prop_tgt/HIP_EXTENSIONS.rst +++ b/Help/prop_tgt/HIP_EXTENSIONS.rst @@ -15,5 +15,7 @@ See the :manual:`cmake-compile-features(7)` manual for information on compile features and a list of supported compilers. This property is initialized by the value of -the :variable:`CMAKE_HIP_EXTENSIONS` variable if it is set when a target -is created. +the :variable:`CMAKE_HIP_EXTENSIONS` variable if set when a target is created +and otherwise by the value of +:variable:`CMAKE_HIP_EXTENSIONS_DEFAULT _EXTENSIONS_DEFAULT>` (see +:policy:`CMP0128`). diff --git a/Help/prop_tgt/LANG_EXTENSIONS.rst b/Help/prop_tgt/LANG_EXTENSIONS.rst index 2add21d..afc2ad3 100644 --- a/Help/prop_tgt/LANG_EXTENSIONS.rst +++ b/Help/prop_tgt/LANG_EXTENSIONS.rst @@ -14,7 +14,8 @@ These properties specify whether compiler-specific extensions are requested. These properties are initialized by the value of the :variable:`CMAKE__EXTENSIONS` variable if it is set when a target is -created. +created and otherwise by the value of +:variable:`CMAKE__EXTENSIONS_DEFAULT` (see :policy:`CMP0128`). For supported CMake versions see the respective pages. To control language standard versions see :prop_tgt:`_STANDARD`. diff --git a/Help/prop_tgt/OBJCXX_EXTENSIONS.rst b/Help/prop_tgt/OBJCXX_EXTENSIONS.rst index 8a254f2..2a15dec 100644 --- a/Help/prop_tgt/OBJCXX_EXTENSIONS.rst +++ b/Help/prop_tgt/OBJCXX_EXTENSIONS.rst @@ -18,5 +18,7 @@ If the property is not set, and the project has set the :prop_tgt:`CXX_EXTENSION the value of :prop_tgt:`CXX_EXTENSIONS` is set for :prop_tgt:`OBJCXX_EXTENSIONS`. This property is initialized by the value of -the :variable:`CMAKE_OBJCXX_EXTENSIONS` variable if it is set when a target -is created. +the :variable:`CMAKE_OBJCXX_EXTENSIONS` variable if set when a target is +created and otherwise by the value of +:variable:`CMAKE_OBJCXX_EXTENSIONS_DEFAULT _EXTENSIONS_DEFAULT>` +(see :policy:`CMP0128`). diff --git a/Help/prop_tgt/OBJC_EXTENSIONS.rst b/Help/prop_tgt/OBJC_EXTENSIONS.rst index ef1c754..cd72e5f 100644 --- a/Help/prop_tgt/OBJC_EXTENSIONS.rst +++ b/Help/prop_tgt/OBJC_EXTENSIONS.rst @@ -18,5 +18,7 @@ See the :manual:`cmake-compile-features(7)` manual for information on compile features and a list of supported compilers. This property is initialized by the value of -the :variable:`CMAKE_OBJC_EXTENSIONS` variable if it is set when a target -is created. +the :variable:`CMAKE_OBJC_EXTENSIONS` variable if set when a target is created +and otherwise by the value of +:variable:`CMAKE_OBJC_EXTENSIONS_DEFAULT _EXTENSIONS_DEFAULT>` +(see :policy:`CMP0128`). diff --git a/Help/variable/CMAKE_LANG_EXTENSIONS.rst b/Help/variable/CMAKE_LANG_EXTENSIONS.rst index 84e5e3a..3a32002 100644 --- a/Help/variable/CMAKE_LANG_EXTENSIONS.rst +++ b/Help/variable/CMAKE_LANG_EXTENSIONS.rst @@ -11,7 +11,8 @@ The variations are: * :variable:`CMAKE_OBJCXX_EXTENSIONS` Default values for :prop_tgt:`_EXTENSIONS` target properties if set when -a target is created. +a target is created. For the compiler's default setting see +:variable:`CMAKE__EXTENSIONS_DEFAULT`. For supported CMake versions see the respective pages. diff --git a/Help/variable/CMAKE_LANG_EXTENSIONS_DEFAULT.rst b/Help/variable/CMAKE_LANG_EXTENSIONS_DEFAULT.rst index 6783eb5..a66453a 100644 --- a/Help/variable/CMAKE_LANG_EXTENSIONS_DEFAULT.rst +++ b/Help/variable/CMAKE_LANG_EXTENSIONS_DEFAULT.rst @@ -3,5 +3,8 @@ CMAKE__EXTENSIONS_DEFAULT .. versionadded:: 3.22 -Default value used when the :prop_tgt:`_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:`_EXTENSIONS` target property when +:variable:`CMAKE__EXTENSIONS` is not set (see :policy:`CMP0128`). + +This variable is read-only. Modifying it is undefined behavior. -- cgit v0.12