On this page
CMAKE_C_KNOWN_FEATURES
New 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
New 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- 
    
New in version 3.21.
Compiler mode is at least C 17.
 c_std_23- 
    
New 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 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. 
© 2000–2022 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
 https://cmake.org/cmake/help/v3.23/prop_gbl/CMAKE_C_KNOWN_FEATURES.html