set(SIMGRID_VERSION_MAJOR "3")
set(SIMGRID_VERSION_MINOR "13")
-set(SIMGRID_VERSION_PATCH "0")
-set(SIMGRID_VERSION_EXTRA "-devel") # Extra words to add to version string (e.g. -rc1)
+set(SIMGRID_VERSION_PATCH "90")
+set(SIMGRID_VERSION_EXTRA "-prealpha") # Extra words to add to version string (e.g. -rc1)
set(SIMGRID_VERSION_DATE "2016") # Year for copyright information
endif()
endif()
-# Try again to see if we have libboost-context
-find_package(Boost 1.42 COMPONENTS context)
-set(Boost_FOUND 1) # We don't care of whether this component is missing
+#Boost context 1.61 will break compatibility with our implementation.
+#Warn users about that
+find_package(Boost 1.61 COMPONENTS context)
if(Boost_FOUND AND Boost_CONTEXT_FOUND)
- # We should use feature detection for this instead:
- if (Boost_VERSION LESS 105600)
- message("Found Boost.Context API v1")
- set(HAVE_BOOST_CONTEXTS 1)
+ message("WARNING : our implementation of Boost context factory is not compatible with Boost >=1.61 yet.")
+
+ set(Boost_FOUND 1)
+ set(HAVE_BOOST_CONTEXTS 0)
+else()
+# Try again to see if we have libboost-context
+ find_package(Boost 1.42 COMPONENTS context)
+ set(Boost_FOUND 1) # We don't care of whether this component is missing
+
+ if(Boost_FOUND AND Boost_CONTEXT_FOUND)
+ # We should use feature detection for this instead:
+ if (Boost_VERSION LESS 105600)
+ message("Found Boost.Context API v1")
+ set(HAVE_BOOST_CONTEXTS 1)
+ else()
+ message("Found Boost.Context API v2")
+ set(HAVE_BOOST_CONTEXTS 2)
+ endif()
else()
- message("Found Boost.Context API v2")
- set(HAVE_BOOST_CONTEXTS 2)
+ message (" boost : found.")
+ message (" boost-context: missing. Install libboost-context-dev for this optional feature.")
+ set(HAVE_BOOST_CONTEXTS 0)
endif()
-else()
- message (" boost : found.")
- message (" boost-context: missing. Install libboost-context-dev for this optional feature.")
- set(HAVE_BOOST_CONTEXTS 0)
endif()
# Try again to see if we have libboost-graph
#endif()
# Checks for header libraries functions.
-CHECK_LIBRARY_EXISTS(execinfo backtrace "" HAVE_BACKTRACE_IN_LIBEXECINFO)
CHECK_LIBRARY_EXISTS(rt clock_gettime "" HAVE_POSIX_GETTIME)
CHECK_LIBRARY_EXISTS(pthread pthread_create "" HAVE_PTHREAD)
CHECK_INCLUDE_FILE("ucontext.h" HAVE_UCONTEXT_H)
CHECK_INCLUDE_FILE("linux/futex.h" HAVE_FUTEX_H)
+CHECK_FUNCTION_EXISTS(backtrace HAVE_BACKTRACE)
CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
CHECK_FUNCTION_EXISTS(nanosleep HAVE_NANOSLEEP)
CHECK_FUNCTION_EXISTS(getdtablesize HAVE_GETDTABLESIZE)
# So we include only where needed, and compile with -Wundef to notice the missing includes.
# But cmake sometimes defines to the empty definition (#define HAVE_VALGRIND_H).
# So we have to make sure that everything got a decent value before generating the files.
-foreach(var HAVE_EXECINFO_H HAVE_FUTEX_H HAVE_GETDTABLESIZE HAVE_GETTIMEOFDAY HAVE_MMAP HAVE_NANOSLEEP HAVE_POPEN
+foreach(var HAVE_BACKTRACE HAVE_EXECINFO_H HAVE_FUTEX_H HAVE_GETDTABLESIZE HAVE_GETTIMEOFDAY HAVE_MMAP HAVE_NANOSLEEP HAVE_POPEN
HAVE_POSIX_GETTIME HAVE_PROCESS_VM_READV HAVE_SIGNAL_H HAVE_SYS_PARAM_H HAVE_SYS_SYSCTL_H HAVE_SYSCONF
HAVE_UCONTEXT_H HAVE_UNISTD_H HAVE_VALGRIND_H HAVE_VASPRINTF)
if(${var})