1 2set(testable_features 3 cxx_alias_templates 4 cxx_alignas 5 cxx_attributes 6 cxx_auto_type 7 cxx_binary_literals 8 cxx_constexpr 9 cxx_contextual_conversions 10 cxx_decltype 11 cxx_default_function_template_args 12 cxx_defaulted_functions 13 cxx_delegating_constructors 14 cxx_deleted_functions 15 cxx_explicit_conversions 16 cxx_generalized_initializers 17 cxx_inheriting_constructors 18 cxx_lambdas 19 cxx_local_type_template_args 20 cxx_noexcept 21 cxx_nonstatic_member_init 22 cxx_nullptr 23 cxx_range_for 24 cxx_raw_string_literals 25 cxx_reference_qualified_functions 26 cxx_relaxed_constexpr 27 cxx_return_type_deduction 28 cxx_rvalue_references 29 cxx_static_assert 30 cxx_strong_enums 31 cxx_thread_local 32 cxx_unicode_literals 33 cxx_unrestricted_unions 34 cxx_user_literals 35 cxx_variable_templates 36 cxx_variadic_templates 37) 38if(NOT "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC") 39 list(APPEND testable_features cxx_decltype_incomplete_return_types) 40endif() 41 42foreach(feature ${testable_features}) 43 set(_cmake_feature_test_${feature} "${_cmake_oldestSupported} && __has_feature(${feature})") 44endforeach() 45 46unset(testable_features) 47 48set(_cmake_feature_test_cxx_aggregate_default_initializers "${_cmake_oldestSupported} && __has_feature(cxx_aggregate_nsdmi)") 49 50set(_cmake_feature_test_cxx_trailing_return_types "${_cmake_oldestSupported} && __has_feature(cxx_trailing_return)") 51set(_cmake_feature_test_cxx_alignof "${_cmake_oldestSupported} && __has_feature(cxx_alignas)") 52set(_cmake_feature_test_cxx_final "${_cmake_oldestSupported} && __has_feature(cxx_override_control)") 53set(_cmake_feature_test_cxx_override "${_cmake_oldestSupported} && __has_feature(cxx_override_control)") 54set(_cmake_feature_test_cxx_uniform_initialization "${_cmake_oldestSupported} && __has_feature(cxx_generalized_initializers)") 55set(_cmake_feature_test_cxx_defaulted_move_initializers "${_cmake_oldestSupported} && __has_feature(cxx_defaulted_functions)") 56set(_cmake_feature_test_cxx_lambda_init_captures "${_cmake_oldestSupported} && __has_feature(cxx_init_captures)") 57