<LANG>_STANDARD_REQUIRED

其变体包括

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

请注意,无论 <LANG>_STANDARD 的值如何,实际使用的语言标准可能高于 _STANDARD 指定的标准。 特别是,用法要求compile features 的使用可能会将要求的语言标准提升到高于 <LANG>_STANDARD 指定的标准。

当创建目标时,如果设置了 CMAKE_<LANG>_STANDARD_REQUIRED 变量,则这些属性将由该变量的值初始化。

请参阅 cmake-compile-features(7) 手册,以获取有关编译功能和受支持的编译器列表的信息。