X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/a3928e348b652b4d2c7c7ebf058205dbedac94cf..b453e96968bb4a1be17a7a3ec2f3c01356b60bf2:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 193567c5d2..adf4eecccc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,8 +29,8 @@ project(SimGrid C CXX) ## Save compiler flags preset with environment variables CFLAGS or CXXFLAGS; ## they will used within smpicc, smpicxx. ## Do it early so that we get their genuine values. The same will be done later for Fortran. -set(SMPI_C_FLAGS "${CMAKE_C_FLAGS}") -set(SMPI_CXX_FLAGS "${CMAKE_CXX_FLAGS}") +string(REGEX REPLACE " *-f[a-z]+-prefix-map=[^ ]*" "" SMPI_C_FLAGS "${CMAKE_C_FLAGS}") +string(REGEX REPLACE " *-f[a-z]+-prefix-map=[^ ]*" "" SMPI_CXX_FLAGS "${CMAKE_CXX_FLAGS}") #-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-# # Check for the compiler # @@ -101,7 +101,7 @@ if ((NOT DEFINED enable_smpi) OR enable_smpi) set(SMPI_Fortran_LIBS "") set(SMPI_FLANG 1) endif() - set(SMPI_Fortran_FLAGS "${SMPI_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS}") + string(REGEX REPLACE " *-f[a-z]+-prefix-map=[^ ]*" "" SMPI_Fortran_FLAGS "${SMPI_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS}") ## Request debugging flags for Fortran too set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -g") @@ -319,7 +319,6 @@ CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H) CHECK_INCLUDE_FILE("signal.h" HAVE_SIGNAL_H) CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H) CHECK_INCLUDE_FILE("sys/sysctl.h" HAVE_SYS_SYSCTL_H) -CHECK_INCLUDE_FILE("ucontext.h" HAVE_UCONTEXT_H) CHECK_INCLUDE_FILE("linux/futex.h" HAVE_FUTEX_H) CHECK_FUNCTION_EXISTS(dlfunc HAVE_DLFUNC) @@ -409,18 +408,18 @@ mark_as_advanced(PATH_LIBDW_H) mark_as_advanced(PATH_LIBDW_LIB) if (enable_model-checking AND enable_ns3) - message(FATAL_ERROR "Cannot activate both model-checking and ns-3 bindings: ns-3 pull too much dependencies for the MC to work") + message(FATAL_ERROR "Cannot activate both model-checking and ns-3 bindings: ns-3 pulls too much dependencies for the MC to work") endif() get_property(known_features GLOBAL PROPERTY CMAKE_CXX_KNOWN_FEATURES) if(enable_smpi) SET(HAVE_SMPI 1) - if(NOT WIN32) - SET(HAVE_PRIVATIZATION 1) - else() - message (STATUS "Warning: no support for SMPI automatic privatization on this platform") + if(WIN32) + message (STATUS "Warning: no support for SMPI automatic privatization on Windows.") SET(HAVE_PRIVATIZATION 0) + else() + SET(HAVE_PRIVATIZATION 1) endif() else() SET(HAVE_SMPI 0) @@ -430,6 +429,7 @@ endif() ### Check what context backends are available set(HAVE_UCONTEXT_CONTEXTS 0) +CHECK_INCLUDE_FILE("ucontext.h" HAVE_UCONTEXT_H) if(NOT HAVE_UCONTEXT_H) message(STATUS "No ucontext factory: not found.") elseif(APPLE) @@ -593,6 +593,7 @@ endif() set(generated_headers_to_install ${CMAKE_CURRENT_BINARY_DIR}/include/smpi/mpif.h ${CMAKE_CURRENT_BINARY_DIR}/include/simgrid/config.h + ${CMAKE_CURRENT_BINARY_DIR}/include/simgrid/version.h ) set(generated_headers ${CMAKE_CURRENT_BINARY_DIR}/src/internal_config.h ) @@ -801,8 +802,9 @@ if((NOT DEFINED enable_python) OR enable_python) else() find_package(pybind11 CONFIG) - if (pybind11_VERSION VERSION_LESS 2.2) - message(STATUS "SimGrid needs at least v2.2 of pybind11. Disabling the Python bindings (found version: ${pybind11_VERSION}).") + message(STATUS "Pybind11 version: ${pybind11_VERSION}") + if (pybind11_VERSION VERSION_LESS 2.4) + message(STATUS "SimGrid needs at least v2.4 of pybind11. Disabling the Python bindings.") set(pybind11_FOUND OFF) endif() endif()