summaryrefslogtreecommitdiffstats
path: root/tests/SinkTest.cmake
blob: d0cda8d3b0876f13ffbd00c66a95d4b8eca4063a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
function(add_memcheck_test name binary)
    if (${ENABLE_MEMCHECK})
        set(memcheck_command "${MEMORYCHECK_COMMAND} ${MEMORYCHECK_COMMAND_OPTIONS}")
        if (NOT memcheck_command)
            message(FATAL_ERROR "memcheck_command not defined. ${memcheck_command}")
        endif()
        separate_arguments(memcheck_command)
        add_test(memcheck_${name} ${memcheck_command} ./${binary} ${ARGN})
    endif()
endfunction(add_memcheck_test)

macro(auto_tests)
    foreach(_testname ${ARGN})
        add_executable(${_testname} ${_testname}.cpp)
        add_test(${_testname} ${_testname})
        add_memcheck_test(${_testname} ${_testname})
        target_link_libraries(${_testname}
            sink libhawd
            sink_test
            Qt5::Core
            Qt5::Concurrent
            Qt5::Test
        )
    endforeach(_testname)
endmacro(auto_tests)

macro(manual_tests)
    foreach(_testname ${ARGN})
        add_executable(${_testname} ${_testname}.cpp)
        add_memcheck_test(${_testname} ${_testname})
        target_link_libraries(${_testname}
            sink
            libhawd
            sink_test
            Qt5::Core
            Qt5::Concurrent
            Qt5::Test
        )
    endforeach(_testname)
endmacro(manual_tests)