Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
get it to compile on clang on my machine
[simgrid.git] / buildtools / Cmake / Modules / FindValgrind.cmake
index 9cfcfc0..559f15e 100644 (file)
@@ -13,7 +13,11 @@ if(VALGRIND_EXE)
   message(STATUS "Found valgrind: ${VALGRIND_EXE}")
   SET(VALGRIND_COMMAND "${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Scripts/my_valgrind.pl")
   SET(MEMORYCHECK_COMMAND "${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Scripts/my_valgrind.pl")
-endif(VALGRIND_EXE)
+endif()
+
+if(enable_memcheck_xml)
+  SET(VALGRIND_EXTRA_COMMAND_OPTIONS "--xml=yes --xml-file=memcheck_test_%p.memcheck --child-silent-after-fork=yes")
+endif()
 
 if(VALGRIND_EXE)
   exec_program("${VALGRIND_EXE} --version " OUTPUT_VARIABLE "VALGRIND_VERSION")
@@ -21,15 +25,15 @@ if(VALGRIND_EXE)
   if(NEW_VALGRIND_VERSION)
     message(STATUS "Valgrind version: ${NEW_VALGRIND_VERSION}")
     exec_program("${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/Scripts/generate_memcheck_tests.pl ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${CMAKE_HOME_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake" OUTPUT_VARIABLE SHUTT)
-    set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no")
+    set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --trace-children-skip=/usr/bin/*,/bin/* --leak-check=full --show-reachable=yes --track-origins=no --read-var-info=no --num-callers=20 --suppressions=${CMAKE_HOME_DIRECTORY}/tools/simgrid.supp ${VALGRIND_EXTRA_COMMAND_OPTIONS} ")
     message(STATUS "Valgrind options: ${MEMORYCHECK_COMMAND_OPTIONS}")
-  else(NEW_VALGRIND_VERSION)
+  else()
     set(enable_memcheck false)
     message(STATUS "Error: Command valgrind not found --> enable_memcheck autoset to false.")
-  endif(NEW_VALGRIND_VERSION)
-else(VALGRIND_EXE)
+  endif()
+else()
   set(enable_memcheck false)
   message(FATAL_ERROR "Command valgrind not found --> enable_memcheck autoset to false.")
-endif(VALGRIND_EXE)
+endif()
 
-mark_as_advanced(VALGRIND_EXE)
\ No newline at end of file
+mark_as_advanced(VALGRIND_EXE)