From 83e06283ac849da0e82a65178c8d19442c25a0d0 Mon Sep 17 00:00:00 2001 From: Gabriel Corona Date: Mon, 27 Jul 2015 10:54:32 +0200 Subject: [PATCH] [cmake] Check g++ version before checking c++11 support This way we display user friendlier error if g++ is not recent enough. --- CMakeLists.txt | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index ba2abf569b..64b80175ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,6 +20,14 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g") +if (CMAKE_COMPILER_IS_GNUCC) + if (COMPILER_CXX_VERSION_MAJOR_MINOR STRLESS "4.7") + message(FATAL_ERROR + "SimGrid needs at least g++ version 4.7 to compile " + "(c++11 support of previous versions is too limited).") + endif() +endif() + ## We need a decent support of the c++11 standard include(CheckCXXCompilerFlag) CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11) @@ -33,13 +41,6 @@ else() "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. " "Please use a decent C++ compiler.") endif() -if (CMAKE_COMPILER_IS_GNUCC) - if (COMPILER_CXX_VERSION_MAJOR_MINOR STRLESS "4.7") - message(FATAL_ERROR - "SimGrid needs g++ version 4.7 to compile " - "(c++11 support of previous versions is too limited).") - endif() -endif() ### And we need C11 standard, too include(CheckCCompilerFlag) -- 2.20.1