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()
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
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
# 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