## 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 #
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")
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)
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)
### 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: <ucontext.h> not found.")
elseif(APPLE)
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 )
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()