set(HAVE_UCONTEXT_H 0)
endif()
+### Check threading support
+set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
+find_package(Threads)
### Setup Options
include(${CMAKE_HOME_DIRECTORY}/tools/cmake/Option.cmake)
if(CMAKE_Fortran_COMPILER)
# Fortran compiler detected: save it, then replace by smpiff
- set(SAVED_Fortran_COMPILER "${CMAKE_Fortran_COMPILER}" CACHE FILEPATH "The real Fortran compiler")
+ set(SMPI_Fortran_COMPILER "${CMAKE_Fortran_COMPILER}" CACHE FILEPATH "The real Fortran compiler")
set(CMAKE_Fortran_COMPILER smpiff)
+
+ # Set flags/libs to be used in smpiff
+ if(CMAKE_Fortran_COMPILER_ID MATCHES "GNU")
+ set(SMPI_Fortran_FLAGS "\"-fpic\" \"-ff2c\" \"-fno-second-underscore\"")
+ set(SMPI_Fortran_LIBS "\"-lgfortran\"")
+ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "Intel")
+ set(SMPI_Fortran_FLAGS "\"-fPIC\" \"-nofor-main\"")
+ set(SMPI_Fortran_LIBS "\"-lifcore\"")
+ elseif(CMAKE_Fortran_COMPILER_ID MATCHES "PGI") # flang
+ set(SMPI_Fortran_FLAGS "\"-fPIC\"")
+ set(SMPI_Fortran_LIBS "")
+ endif()
+
set(SMPI_FORTRAN 1)
endif(CMAKE_Fortran_COMPILER)
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
set(SIMGRID_VERSION_MAJOR "3")
-set(SIMGRID_VERSION_MINOR "16")
+set(SIMGRID_VERSION_MINOR "17")
set(SIMGRID_VERSION_PATCH "0")
set(SIMGRID_VERSION_EXTRA "-DEVEL") # Extra words to add to version string (e.g. -rc1)
message(FATAL_ERROR "Please install Python (version 3 or higher).")
endif()
-if (APPLE)
- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
- set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
-endif()
SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/lib)
### Compute the include paths
set(INCLUDES
+ ${CMAKE_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}/include
${CMAKE_HOME_DIRECTORY}
${CMAKE_HOME_DIRECTORY}/include
${CMAKE_HOME_DIRECTORY}/src/include
- ${CMAKE_BINARY_DIR}
- ${CMAKE_BINARY_DIR}/include
)
if(NOT CMAKE_CROSSCOMPILING AND EXISTS /usr/include/)
# Checks for header libraries functions.
CHECK_LIBRARY_EXISTS(rt clock_gettime "" HAVE_POSIX_GETTIME)
-CHECK_LIBRARY_EXISTS(pthread pthread_create "" HAVE_PTHREAD)
if(NOT APPLE) # OS X El Capitan deprecates this function
CHECK_LIBRARY_EXISTS(pthread sem_init "" HAVE_SEM_INIT_LIB)
endif()
endif()
else()
if(enable_model-checking)
- message(FATAL_ERROR "Please either install the libunwind7-dev package (or equivalent) or turn off the model-checking option of SimGrid.")
+ message(FATAL_ERROR "Please install libunwind-dev libdw-dev libevent-dev if you want to compile the SimGrid model checker.")
endif()
endif()
### Initialize of CONTEXT THREADS
set(HAVE_THREAD_CONTEXTS 0)
-if(HAVE_PTHREAD)
+if(CMAKE_USE_PTHREADS_INIT)
### Test that we have a way to create semaphores
if(HAVE_SEM_OPEN_LIB)
endif()
endif()
if(CMAKE_Fortran_COMPILER)
- message(" Compiler: Fortran ...........: ${SAVED_Fortran_COMPILER} (id: ${CMAKE_Fortran_COMPILER_ID})")
+ message(" Compiler: Fortran ...........: ${SMPI_Fortran_COMPILER} (id: ${CMAKE_Fortran_COMPILER_ID})")
message(" version .............: ${CMAKE_Fortran_COMPILER_VERSION}")
endif()
message(" Linker: .....................: ${CMAKE_LINKER}")