<LANG>_STANDARD_REQUIRED

变体有

这些属性指定了 <LANG>_STANDARD 的值是否为必需项。当为 false 或未设置时,<LANG>_STANDARD 目标属性被视为可选,如果请求的标准不可用,则可能会“降级”为之前的标准。当 <LANG>_STANDARD_REQUIRED 设置为 true 时,<LANG>_STANDARD 将成为硬性要求,如果无法满足该要求,则会发出致命错误。

请注意,无论 <LANG>_STANDARD_REQUIRED 的值如何,实际使用的语言标准可能高于 <LANG>_STANDARD 指定的标准。特别是,使用要求编译 特性 的使用可以将必需的语言标准提高到高于 <LANG>_STANDARD 指定的水平。

当创建目标时,如果这些属性由 CMAKE_<LANG>_STANDARD_REQUIRED 变量的值初始化,则其值将被使用。

有关编译特性以及支持的编译器列表的信息,请参阅 cmake-compile-features(7) 手册。