1 find_program(VALGRIND_EXE
13 message(STATUS "Found valgrind: ${VALGRIND_EXE}")
14 set (TESH_OPTION ${TESH_OPTION} --setenv VALGRIND_COMMAND=${CMAKE_HOME_DIRECTORY}/tools/cmake/scripts/my_valgrind.pl)
17 if(enable_memcheck_xml)
18 SET(VALGRIND_EXTRA_COMMAND_OPTIONS "--xml=yes --xml-file=memcheck_test_%p.memcheck --child-silent-after-fork=yes")
22 execute_process(COMMAND ${VALGRIND_EXE} --version OUTPUT_VARIABLE "VALGRIND_VERSION")
23 string(REGEX MATCH "[0-9]+.[0-9]+.[0-9]+" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}")
24 if(NEW_VALGRIND_VERSION)
25 message(STATUS "Valgrind version: ${NEW_VALGRIND_VERSION}")
26 # execute_process(COMMAND ${CMAKE_HOME_DIRECTORY}/tools/cmake/scripts/generate_memcheck_tests.pl ${CMAKE_HOME_DIRECTORY} ${CMAKE_HOME_DIRECTORY}/tools/cmake/Tests.cmake OUTPUT_FILE ${CMAKE_BINARY_DIR}/memcheck_tests.cmake)
27 set (TESH_OPTION ${TESH_OPTION} --setenv VALGRIND_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}" )
28 message(STATUS "Tesh options: ${TESH_OPTION}")
30 set(enable_memcheck false)
31 message(STATUS "Error: Command valgrind not found --> enable_memcheck autoset to false.")
34 set(enable_memcheck false)
35 message(FATAL_ERROR "Command valgrind not found --> enable_memcheck autoset to false.")
38 mark_as_advanced(VALGRIND_EXE)