[Cmake-commits] CMake branch, next, updated. v3.0.0-rc3-1960-g57905c8

Stephen Kelly steveire at gmail.com
Sun Apr 6 07:09:52 EDT 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  57905c8601d34ad8a5aa09d2ccd42f8b3acacaa6 (commit)
       via  5c1a84c943a8a082218ef1f59cf91344b0932b1c (commit)
      from  022179d0c0a5d0386e08b16cf044e298036ebe67 (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=57905c8601d34ad8a5aa09d2ccd42f8b3acacaa6
commit 57905c8601d34ad8a5aa09d2ccd42f8b3acacaa6
Merge: 022179d 5c1a84c
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Apr 6 07:09:52 2014 -0400
Commit:     CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sun Apr 6 07:09:52 2014 -0400

    Merge topic 'gnu-4.7-features' into next
    
    5c1a84c9 Features: Record for GNU 4.7.


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5c1a84c943a8a082218ef1f59cf91344b0932b1c
commit 5c1a84c943a8a082218ef1f59cf91344b0932b1c
Author:     Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Apr 6 13:00:17 2014 +0200
Commit:     Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Apr 6 13:08:33 2014 +0200

    Features: Record for GNU 4.7.
    
    Update the CompileFeatures test to verify that unsupported features
    do not work.

diff --git a/Modules/Compiler/GNU-CXX-FeatureTests.cmake b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
index fd580e2..f91eeea 100644
--- a/Modules/Compiler/GNU-CXX-FeatureTests.cmake
+++ b/Modules/Compiler/GNU-CXX-FeatureTests.cmake
@@ -1,7 +1,7 @@
 
 # Reference: http://gcc.gnu.org/projects/cxx0x.html
 
-set(_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 408")
+set(_oldestSupported "(__GNUC__ * 100 + __GNUC_MINOR__) >= 407")
 # Introduced in GCC 4.8.1
 set(GNU481_CXX11 "((__GNUC__ * 100 + __GNUC_MINOR__) > 408 || __GNUC_PATCHLEVEL__ >= 1) && __cplusplus >= 201103L")
 set(_cmake_feature_test_cxx_reference_qualified_functions "${GNU481_CXX11}")
@@ -12,8 +12,7 @@ set(_cmake_feature_test_cxx_alignas "${GNU48_CXX11}")
 set(_cmake_feature_test_cxx_alignof "${GNU48_CXX11}")
 set(_cmake_feature_test_cxx_attributes "${GNU48_CXX11}")
 set(_cmake_feature_test_cxx_thread_local "${GNU48_CXX11}")
-# TODO: Should be supported by GNU 4.7
-set(GNU47_CXX11 "${_oldestSupported} && __cplusplus >= 201103L")
+set(GNU47_CXX11 "(__GNUC__ * 100 + __GNUC_MINOR__) >= 407 && __cplusplus >= 201103L")
 set(_cmake_feature_test_cxx_delegating_constructors "${GNU47_CXX11}")
 set(_cmake_feature_test_cxx_final "${GNU47_CXX11}")
 set(_cmake_feature_test_cxx_override "${GNU47_CXX11}")
diff --git a/Modules/Compiler/GNU-CXX.cmake b/Modules/Compiler/GNU-CXX.cmake
index b08b3ae..e43b709 100644
--- a/Modules/Compiler/GNU-CXX.cmake
+++ b/Modules/Compiler/GNU-CXX.cmake
@@ -29,7 +29,7 @@ macro(cmake_record_cxx_compile_features)
     record_compiler_features(CXX "-std=${std_version}" ${list})
   endmacro()
 
-  if (UNIX AND NOT APPLE AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.8)
+  if (UNIX AND NOT APPLE AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.7)
     _get_gcc_features(c++11 CMAKE_CXX11_COMPILE_FEATURES)
     _get_gcc_features(c++98 CMAKE_CXX98_COMPILE_FEATURES)
     _get_gcc_features(gnu++98 CMAKE_CXX98_COMPILE_EXTENSIONS)
diff --git a/Tests/CompileFeatures/CMakeLists.txt b/Tests/CompileFeatures/CMakeLists.txt
index e881918..736cb66 100644
--- a/Tests/CompileFeatures/CMakeLists.txt
+++ b/Tests/CompileFeatures/CMakeLists.txt
@@ -10,7 +10,7 @@ macro(run_test feature)
       PROPERTY COMPILE_FEATURES "${feature}"
     )
   else()
-    message("Not supported: ${feature}")
+    list(APPEND non_features ${feature})
   endif()
 endmacro()
 
@@ -18,6 +18,17 @@ foreach(feature ${CMAKE_CXX_KNOWN_FEATURES})
   run_test(${feature})
 endforeach()
 
+if (CMAKE_CXX_COMPILE_FEATURES)
+  include(CheckCXXSourceCompiles)
+  foreach(feature ${non_features})
+    check_cxx_source_compiles("#include \"${CMAKE_CURRENT_SOURCE_DIR}/${feature}.cpp\"" ${feature}_works)
+    if (${feature}_works)
+      message(SEND_ERROR
+        "Feature ${feature} expected not to work for ${CMAKE_CXX_COMPILER_ID}-${CMAKE_CXX_COMPILER_VERSION}.  Update the supported features or blacklist it.")
+    endif()
+  endforeach()
+endif()
+
 add_executable(CompileFeatures main.cpp)
 set_property(TARGET CompileFeatures
   PROPERTY COMPILE_FEATURES "cxx_delegating_constructors"

-----------------------------------------------------------------------

Summary of changes:
 Modules/Compiler/GNU-CXX-FeatureTests.cmake |    5 ++---
 Modules/Compiler/GNU-CXX.cmake              |    2 +-
 Tests/CompileFeatures/CMakeLists.txt        |   13 ++++++++++++-
 3 files changed, 15 insertions(+), 5 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list