From 40d91fce932f89f97b78d39ffd3e24122e65da25 Mon Sep 17 00:00:00 2001 From: Jason Mealler Date: Wed, 20 Aug 2014 03:23:21 -0600 Subject: [PATCH] Modifies tests build spec to automatically build tests executables when running ctest or make test --- tests/CMakeLists.txt | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 412c0669..fe2b6cf8 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -1,4 +1,3 @@ - set(TEST_SOURCES dep_canonicalization.cpp dependency_loop.cpp @@ -24,16 +23,22 @@ type_already_bound.cpp type_already_bound2.cpp ) +function(add_successful_compile NAME) + set(BIN ${NAME}-exec) + set(BUILD ${NAME}-build) + add_executable(${BIN} ${NAME}.cpp) + target_link_libraries(${BIN} fruit) + add_test(NAME ${BUILD} COMMAND "${CMAKE_COMMAND}" --build "${CMAKE_BINARY_DIR}" --target ${BIN}) + set_tests_properties(${NAME} PROPERTIES DEPENDS ${BUILD}) +endfunction(add_successful_compile) + function(add_test_expected_to_pass NAME) - add_executable(${NAME}-exec ${NAME}.cpp) - target_link_libraries(${NAME}-exec fruit) add_test(NAME ${NAME} COMMAND valgrind --leak-check=full --malloc-fill=AA --track-origins=yes --read-var-info=yes --num-callers=50 --error-exitcode=1 $) + add_successful_compile(${NAME}) endfunction(add_test_expected_to_pass) function(add_test_expected_to_fail_at_runtime NAME MESSAGE) - add_executable(${NAME}-exec ${NAME}.cpp) - target_link_libraries(${NAME}-exec fruit) add_test(NAME ${NAME} COMMAND bash -c " F=`mktemp` @@ -51,6 +56,7 @@ function(add_test_expected_to_fail_at_runtime NAME MESSAGE) fi rm -f \${F} ") + add_successful_compile(${NAME}) endfunction(add_test_expected_to_fail_at_runtime) set(COMPILERS_TO_TEST "g++" "clang++")