SET(TESTING OFF CACHE BOOL "Build tests") IF (TESTING) ENABLE_TESTING() ENDIF (TESTING) MACRO (MAKE_TEST testvariable valgrindvariable libraries class) KDE4_ADD_UNIT_TEST(test-${class} Test${class}.cpp ) TARGET_LINK_LIBRARIES(test-${class} ${QT_QTCORE_LIBRARY} ${QT_QTTEST_LIBRARY} ${${libraries}} ) SET(${variable} ${${variable}} test-${class} ) IF (UNIX) ADD_CUSTOM_TARGET(valgrind-${class} COMMAND valgrind --leak-check=full --show-reachable=yes --log-file=${EXECUTABLE_OUTPUT_PATH}/${class}.valgrind bin/test-${class} DEPENDS test-${class} WORKING_DIRECTORY ${CMAKE_BINARY_DIR} COMMENT "Running valgrind on ${class}" ) SET(${valgrindvariable} ${${valgrindvariable}} valgrind-${class} ) ENDIF (UNIX) ENDMACRO (MAKE_TEST) MACRO (MAKE_TEST_GROUP groupname tests) ADD_CUSTOM_TARGET(tests-${groupname} DEPENDS ${${tests}} ) ENDMACRO (MAKE_TEST_GROUP) MACRO (MAKE_VALGRIND_GROUP groupname tests) IF (UNIX) ADD_CUSTOM_TARGET(valgrind-${groupname} DEPENDS ${${tests}} ) ENDIF (UNIX) ENDMACRO (MAKE_VALGRIND_GROUP)