Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Workaround bug in Intel-C.cmake.
[simgrid.git] / CMakeLists.txt
index 25cd68f..7fc7248 100644 (file)
@@ -32,32 +32,15 @@ if (CMAKE_COMPILER_IS_GNUCC)
   endif()
 endif()
 
-## We need a decent support of the c++11 standard
-include(CheckCXXCompilerFlag)
-CHECK_CXX_COMPILER_FLAG("-std=gnu++11" COMPILER_SUPPORTS_CXX11)
-if(COMPILER_SUPPORTS_CXX11)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
-else() 
-  message(FATAL_ERROR 
-          "The compiler ${CMAKE_CXX_COMPILER} (v${CMAKE_CXX_COMPILER_VERSION}) has no C++11 support. "
-          "Please install a decent C++ compiler (remove CMakeCache.txt once it's installed).")
-endif()
-
-### And we need C11 standard, too
-include(CheckCCompilerFlag)
-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} (v${CMAKE_C_COMPILER_VERSION}) has no C11 support. "
-          "Please use a decent C compiler "
-          "(note that c++11 support of ${CMAKE_CXX_COMPILER} seems ok).")
-endif()
-if(APPLE AND (CMAKE_C_COMPILER_VERSION VERSION_LESS "4.6"))
-  ### gcc 4.[1-5] cannot compile ucontext on OSX
-  message(STATUS "Ucontext can't be used with this version of gcc (must be greater than 4.5)")
-  set(HAVE_UCONTEXT_H 0)
+## We need a decent support of the C++11 and C11 standards
+set(CMAKE_CXX_STANDARD 11)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+set(CMAKE_C_STANDARD 11)
+set(CMAKE_C_STANDARD_REQUIRED ON)
+
+if (CMAKE_C_COMPILER_ID STREQUAL "Intel" AND CMAKE_C11_EXTENSION_COMPILE_OPTION STREQUAL "-std=c11")
+  set(CMAKE_C11_EXTENSION_COMPILE_OPTION "-std=gnu11")
 endif()
 
 ### Check threading support
@@ -108,7 +91,7 @@ endif()
 #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
 
 set(SIMGRID_VERSION_MAJOR "3")
-set(SIMGRID_VERSION_MINOR "20")
+set(SIMGRID_VERSION_MINOR "21")
 set(SIMGRID_VERSION_PATCH "90")
 set(SIMGRID_VERSION_EXTRA "-DEVEL") # Extra words to add to version string (e.g. -rc1)
 
@@ -139,9 +122,9 @@ execute_process(COMMAND ${CMAKE_LINKER} -version OUTPUT_VARIABLE LINKER_VERSION
 string(REGEX MATCH "[0-9].[0-9]*" LINKER_VERSION "${LINKER_VERSION}")
 
 ### Set the library providing dlopen
-if("${CMAKE_SYSTEM}" MATCHES "Linux")
+if("${CMAKE_SYSTEM_NAME}" MATCHES "kFreeBSD|Linux")
   find_library(DL_LIBRARY dl)
-endif("${CMAKE_SYSTEM}" MATCHES "Linux")
+endif()
 
 ### Find programs and paths
 FIND_PROGRAM(GCOV_PATH gcov)