On this page
<LANG>_STANDARD_REQUIRED
The variations are:
C_STANDARD_REQUIREDCXX_STANDARD_REQUIREDCUDA_STANDARD_REQUIREDHIP_STANDARD_REQUIREDOBJC_STANDARD_REQUIREDOBJCXX_STANDARD_REQUIRED
These properties specify whether the value of <LANG>_STANDARD is a requirement. When false or unset, the <LANG>_STANDARD target property is treated as optional and may "decay" to a previous standard if the requested standard is not available. When <LANG>_STANDARD_REQUIRED is set to true, <LANG>_STANDARD becomes a hard requirement and a fatal error will be issued if that requirement cannot be met.
Note that the actual language standard used may be higher than that specified by <LANG>_STANDARD, regardless of the value of <LANG>_STANDARD_REQUIRED. In particular, transitive usage requirements or the use of compile features can raise the required language standard above what <LANG>_STANDARD specifies.
These properties are initialized by the value of the CMAKE_<LANG>_STANDARD_REQUIRED variable if it is set when a target is created.
See the cmake-compile-features(7) manual for information on compile features and a list of supported compilers.
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
 https://cmake.org/cmake/help/v3.23/prop_tgt/LANG_STANDARD_REQUIRED.html