#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#
set(SIMGRID_VERSION_MAJOR "3")
-set(SIMGRID_VERSION_MINOR "16")
+set(SIMGRID_VERSION_MINOR "18")
set(SIMGRID_VERSION_PATCH "0")
set(SIMGRID_VERSION_EXTRA "-DEVEL") # Extra words to add to version string (e.g. -rc1)
### 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(enable_smpi)
+ set (INCLUDES ${INCLUDES} ${CMAKE_HOME_DIRECTORY}/src/smpi/include)
+endif()
+
if(NOT CMAKE_CROSSCOMPILING AND EXISTS /usr/include/)
set(INCLUDES ${INCLUDES} /usr/include/)
endif()
ENDIF()
if (WIN32)
message(STATUS "Disable fast raw contexts on Windows.")
+ elseif(enable_address_sanitizer)
+ message("Disable fast raw contexts with ASan")
else()
set(HAVE_RAW_CONTEXTS 1)
endif()
if(WIN32)
set(Boost_USE_STATIC_LIBS 1)
endif()
+
set(HAVE_PAPI 0)
if(enable_smpi_papi)
include(FindPAPI)
find_package(Boost COMPONENTS context)
set(Boost_FOUND 1) # This component is optional
if(Boost_CONTEXT_FOUND)
- if (Boost_VERSION LESS 105600)
- message("Found Boost.Context API v1")
- set(HAVE_BOOST_CONTEXTS 1)
- elseif(Boost_VERSION LESS 106100)
- message("Found Boost.Context API v2")
- set(HAVE_BOOST_CONTEXTS 2)
- else()
- message(" WARNING : our implementation of Boost context factory is not compatible with Boost >=1.61 yet.")
- set(HAVE_BOOST_CONTEXTS 0)
- endif()
+ message("Found Boost.Context")
+ set(HAVE_BOOST_CONTEXTS 1)
else()
message (" boost : found.")
message (" boost-context: missing. Install libboost-context-dev for this optional feature.")
endif()
else()
if(enable_model-checking)
- message(FATAL_ERROR "Please install libunwind-dev libdw-dev libevent-dev if you want to compile the SimGrid model checker.")
+ message(FATAL_ERROR "Please install libunwind-dev libdw-dev libelf-dev libevent-dev if you want to compile the SimGrid model checker.")
endif()
endif()
if(enable_model-checking)
find_package(Libdw REQUIRED)
+ find_package(Libelf REQUIRED)
find_package(Libevent REQUIRED)
- include_directories(${LIBDW_INCLUDE_DIR} ${LIBEVENT_INCLUDE_DIR})
- set(SIMGRID_DEP "${SIMGRID_DEP} ${LIBEVENT_LIBRARIES} ${LIBDW_LIBRARIES}")
+ include_directories(${LIBDW_INCLUDE_DIR} ${LIBELF_INCLUDE_DIR} ${LIBEVENT_INCLUDE_DIR})
+ set(SIMGRID_DEP "${SIMGRID_DEP} ${LIBEVENT_LIBRARIES} ${LIBELF_LIBRARIES} ${LIBDW_LIBRARIES}")
set(SIMGRID_HAVE_MC 1)
if("${CMAKE_SYSTEM}" MATCHES "FreeBSD" AND enable_java)
message(WARNING "FreeBSD + Model-Checking + Java = too much for now. Disabling java")
elseif(APPLE)
message("-- No ucontext factory: Apple don't want us to use them.")
set(HAVE_UCONTEXT_H 0)
+elseif(enable_address_sanitizer)
+ message("-- No ucontext factory: ASan does not support it (see http://code.google.com/p/address-sanitizer/issues/detail?id=189)")
else()
try_compile(compile_makecontext ${CMAKE_BINARY_DIR} ${CMAKE_HOME_DIRECTORY}/tools/cmake/test_prog/prog_makecontext.c
OUTPUT_VARIABLE compile_makecontext_output)
set(GIT_VERSION "none, release version")
endif()
+### Setup gcc & clang flags
+if (NOT MSVC)
+ include(${CMAKE_HOME_DIRECTORY}/tools/cmake/GCCFlags.cmake)
+endif()
+
### Generate the required headers and scripts
#############################################
include(${CMAKE_HOME_DIRECTORY}/tools/cmake/MaintainerMode.cmake)
include(${CMAKE_HOME_DIRECTORY}/tools/cmake/UnitTesting.cmake)
-### Setup gcc & clang flags
-if (NOT MSVC)
- include(${CMAKE_HOME_DIRECTORY}/tools/cmake/GCCFlags.cmake)
-endif()
-
### Make Libs
if(NOT WIN32)
include(${CMAKE_HOME_DIRECTORY}/tools/cmake/MakeLib.cmake)
if(${Java_FOUND})
message(" Compiler: Javac .............: ${Java_JAVAC_EXECUTABLE}")
message(" version .............: ${Java_VERSION_STRING}")
-if(${SWIG_FOUND})
- message(" SWIG ................: Version ${SWIG_VERSION} found.")
-else()
- message(" SWIG ................: Missing.")
-endif()
endif()
if(CMAKE_Fortran_COMPILER)
message(" Compiler: Fortran ...........: ${SMPI_Fortran_COMPILER} (id: ${CMAKE_Fortran_COMPILER_ID})")