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
- restrictkeyword, as defined in- ISO/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.
