2014-11-13 00:48:17 +03:00
|
|
|
|
|
|
|
# No known reference for AppleClang versions.
|
|
|
|
# Generic reference: http://clang.llvm.org/cxx_status.html
|
|
|
|
# http://clang.llvm.org/docs/LanguageExtensions.html
|
|
|
|
|
2015-01-09 22:18:26 +03:00
|
|
|
# Note: CXX compiler in Xcode 4.3 does not set __apple_build_version__ and so is
|
|
|
|
# not recognized as AppleClang.
|
|
|
|
# Xcode_43 - Apple clang version 3.1 (tags/Apple/clang-318.0.61) (based on LLVM 3.1svn)
|
|
|
|
# Xcode_44 - Apple clang version 4.0 (tags/Apple/clang-421.0.60) (based on LLVM 3.1svn)
|
|
|
|
# Xcode_45 - Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
|
|
|
|
# Xcode_46 - Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
|
|
|
|
# Xcode_50 - Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn)
|
|
|
|
# Xcode_51 - Apple LLVM version 5.1 (clang-503.0.38) (based on LLVM 3.4svn)
|
|
|
|
# Xcode_60 - Apple LLVM version 6.0 (clang-600.0.51) (based on LLVM 3.5svn)
|
|
|
|
# Xcode_61 - Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
|
|
|
|
|
|
|
|
# There is some non-correspondance. __has_feature(cxx_user_literals) is
|
|
|
|
# false for AppleClang 4.0 and 4.1, although it is reported as
|
|
|
|
# supported in the reference link for Clang 3.1. The compiler does not pass
|
|
|
|
# the CompileFeatures/cxx_user_literals.cpp test.
|
|
|
|
# cxx_attributes is listed as not supported until Clang 3.3. It works without
|
|
|
|
# warning with AppleClang 5.0, but issues a gcc-compat warning for
|
|
|
|
# AppleClang 4.0-4.2.
|
|
|
|
# cxx_alignof and cxx_alignas tests work for early AppleClang versions, though
|
|
|
|
# they are listed as supported for Clang 3.3 and later.
|
|
|
|
|
|
|
|
set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 400")
|
2014-11-13 00:48:17 +03:00
|
|
|
|
|
|
|
include("${CMAKE_CURRENT_LIST_DIR}/Clang-CXX-TestableFeatures.cmake")
|
|
|
|
|
|
|
|
set(AppleClang51_CXX14 "((__clang_major__ * 100) + __clang_minor__) >= 501 && __cplusplus > 201103L")
|
|
|
|
# http://llvm.org/bugs/show_bug.cgi?id=19242
|
|
|
|
set(_cmake_feature_test_cxx_attribute_deprecated "${AppleClang51_CXX14}")
|
|
|
|
# http://llvm.org/bugs/show_bug.cgi?id=19698
|
|
|
|
set(_cmake_feature_test_cxx_decltype_auto "${AppleClang51_CXX14}")
|
|
|
|
set(_cmake_feature_test_cxx_digit_separators "${AppleClang51_CXX14}")
|
|
|
|
# http://llvm.org/bugs/show_bug.cgi?id=19674
|
|
|
|
set(_cmake_feature_test_cxx_generic_lambdas "${AppleClang51_CXX14}")
|
|
|
|
|
2015-01-09 22:18:26 +03:00
|
|
|
set(AppleClang40_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
|
|
|
|
set(_cmake_feature_test_cxx_enum_forward_declarations "${AppleClang40_CXX11}")
|
|
|
|
set(_cmake_feature_test_cxx_sizeof_member "${AppleClang40_CXX11}")
|
|
|
|
set(_cmake_feature_test_cxx_extended_friend_declarations "${AppleClang40_CXX11}")
|
|
|
|
set(_cmake_feature_test_cxx_extern_templates "${AppleClang40_CXX11}")
|
|
|
|
set(_cmake_feature_test_cxx_func_identifier "${AppleClang40_CXX11}")
|
|
|
|
set(_cmake_feature_test_cxx_inline_namespaces "${AppleClang40_CXX11}")
|
|
|
|
set(_cmake_feature_test_cxx_long_long_type "${AppleClang40_CXX11}")
|
|
|
|
set(_cmake_feature_test_cxx_right_angle_brackets "${AppleClang40_CXX11}")
|
|
|
|
set(_cmake_feature_test_cxx_variadic_macros "${AppleClang40_CXX11}")
|
2014-11-13 00:48:17 +03:00
|
|
|
|
|
|
|
set(AppleClang_CXX98 "${_cmake_oldestSupported} && __cplusplus >= 199711L")
|
|
|
|
set(_cmake_feature_test_cxx_template_template_parameters "${AppleClang_CXX98}")
|