X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/adab702a13b6d64bd50ce0e3db7aa6a8574459d5..1976ec5136c040701aa8b334f131e01c565e7852:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index ba2abf569b..d27ec86ed8 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -20,24 +20,26 @@ 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) -CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X) if(COMPILER_SUPPORTS_CXX11) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") -elseif(COMPILER_SUPPORTS_CXX0X) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x") -else() - message(FATAL_ERROR - "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).") +else() + if(MSVC) + message("MSVC is believed to have a sufficient C++11 support. Not sure") + else() + message(FATAL_ERROR + "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. " + "Please use a decent C++ compiler.") endif() endif() @@ -47,13 +49,16 @@ CHECK_C_COMPILER_FLAG("-std=gnu11" COMPILER_SUPPORTS_C11) if(COMPILER_SUPPORTS_C11) set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu11") else() - message(FATAL_ERROR - "The compiler ${CMAKE_C_COMPILER} has no C11 support. " - "Please use a decent C compiler " - "(note that c++11 support of ${CMAKE_CXX_COMPILER} seems ok).") + if(MSVC) + message("MSVC is believed to have a sufficient C++11 support. Not sure") + else() + message(FATAL_ERROR + "The compiler ${CMAKE_C_COMPILER} has no C11 support. " + "Please use a decent C compiler " + "(note that c++11 support of ${CMAKE_CXX_COMPILER} seems ok).") + endif() endif() - ### SMPI vs. Fortran if ((NOT DEFINED enable_smpi OR enable_smpi) AND NOT APPLE) # smpi is enabled by default # Call enable_language(Fortran) in order to load the build rules for @@ -151,7 +156,7 @@ string(REGEX MATCH "[0-9].[0-9]*" LINKER_VERSION "${LINKER_VERSION}") string(REGEX MATCH "cl.exe" VBC "${CMAKE_C_COMPILER}") if(VBC) - message(FATAL_ERROR "VB is not yet supported by Simgrid.") + message("VB is not yet supported by Simgrid. Proceed with extrem caution") endif() ### Find programs and paths @@ -220,7 +225,7 @@ if(WIN32) # set(__GNUC_MINOR__ ${COMPILER_C_MINOR_VERSION}) endif() else() - message(FATAL_ERROR "Please use MinGW to compile SimGrid!") + message("You REALLY should use MinGW to compile SimGrid on Windows!") endif() if(ARCH_32_BITS) ### Arch 32bits