# CXX_STANDARD_REQUIRED

Added in version 3.1.

Boolean describing whether the value of `CXX_STANDARD` is a requirement.

If this property is set to `ON`, then the value of the `CXX_STANDARD` target property is treated as a requirement. If this property is `OFF` or unset, the `CXX_STANDARD` target property is treated as optional and may "decay" to a previous standard if the requested is not available. For compilers that have no notion of a standard level, such as MSVC 1800 (Visual Studio 2013) and lower, this has no effect.

See the `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 `CMAKE_CXX_STANDARD_REQUIRED` variable if it is set when a target is created.

Alternatively, see Requiring Language Standards.