CMAKE_C_KNOWN_FEATURES¶
Added in version 3.1.
List of C features known to this version of CMake.
The features listed in this global property may be known to be available to the
C compiler. If the feature is available with the C compiler, it will
be listed in the CMAKE_C_COMPILE_FEATURES
variable.
The features listed here may be used with the target_compile_features()
command. See the cmake-compile-features(7)
manual for information on
compile features and a list of supported compilers.
The features known to this version of CMake are listed below.
High level meta features indicating C standard support¶
Added in version 3.8.
c_std_90
Compiler mode is at least C 90.
c_std_99
Compiler mode is at least C 99.
c_std_11
Compiler mode is at least C 11.
c_std_17
Added in version 3.21.
Compiler mode is at least C 17.
c_std_23
Added in version 3.21.
Compiler mode is at least C 23.
Note
If the compiler's default standard level is at least that
of the requested feature, CMake may omit the -std=
flag.
The flag may still be added if the compiler's default extensions mode
does not match the <LANG>_EXTENSIONS
target property,
or if the <LANG>_STANDARD
target property is set.
Low level individual compile features¶
c_function_prototypes
Function prototypes, as defined in
ISO/IEC 9899:1990
.c_restrict
restrict
keyword, as defined inISO/IEC 9899:1999
.c_static_assert
Static assert, as defined in
ISO/IEC 9899:2011
.c_variadic_macros
Variadic macros, as defined in
ISO/IEC 9899:1999
.