Ctest を使用して Helgrind でテストを開始しています。
find_program(VALGRIND_EXECUTABLE valgrind)
message(STATUS "Valgrind in ${VALGRIND_EXECUTABLE}")
configure_file(project.supp project.supp)
set(BOOST_TEST_ARGS --catch_system_errors=no)
set(VALGRIND_HELGRIND_OPTIONS --tool=helgrind --suppressions=${CMAKE_CURRENT_BINARY_DIR}/project.supp --xml=yes --read-var-info=yes)
add_test(NAME TestHelgrind COMMAND ${VALGRIND_EXECUTABLE} ${VALGRIND_HELGRIND_OPTIONS} --xml-file=${CMAKE_CURRENT_BINARY_DIR}/test.xml ${CMAKE_CURRENT_BINARY_DIR}/test ${BOOST_TEST_ARGS})
ただし、テストの作業ディレクトリは /usr/bin のようです。以下を指定する場合でも:
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
これは私が推測するデフォルトであるべきです。たとえば、memcheck を使用すると機能します。
テストは KDevelop から開始されます。