X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/8423595b8bebff110e6d5b5619f7206d6c5f2ceb..6236235ea0bc673b3c361cdb8075b6d622c0e84a:/buildtools/Cmake/CompleteInFiles.cmake diff --git a/buildtools/Cmake/CompleteInFiles.cmake b/buildtools/Cmake/CompleteInFiles.cmake index 6f64d35f4b..df8b11bfd7 100644 --- a/buildtools/Cmake/CompleteInFiles.cmake +++ b/buildtools/Cmake/CompleteInFiles.cmake @@ -109,7 +109,7 @@ endif() # intrusive 1.35.0 # lambda 1.28.0 # signals2 1.39.0 -find_package(Boost 1.42 REQUIRED) +find_package(Boost 1.42 COMPONENTS context) if(Boost_FOUND) include_directories(${Boost_INCLUDE_DIRS}) else() @@ -120,6 +120,19 @@ else() endif() endif() +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_CONTEXT 1) + else() + message("Found Boost.Context API v2") + set(HAVE_BOOST_CONTEXT 2) + endif() +else() + set(HAVE_BOOST_CONTEXT 0) +endif() + # Checks for header libraries functions. CHECK_LIBRARY_EXISTS(dl dlopen "" HAVE_DLOPEN_IN_LIBDL) CHECK_LIBRARY_EXISTS(execinfo backtrace "" HAVE_BACKTRACE_IN_LIBEXECINFO) @@ -131,7 +144,7 @@ CHECK_LIBRARY_EXISTS(pthread pthread_mutex_timedlock "" HAVE_MUTEX_TIMEDLOCK_LIB CHECK_LIBRARY_EXISTS(rt clock_gettime "" HAVE_POSIX_GETTIME) if(CMAKE_SYSTEM_NAME MATCHES "Darwin") - set(CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE") + set(CMAKE_REQUIRED_DEFINITIONS "-D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE") endif() CHECK_INCLUDE_FILES("time.h;sys/time.h" TIME_WITH_SYS_TIME) @@ -205,6 +218,7 @@ else() SET(HAVE_MMALLOC 0) endif() + if(WIN32) #THOSE FILES ARE FUNCTIONS ARE NOT DETECTED BUT THEY SHOULD... set(HAVE_UCONTEXT_H 1) set(HAVE_MAKECONTEXT 1) @@ -253,7 +267,15 @@ endif() if(enable_smpi) include(FindGFortran) + #really checks for objdump for privatization + find_package(BinUtils QUIET) SET(HAVE_SMPI 1) + + if( NOT "${CMAKE_OBJDUMP}" MATCHES "CMAKE_OBJDUMP-NOTFOUND" AND HAVE_MMAP) + SET(HAVE_PRIVATIZATION 1) + else() + SET(HAVE_PRIVATIZATION 0) + endif() endif() #-------------------------------------------------------------------------------------------------- @@ -439,7 +461,7 @@ endif() # This is needed for ucontext on MacOS X: if(CMAKE_SYSTEM_NAME MATCHES "Darwin") - add_definitions(-D_XOPEN_SOURCE) + add_definitions(-D_XOPEN_SOURCE=700 -D_DARWIN_C_SOURCE) endif() if(WIN32) @@ -536,7 +558,7 @@ set(makecontext_CPPFLAGS_2 "") if(HAVE_MAKECONTEXT OR WIN32) set(makecontext_CPPFLAGS "-DTEST_makecontext") if(CMAKE_SYSTEM_NAME MATCHES "Darwin") - set(makecontext_CPPFLAGS_2 "-D_XOPEN_SOURCE") + set(makecontext_CPPFLAGS_2 "-D_XOPEN_SOURCE=700") endif() if(WIN32)