diff --git a/Help/manual/cmake-compile-features.7.rst b/Help/manual/cmake-compile-features.7.rst index a0459fac46..67b0f6ec73 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 2ddba0b419..ab467ac408 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 bda531ec01..9b52504efc 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 b2abb462fc..a53090c57f 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 b731753bd0..d1475c9642 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 2add21db58..afc2ad367e 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 8a254f20a5..2a15dec906 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 ef1c7543cd..cd72e5fcca 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 84e5e3ad1b..3a32002f61 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 6783eb5b59..a66453acb1 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.