Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
[project-description] Fix extraction of the ns-3 version.
[simgrid.git] / CMakeLists.txt
index ac86729..b03c595 100644 (file)
@@ -1,7 +1,7 @@
 # Build the version number
 
 set(SIMGRID_VERSION_MAJOR "3")
-set(SIMGRID_VERSION_MINOR "30")
+set(SIMGRID_VERSION_MINOR "31")
 set(SIMGRID_VERSION_PATCH "1") # odd => git branch; even => stable release or released snapshot
 
 if(${SIMGRID_VERSION_PATCH} EQUAL "0")
@@ -45,15 +45,15 @@ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g3")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
 
 if (CMAKE_COMPILER_IS_GNUCC)
-  if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "5.0")
+  if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "7.0")
     message(FATAL_ERROR
-            "SimGrid needs at least g++ version 5.0 to compile but you have ${CMAKE_CXX_COMPILER_VERSION}."
-            "You need a sufficient support of c++14 to compile SimGrid.")
+            "SimGrid needs at least g++ version 7.0 to compile but you have ${CMAKE_CXX_COMPILER_VERSION}."
+            "You need a sufficient support of c++17 to compile SimGrid.")
   endif()
 endif()
 
 ## We need a decent support of the C++14 and C11 standards
-set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD 17)
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 
 set(CMAKE_C_STANDARD 11)
@@ -227,13 +227,11 @@ set(SIMGRID_HAVE_NS3 0)
 if(enable_ns3)
   include(FindNS3)
   if (SIMGRID_HAVE_NS3)
-    if (NS3_VERSION VERSION_LESS "3.28")
-      message(FATAL_ERROR "SimGrid needs at least ns-3.28. Please upgrade or disable that cmake option.")
+    if (NOT NS3_VERSION EQUAL "3-dev" AND NS3_VERSION VERSION_LESS "3.28")
+      message(FATAL_ERROR "SimGrid needs ns-3 in version 3.28 or higher. Please upgrade or disable that cmake option.")
     endif()
     set(SIMGRID_HAVE_NS3 1)
-    foreach(lib core csma point-to-point internet network applications wifi)
-      set(SIMGRID_DEP "${SIMGRID_DEP} -lns${NS3_VERSION}-${lib}${NS3_SUFFIX}")
-    endforeach()
+    set(SIMGRID_DEP "${SIMGRID_DEP} ${NS3_LIBRARIES}")
   else()
     message(FATAL_ERROR "Cannot find ns-3. Please install it (apt-get install ns3 libns3-dev) or disable that cmake option")
   endif()
@@ -243,7 +241,7 @@ endif()
 set(SIMGRID_HAVE_EIGEN3 0)
 find_package (Eigen3 3.3 CONFIG
               HINTS ${EIGEN3_HINT})
-if (Eigen3_FOUND)      
+if (Eigen3_FOUND)
   set(SIMGRID_HAVE_EIGEN3 1)
   message(STATUS "Found Eigen3: ${EIGEN3_INCLUDE_DIR}")
   include_directories(${EIGEN3_INCLUDE_DIR})
@@ -863,7 +861,7 @@ if(enable_python)
         string(REGEX REPLACE "^/usr/" "${CMAKE_INSTALL_PREFIX}/" SIMGRID_PYTHON_LIBDIR ${Python3_SITEARCH})
       endif("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr")
     endif()
-    install(TARGETS python-bindings 
+    install(TARGETS python-bindings
            LIBRARY DESTINATION "${SIMGRID_PYTHON_LIBDIR}")
   else()
     message(FATAL_ERROR "Please install pybind11-dev to build the Python bindings (or disable that option).")