]> https://gitweb.dealii.org/ - dealii.git/commitdiff
CMake: Also check final compiler/linker setup with full link interface
authorMatthias Maier <tamiko@43-1.org>
Wed, 13 Jul 2016 13:44:03 +0000 (08:44 -0500)
committerMatthias Maier <tamiko@43-1.org>
Thu, 14 Jul 2016 00:19:05 +0000 (19:19 -0500)
cmake/setup_finalize.cmake

index 30fb87ca198e577bb3c83660e22643c5cf7c2aba..59dcb2f83a859e5e6c34d9542e3817fe98f1af8e 100644 (file)
@@ -79,6 +79,29 @@ FOREACH(_suffix ${DEAL_II_LIST_SUFFIXES})
   ENDIF()
 ENDFOREACH()
 
+#
+# Sanity check: Can we compile with the final setup?
+#
+
+FOREACH(build ${DEAL_II_BUILD_TYPES})
+  SET(_cxx_flags_${build} "${DEAL_II_CXX_FLAGS} ${DEAL_II_CXX_FLAGS_${build}}")
+  SET(_linker_flags_${build} "${DEAL_II_CXX_FLAGS} ${DEAL_II_CXX_FLAGS_${build}}")
+
+  CHECK_COMPILER_FLAGS(_cxx_flags_${build} _linker_flags_${build}
+    DEAL_II_HAVE_USABLE_FLAGS_${build}
+    )
+
+  IF(NOT DEAL_II_HAVE_USABLE_FLAGS_${build})
+    MESSAGE(FATAL_ERROR "
+  Configuration error: Cannot compile a test program with the final set of
+  compiler and linker flags:
+    CXX flags (${build}): ${_final_cxx_flags_${build}}
+    LD flags  (${build}): ${_final_linker_flags_${build}}
+  \n\n"
+      )
+  ENDIF()
+ENDFOREACH()
+
 #
 # Clean up deal.IITargets.cmake in the build directory:
 #

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.