X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/cab855035fade7b0addfcdd465d599e86518e47e..0f5b8a5a093ac03c50b83a1ba1b1f314b078188d:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 3fdc3598f3..1bcfc59684 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -159,13 +159,6 @@ if(NOT CMAKE_CROSSCOMPILING AND EXISTS /usr/include/) set(INCLUDES ${INCLUDES} /usr/include/) endif() -### Check 32bits or 64bits -IF(CMAKE_SIZEOF_VOID_P EQUAL 4) - SET(ARCH_32_BITS 1) -ELSE() - SET(ARCH_32_BITS 0) -ENDIF() - if(WIN32) set(CMAKE_INCLUDE_WIN "${CMAKE_C_COMPILER}") set(CMAKE_LIB_WIN "${CMAKE_C_COMPILER}") @@ -177,13 +170,14 @@ endif() include_directories(${INCLUDES}) - +# library dependency cannot start with a space (CMP0004), so initialize it with something that is never desactivated. +set(SIMGRID_DEP "-lm") ### Determine the assembly flavor that we need today set(HAVE_RAW_CONTEXTS 0) include(CMakeDetermineSystem) IF(CMAKE_SYSTEM_PROCESSOR MATCHES ".86|AMD64|amd64") - IF(${ARCH_32_BITS}) + IF(CMAKE_SIZEOF_VOID_P EQUAL 4) # 32 bits message(STATUS "System processor: i686 (${CMAKE_SYSTEM_PROCESSOR}, 32 bits)") set(PROCESSOR_i686 1) set(PROCESSOR_x86_64 0) @@ -280,18 +274,6 @@ else() endif() endif() -# Try again to see if we have libboost-graph -#find_package(Boost 1.42 COMPONENTS graph) -#set(Boost_FOUND 1) # We don't care of whether this component is missing -# -#if(Boost_FOUND AND Boost_GRAPH_FOUND) -# set(HAVE_BOOST_GRAPH 1) -#else() -# message (" boost : found.") -# message (" boost-graph : missing. Install libboost-graph-dev for this optional feature.") -# set(HAVE_BOOST_GRAPH 0) -#endif() - # Checks for header libraries functions. CHECK_LIBRARY_EXISTS(rt clock_gettime "" HAVE_POSIX_GETTIME) @@ -356,6 +338,10 @@ if(HAVE_MMAP AND HAVE_THREAD_LOCAL_STORAGE) SET(HAVE_MMALLOC 1) else() SET(HAVE_MMALLOC 0) + if(enable_model-checking) + message(STATUS "Warning: support for model-checking has been disabled because you are missing either mmap or __thread.") + endif() + SET(enable_model-checking 0) endif() if(enable_jedule) @@ -370,21 +356,35 @@ else() SET(HAVE_MALLOCATOR 0) endif() +include(FindLibunwind) +if(HAVE_LIBUNWIND) + SET(SIMGRID_DEP "${SIMGRID_DEP} -lunwind -lunwind-ptrace") + # This supposes that the host machine is either an AMD or a X86. + # This is deeply wrong, and should be fixed by manually loading -lunwind-PLAT (FIXME) + if(PROCESSOR_x86_64) + SET(SIMGRID_DEP "${SIMGRID_DEP} -lunwind-x86_64") + else() + SET(SIMGRID_DEP "${SIMGRID_DEP} -lunwind-x86") + 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.") + endif() +endif() + if(enable_model-checking AND NOT "${CMAKE_SYSTEM}" MATCHES "Linux") message(WARNING "Support for model-checking has not been enabled on ${CMAKE_SYSTEM}: disabling it") set(enable_model-checking FALSE) - set(HAVE_MC 0) endif() -if(enable_model-checking AND HAVE_MMALLOC) + +if(enable_model-checking) SET(HAVE_MC 1) - include(FindLibunwind) - include(FindLibdw) + + include(FindLibdw) + SET(SIMGRID_DEP "${SIMGRID_DEP} -ldw") else() - if(enable_model-checking) - message(STATUS "Warning: support for model-checking has been disabled because you are missing either mmap or __thread.") - endif() - SET(HAVE_MC 0) - SET(HAVE_MMALLOC 0) + SET(HAVE_MC 0) + set(HAVE_MMALLOC 0) endif() if (enable_model-checking AND enable_ns3)