Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Ignore more stuff
[simgrid.git] / CMakeLists.txt
index e2f7f67..786e63d 100644 (file)
@@ -254,7 +254,7 @@ else()
   endif()
 endif()
 
-# cmake up to 3.12.3 (at least) does not know about stacktrace components. Inform it.
+# cmake before 3.13.1 does not know about stacktrace components. Fix it.
 # Usable components: https://www.boost.org/doc/libs/1_65_1/doc/html/stacktrace/configuration_and_build.html
 set(_Boost_STACKTRACE_HEADERS           "boost/stacktrace.hpp")
 set(_Boost_STACKTRACE_BACKTRACE_HEADERS "boost/stacktrace.hpp")
@@ -267,6 +267,7 @@ message(STATUS "Looking for optional Boost components:")
 if (Boost_STACKTRACE_BACKTRACE_FOUND)
   message (STATUS "  stacktrace: found. Activating human-readable stack traces.")
   set(HAVE_BOOST_STACKTRACE 1)
+  set(SIMGRID_DEP "${SIMGRID_DEP} -lboost_stacktrace_backtrace")
 else()
   message (STATUS "  stacktrace: MISSING. Install libboost-stacktrace-dev to display the stacktraces.")
   set(HAVE_BOOST_STACKTRACE 0)
@@ -305,20 +306,17 @@ endif()
 
 CHECK_INCLUDE_FILE("valgrind/valgrind.h" HAVE_VALGRIND_H)
 CHECK_INCLUDE_FILE("unistd.h" HAVE_UNISTD_H)
-CHECK_INCLUDE_FILE("execinfo.h" HAVE_EXECINFO_H)
 CHECK_INCLUDE_FILE("signal.h" HAVE_SIGNAL_H)
 CHECK_INCLUDE_FILE("sys/param.h" HAVE_SYS_PARAM_H)
 CHECK_INCLUDE_FILE("sys/sysctl.h" HAVE_SYS_SYSCTL_H)
 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(dlfunc HAVE_DLFUNC)
 CHECK_FUNCTION_EXISTS(gettimeofday HAVE_GETTIMEOFDAY)
 CHECK_FUNCTION_EXISTS(nanosleep HAVE_NANOSLEEP)
 CHECK_FUNCTION_EXISTS(getdtablesize HAVE_GETDTABLESIZE)
 CHECK_FUNCTION_EXISTS(sysconf HAVE_SYSCONF)
-CHECK_FUNCTION_EXISTS(popen HAVE_POPEN)
 CHECK_FUNCTION_EXISTS(process_vm_readv HAVE_PROCESS_VM_READV)
 CHECK_FUNCTION_EXISTS(mmap HAVE_MMAP)
 CHECK_FUNCTION_EXISTS(mremap HAVE_MREMAP)
@@ -428,7 +426,7 @@ if(CMAKE_USE_PTHREADS_INIT)
             RUN_OUTPUT_VARIABLE semopen_runmsg)
     
     if(semopen_compilable)
-      if(NOT semopen_retval) # error if not 0
+      if(NOT semopen_retval) # error if not 0
         message(STATUS "sem_open is compilable and executable")
        set(HAVE_SEM_OPEN 1)
       else()
@@ -460,7 +458,7 @@ if(CMAKE_USE_PTHREADS_INIT)
             RUN_OUTPUT_VARIABLE seminit_runmsg)
     
     if(seminit_compilable)
-      if(NOT seminit_retval) # error if not 0
+      if(NOT seminit_retval) # error if not 0
         message(STATUS "sem_init is compilable and executable")
        set(HAVE_SEM_INIT 1)
       else()
@@ -546,12 +544,6 @@ endif()
 file(REMOVE test_stackgrowth)
 #--------------------------------------------------------------------------------------------------
 
-### check for addr2line
-find_path(ADDR2LINE NAMES addr2line    PATHS NO_DEFAULT_PATHS)
-if(ADDR2LINE)
-  set(ADDR2LINE "${ADDR2LINE}/addr2line")
-endif()
-
 ###############
 ## GIT version check
 ##
@@ -625,6 +617,7 @@ if(NS3_LIBRARY_PATH)
 endif()
 set(CMAKE_SMPI_COMMAND "${CMAKE_SMPI_COMMAND}:\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}\"")
 set(SMPIMAIN ${libdir}/simgrid/smpimain)
+set(SMPIREPLAYMAIN ${libdir}/simgrid/smpireplaymain)
 
 configure_file(${CMAKE_HOME_DIRECTORY}/include/smpi/mpif.h.in ${CMAKE_BINARY_DIR}/include/smpi/mpif.h @ONLY)
 #configure mpif.f90 to build mpi.mod
@@ -653,6 +646,7 @@ if(NS3_LIBRARY_PATH)
 endif()
 set(CMAKE_SMPI_COMMAND "${CMAKE_SMPI_COMMAND}:\${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}\"")
 set(SMPIMAIN ${CMAKE_BINARY_DIR}/lib/simgrid/smpimain)
+set(SMPIREPLAYMAIN ${CMAKE_BINARY_DIR}/lib/simgrid/smpireplaymain)
 
 foreach(script cc cxx ff f90 run)
   configure_file(${CMAKE_HOME_DIRECTORY}/src/smpi/smpi${script}.in ${CMAKE_BINARY_DIR}/smpi_script/bin/smpi${script} @ONLY)