CMAKE_C_KNOWN_FEATURES¶
版本 3.1 中新增。
此版本 CMake 已知的 C 功能列表。
此全局属性中列出的功能可能已知 C 编译器可用。如果该功能在 C 编译器中可用,它将被列在 CMAKE_C_COMPILE_FEATURES 变量中。
此处列出的功能可与 target_compile_features() 命令一起使用。有关编译功能和支持的编译器列表的信息,请参阅 cmake-compile-features(7) 手册。
此版本 CMake 已知的特性如下所列。
指示 C 标准支持的高级元功能¶
版本 3.8 新增。
c_std_90编译器模式至少为 C 90。
c_std_99编译器模式至少为 C 99。
c_std_11编译器模式至少为 C 11。
c_std_173.21 版本新增。
编译器模式至少为 C 17。
c_std_233.21 版本新增。
编译器模式至少为 C 23。
注意
如果编译器的默认标准级别至少等于所请求功能的标准级别,CMake 可能会省略 -std= 标志。如果编译器的默认扩展模式与 <LANG>_EXTENSIONS 目标属性不匹配,或者 <LANG>_STANDARD 目标属性已设置,则仍可能添加该标志。
低级单个编译功能¶
c_function_prototypes函数原型,如
ISO/IEC 9899:1990中定义的。c_restrictrestrict关键字,如ISO/IEC 9899:1999中定义的。c_static_assert静态断言,如
ISO/IEC 9899:2011中定义的。c_variadic_macros可变参数宏,如
ISO/IEC 9899:1999中定义的。