| 123456789101112131415161718192021222324252627 |
- enable_language(C)
- function(check_language_feature_flags lang level)
- if(CMAKE_${lang}${level}_STANDARD_COMPILE_OPTION)
- #this property is an internal implementation detail of CMake
- get_property(known_features GLOBAL PROPERTY CMAKE_${lang}${level}_KNOWN_FEATURES)
- list(LENGTH known_features len)
- if(len LESS 1)
- message(FATAL_ERROR "unable to find known features of ${lang}${level}")
- endif()
- string(TOLOWER ${lang} lang_lower)
- set(known_name ${lang_lower}${level}_known_features)
- set(meta_name ${lang_lower}${level}_meta_feature)
- add_library(${known_name} STATIC a.c)
- target_compile_features(${known_name} PUBLIC ${known_features})
- add_library(${meta_name} STATIC a.c)
- target_compile_features(${meta_name} PUBLIC ${lang_lower}_std_${level})
- endif()
- endfunction()
- check_language_feature_flags(C 90)
- check_language_feature_flags(C 99)
- check_language_feature_flags(C 11)
|