X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3a1ea70a418f393ca1677074e928c664022295bd..bad14d23aa8bca6a7a96a68f8e64ea74ee7b20b0:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 1af66cbd8e..87a0e1e95d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ # Build the version number set(SIMGRID_VERSION_MAJOR "3") -set(SIMGRID_VERSION_MINOR "25") +set(SIMGRID_VERSION_MINOR "27") set(SIMGRID_VERSION_PATCH "1") # odd => git branch; even => stable release or released snapshot if(${SIMGRID_VERSION_PATCH} EQUAL "0") @@ -137,12 +137,20 @@ if(NOT PERL_FOUND) endif() # tesh.py needs python 3 (or the module python-subprocess32 on python2.8+) -set(PythonInterp_FIND_VERSION 3) -set(PythonInterp_FIND_VERSION_COUNT 1) -set(PythonInterp_FIND_VERSION_MAJOR 3) -include(FindPythonInterp) -if(NOT PYTHONINTERP_FOUND) - message(FATAL_ERROR "Please install Python (version 3 or higher) to compile SimGrid.") +if(CMAKE_VERSION VERSION_LESS "3.12") + set(PythonInterp_FIND_VERSION 3) + set(PythonInterp_FIND_VERSION_COUNT 1) + set(PythonInterp_FIND_VERSION_MAJOR 3) + include(FindPythonInterp) + if(NOT PYTHONINTERP_FOUND) + message(FATAL_ERROR "Please install Python (version 3 or higher) to compile SimGrid.") + endif() +else() + find_package(Python3 COMPONENTS Interpreter Development) + if(NOT Python3_Interpreter_FOUND) + message(FATAL_ERROR "Please install Python (version 3 or higher) to compile SimGrid.") + endif() + set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE}) endif() SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib) @@ -229,6 +237,9 @@ 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.") + 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}") @@ -641,6 +652,8 @@ if(NOT "${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_HOME_DIRECTORY}") configure_file(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/hostfile ${CMAKE_BINARY_DIR}/teshsuite/smpi/hostfile COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/hostfile_cluster ${CMAKE_BINARY_DIR}/teshsuite/smpi/hostfile_cluster COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/hostfile_coll ${CMAKE_BINARY_DIR}/teshsuite/smpi/hostfile_coll COPYONLY) + configure_file(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/hostfile_io ${CMAKE_BINARY_DIR}/teshsuite/smpi/hostfile_io COPYONLY) + configure_file(${CMAKE_HOME_DIRECTORY}/teshsuite/smpi/hostfile_empty ${CMAKE_BINARY_DIR}/teshsuite/smpi/hostfile_empty COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/replay_multiple/description_file ${CMAKE_BINARY_DIR}/examples/smpi/replay_multiple/description_file COPYONLY) configure_file(${CMAKE_HOME_DIRECTORY}/examples/smpi/replay_multiple/README ${CMAKE_BINARY_DIR}/examples/smpi/replay_multiple/README COPYONLY) @@ -775,7 +788,9 @@ endif() SET_DIRECTORY_PROPERTIES(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${generated_files_to_clean}") -add_custom_target(tests COMMENT "Recompiling the tests") +add_custom_target(tests COMMENT "Recompiling the tests") +add_custom_target(tests-mc COMMENT "Recompiling the MC tests and tools.") +add_dependencies(tests tests-mc) ### Build some Maintainer files include(${CMAKE_HOME_DIRECTORY}/tools/cmake/MaintainerMode.cmake) @@ -800,7 +815,7 @@ if((NOT DEFINED enable_python) OR enable_python) set(pybind11_FOUND ON) set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_HOME_DIRECTORY}/pybind11/tools/) - set(Python_ADDITIONAL_VERSIONS 3.7 3.6 3.5 3.4) + set(Python_ADDITIONAL_VERSIONS 3.9 3.8 3.7 3.6 3.5 3.4) find_package(PythonLibsNew ${PYBIND11_PYTHON_VERSION} REQUIRED) else() @@ -812,7 +827,7 @@ if((NOT DEFINED enable_python) OR enable_python) endif() endif() - if(NOT PYTHONLIBS_FOUND) + if(NOT PYTHONLIBS_FOUND AND NOT Python3_Development_FOUND) message(STATUS "Python libs not found. Turn pybind11 off.") set(pybind11_FOUND OFF)