From ec35224e50797143436adef8158475571e6e3cb4 Mon Sep 17 00:00:00 2001 From: Matthias Maier Date: Wed, 13 Jul 2016 08:44:03 -0500 Subject: [PATCH] CMake: Also check final compiler/linker setup with full link interface --- cmake/setup_finalize.cmake | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/cmake/setup_finalize.cmake b/cmake/setup_finalize.cmake index 30fb87ca19..59dcb2f83a 100644 --- a/cmake/setup_finalize.cmake +++ b/cmake/setup_finalize.cmake @@ -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: # -- 2.39.5