]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Cleanup
authormaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 25 Sep 2012 19:35:22 +0000 (19:35 +0000)
committermaier <maier@0785d39b-7218-0410-832d-ea1e28bc413d>
Tue, 25 Sep 2012 19:35:22 +0000 (19:35 +0000)
git-svn-id: https://svn.dealii.org/branches/branch_cmake@26737 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/cmake/check/check_for_compiler_features.cmake
deal.II/cmake/check/check_for_cxx_features.cmake

index 61dc4fb87c7979069305d58c15949309682386c6..c2ea8eaad205f28037f4fc462bc48cc163039ea1 100644 (file)
@@ -1,3 +1,4 @@
+
 #
 # Check for various compiler features.
 #
@@ -263,17 +264,14 @@ CHECK_CXX_SOURCE_COMPILES(
 # to make sure that we match the exception specification
 # correctly.
 #
-#include <cstdlib>
-CHECK_CXX_SOURCE_COMPILES(
+# (Yes. It is not a bug. But the logic is the same.)
+CHECK_CXX_COMPILER_BUG(
   "
-  extern \\"C\\" void abort () { for(;;) ; }
+  #include <cstdlib>
+  extern \"C\" void abort () { for(;;) ; }
   int main(){ return 0; }
   "
-  DEAL_II_ABORT_WITHOUT_NOTHROW_EXCEPTION)
-
-IF(DEAL_II_ABORT_WITHOUT_NOTHROW_EXCEPTION)
-  SET(DEAL_II_ABORT_NOTHROW_EXCEPTION TRUE)
-ENDIF()
+  DEAL_II_ABORT_NOTHROW_EXCEPTION)
 
 
 
index f3483e47d5638abe3301e2b47b36fa5851c89923..5d445969e8b59ed38af026fb86f5c61813d701e4 100644 (file)
@@ -11,26 +11,28 @@ CHECK_CXX_SOURCE_COMPILES(
   HAVE_STD_IOSFWD_HEADER)
 
 
-
-
 #
 # C++11 Support:
 #
 
-
+#
 # See if there is a compiler flag to enable C++11 features
-# (Only test for -std=c++0x for the moment.)
 #
-# TODO: We should also check for -std=c++11.
-CHECK_CXX_COMPILER_FLAG(
-  "-std=c++0x"
-  DEAL_II_HAVE_CXX11_FLAG)
-
+FOREACH(test_flag
+    "-std=c++11"
+    "-std=c++-x"
+    )
+  SET(flag ${test_flag})
+  CHECK_CXX_COMPILER_FLAG("${test_flag}" DEAL_II_HAVE_CXX11_FLAG)
+  IF(DEAL_II_HAVE_CXX11_FLAG)
+    BREAK()
+  ENDIF()
+ENDFOREACH()
 
 IF(DEAL_II_HAVE_CXX11_FLAG)
 
   # Set CMAKE_REQUIRED_FLAGS for the unit tests
-  ADD_FLAGS(CMAKE_REQUIRED_FLAGS "-std=c++0x")
+  ADD_FLAGS(CMAKE_REQUIRED_FLAGS "${flag}")
 
   CHECK_CXX_SOURCE_COMPILES(
     "
@@ -139,16 +141,16 @@ IF(DEAL_II_HAVE_CXX11_FLAG)
       DEAL_II_HAVE_CXX11_TUPLE AND
       DEAL_II_HAVE_CXX11_TYPE_TRAITS )
 
-    MESSAGE(STATUS "Sufficient C++11 support. Enabling -std=c++0x.")
+    MESSAGE(STATUS "Sufficient C++11 support. Enabling ${flag}.")
 
     SET(DEAL_II_CAN_USE_CXX1X TRUE) # TODO
     SET(DEAL_II_CAN_USE_CXX11 TRUE)
 
-    ADD_FLAGS(CMAKE_CXX_FLAGS "-std=c++0x")
+    ADD_FLAGS(CMAKE_CXX_FLAGS "${flag}")
 
   ELSE()
 
-    MESSAGE(STATUS "Insufficient C++11 support. Disabling -std=c++0x.")
+    MESSAGE(STATUS "Insufficient C++11 support. Disabling ${flag}.")
   ENDIF()
 
   IF(DEAL_II_CAN_USE_CXX11)
@@ -184,10 +186,10 @@ IF(DEAL_II_HAVE_CXX11_FLAG)
     ENDIF()
   ENDIF()
 
-  STRIP_FLAG(CMAKE_REQUIRED_FLAGS "-std=c++0x")
+  STRIP_FLAG(CMAKE_REQUIRED_FLAGS "${flag}")
 
 ELSE()
-    MESSAGE(STATUS "Insufficient C++11 support. Disabling -std=c++0x.")
+    MESSAGE(STATUS "Insufficient C++11 support. Disabling ${flag}.")
 ENDIF()
 
 
@@ -216,7 +218,7 @@ CHECK_CXX_SOURCE_COMPILES(
 
 
 #
-# Checks for various header files: # TODO: Obsolete?
+# Checks for various header files:
 #
 
 CHECK_INCLUDE_FILE("stdint.h" HAVE_STDINT_H)

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.