[Cmake-commits] CMake branch, next, updated. v3.1.0-rc1-531-ga822076
Stephen Kelly
steveire at gmail.com
Tue Nov 11 17:09:28 EST 2014
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via a8220764822a8374a7fdae62b7357e4fa9380174 (commit)
via 462ca60abfa161341ef97c016ac74ed5b2139d51 (commit)
via e68d5c6000e25d837079c673316d9deeba3b8913 (commit)
from d2e4161754e8efff6921789948d648462896fe6a (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a8220764822a8374a7fdae62b7357e4fa9380174
commit a8220764822a8374a7fdae62b7357e4fa9380174
Merge: d2e4161 462ca60
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Nov 11 17:09:27 2014 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Tue Nov 11 17:09:27 2014 -0500
Merge topic 'compile-features-refactor' into next
462ca60a Features: Use the correct dialect flag when recording features.
e68d5c60 Features: Split the Clang testable features to a separate file.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=462ca60abfa161341ef97c016ac74ed5b2139d51
commit 462ca60abfa161341ef97c016ac74ed5b2139d51
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Nov 11 23:06:03 2014 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Tue Nov 11 23:06:03 2014 +0100
Features: Use the correct dialect flag when recording features.
Avoid using -std=c++1y for compilers which support -std=c++14, for
example.
diff --git a/Modules/Compiler/Clang-CXX.cmake b/Modules/Compiler/Clang-CXX.cmake
index 5dd7b4a..f237285 100644
--- a/Modules/Compiler/Clang-CXX.cmake
+++ b/Modules/Compiler/Clang-CXX.cmake
@@ -39,12 +39,12 @@ macro(cmake_record_cxx_compile_features)
endmacro()
if (UNIX AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.4)
- _get_clang_features(c++1y CMAKE_CXX14_COMPILE_FEATURES)
+ _get_clang_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
if (_result EQUAL 0)
- _get_clang_features(c++11 CMAKE_CXX11_COMPILE_FEATURES)
+ _get_clang_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
endif()
if (_result EQUAL 0)
- _get_clang_features(c++98 CMAKE_CXX98_COMPILE_FEATURES)
+ _get_clang_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
endif()
else()
set(_result 0)
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index 14dc76a..25a7b1e 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -38,14 +38,14 @@ macro(cmake_record_cxx_compile_features)
set(_result 0)
if (UNIX AND NOT APPLE AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
- _get_gcc_features(c++1y CMAKE_CXX14_COMPILE_FEATURES)
+ _get_gcc_features(${CMAKE_CXX14_STANDARD_COMPILE_OPTION} CMAKE_CXX14_COMPILE_FEATURES)
endif()
if (UNIX AND NOT APPLE AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
if (_result EQUAL 0)
- _get_gcc_features(c++11 CMAKE_CXX11_COMPILE_FEATURES)
+ _get_gcc_features(${CMAKE_CXX11_STANDARD_COMPILE_OPTION} CMAKE_CXX11_COMPILE_FEATURES)
endif()
if (_result EQUAL 0)
- _get_gcc_features(c++98 CMAKE_CXX98_COMPILE_FEATURES)
+ _get_gcc_features(${CMAKE_CXX98_STANDARD_COMPILE_OPTION} CMAKE_CXX98_COMPILE_FEATURES)
endif()
else()
set(_result 0)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=e68d5c6000e25d837079c673316d9deeba3b8913
commit e68d5c6000e25d837079c673316d9deeba3b8913
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Tue Nov 11 22:59:16 2014 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Tue Nov 11 23:01:07 2014 +0100
Features: Split the Clang testable features to a separate file.
These tests can be shared with the AppleClang compile feature tests.
diff --git a/Modules/Compiler/Clang-CXX-FeatureTests.cmake b/Modules/Compiler/Clang-CXX-FeatureTests.cmake
index 4c532fb..df2e1a8 100644
--- a/Modules/Compiler/Clang-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/Clang-CXX-FeatureTests.cmake
@@ -2,61 +2,9 @@
# Reference: http://clang.llvm.org/cxx_status.html
# http://clang.llvm.org/docs/LanguageExtensions.html
-set(testable_features
- cxx_alias_templates
- cxx_alignas
- cxx_attributes
- cxx_auto_type
- cxx_binary_literals
- cxx_constexpr
- cxx_contextual_conversions
- cxx_decltype
- cxx_decltype_incomplete_return_types
- cxx_default_function_template_args
- cxx_defaulted_functions
- cxx_delegating_constructors
- cxx_deleted_functions
- cxx_explicit_conversions
- cxx_generalized_initializers
- cxx_inheriting_constructors
- cxx_lambdas
- cxx_local_type_template_args
- cxx_noexcept
- cxx_nonstatic_member_init
- cxx_nullptr
- cxx_range_for
- cxx_raw_string_literals
- cxx_reference_qualified_functions
- cxx_relaxed_constexpr
- cxx_return_type_deduction
- cxx_rvalue_references
- cxx_static_assert
- cxx_strong_enums
- cxx_thread_local
- cxx_unicode_literals
- cxx_unrestricted_unions
- cxx_user_literals
- cxx_variable_templates
- cxx_variadic_templates
-)
-
set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 304")
-foreach(feature ${testable_features})
- set(_cmake_feature_test_${feature} "${_cmake_oldestSupported} && __has_feature(${feature})")
-endforeach()
-
-unset(testable_features)
-
-set(_cmake_feature_test_cxx_aggregate_default_initializers "${_cmake_oldestSupported} && __has_feature(cxx_aggregate_nsdmi)")
-
-set(_cmake_feature_test_cxx_trailing_return_types "${_cmake_oldestSupported} && __has_feature(cxx_trailing_return)")
-set(_cmake_feature_test_cxx_alignof "${_cmake_oldestSupported} && __has_feature(cxx_alignas)")
-set(_cmake_feature_test_cxx_final "${_cmake_oldestSupported} && __has_feature(cxx_override_control)")
-set(_cmake_feature_test_cxx_override "${_cmake_oldestSupported} && __has_feature(cxx_override_control)")
-set(_cmake_feature_test_cxx_uniform_initialization "${_cmake_oldestSupported} && __has_feature(cxx_generalized_initializers)")
-set(_cmake_feature_test_cxx_defaulted_move_initializers "${_cmake_oldestSupported} && __has_feature(cxx_defaulted_functions)")
-set(_cmake_feature_test_cxx_lambda_init_captures "${_cmake_oldestSupported} && __has_feature(cxx_init_captures)")
+include("${CMAKE_CURRENT_LIST_DIR}/Clang-CXX-TestableFeatures.cmake")
set(Clang34_CXX14 "((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus > 201103L")
# http://llvm.org/bugs/show_bug.cgi?id=19242
diff --git a/Modules/Compiler/Clang-CXX-FeatureTests.cmake b/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
similarity index 53%
copy from Modules/Compiler/Clang-CXX-FeatureTests.cmake
copy to Modules/Compiler/Clang-CXX-TestableFeatures.cmake
index 4c532fb..b39475c 100644
--- a/Modules/Compiler/Clang-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/Clang-CXX-TestableFeatures.cmake
@@ -1,7 +1,4 @@
-# Reference: http://clang.llvm.org/cxx_status.html
-# http://clang.llvm.org/docs/LanguageExtensions.html
-
set(testable_features
cxx_alias_templates
cxx_alignas
@@ -40,8 +37,6 @@ set(testable_features
cxx_variadic_templates
)
-set(_cmake_oldestSupported "((__clang_major__ * 100) + __clang_minor__) >= 304")
-
foreach(feature ${testable_features})
set(_cmake_feature_test_${feature} "${_cmake_oldestSupported} && __has_feature(${feature})")
endforeach()
@@ -57,30 +52,3 @@ set(_cmake_feature_test_cxx_override "${_cmake_oldestSupported} && __has_feature
set(_cmake_feature_test_cxx_uniform_initialization "${_cmake_oldestSupported} && __has_feature(cxx_generalized_initializers)")
set(_cmake_feature_test_cxx_defaulted_move_initializers "${_cmake_oldestSupported} && __has_feature(cxx_defaulted_functions)")
set(_cmake_feature_test_cxx_lambda_init_captures "${_cmake_oldestSupported} && __has_feature(cxx_init_captures)")
-
-set(Clang34_CXX14 "((__clang_major__ * 100) + __clang_minor__) >= 304 && __cplusplus > 201103L")
-# http://llvm.org/bugs/show_bug.cgi?id=19242
-set(_cmake_feature_test_cxx_attribute_deprecated "${Clang34_CXX14}")
-# http://llvm.org/bugs/show_bug.cgi?id=19698
-set(_cmake_feature_test_cxx_decltype_auto "${Clang34_CXX14}")
-set(_cmake_feature_test_cxx_digit_separators "${Clang34_CXX14}")
-# http://llvm.org/bugs/show_bug.cgi?id=19674
-set(_cmake_feature_test_cxx_generic_lambdas "${Clang34_CXX14}")
-
-# TODO: Should be supported by Clang 3.1
-set(Clang31_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
-set(_cmake_feature_test_cxx_enum_forward_declarations "${Clang31_CXX11}")
-set(_cmake_feature_test_cxx_sizeof_member "${Clang31_CXX11}")
-# TODO: Should be supported by Clang 2.9
-set(Clang29_CXX11 "${_cmake_oldestSupported} && __cplusplus >= 201103L")
-set(_cmake_feature_test_cxx_extended_friend_declarations "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_extern_templates "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_func_identifier "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_inline_namespaces "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_long_long_type "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_right_angle_brackets "${Clang29_CXX11}")
-set(_cmake_feature_test_cxx_variadic_macros "${Clang29_CXX11}")
-
-# TODO: Should be supported forever?
-set(Clang_CXX98 "${_cmake_oldestSupported} && __cplusplus >= 199711L")
-set(_cmake_feature_test_cxx_template_template_parameters "${Clang_CXX98}")
-----------------------------------------------------------------------
Summary of changes:
Modules/Compiler/Clang-CXX-FeatureTests.cmake | 54 +-------------------
...ests.cmake => Clang-CXX-TestableFeatures.cmake} | 32 ------------
Modules/Compiler/Clang-CXX.cmake | 6 +--
Modules/Compiler/GNU-CXX.cmake | 6 +--
4 files changed, 7 insertions(+), 91 deletions(-)
copy Modules/Compiler/{Clang-CXX-FeatureTests.cmake => Clang-CXX-TestableFeatures.cmake} (53%)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list