summaryrefslogtreecommitdiffstats
path: root/cmake/modules/AddTest.cmake
blob: 10da459c2c502a378f57a89c8f5f2b6cc0beac5c (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
enable_testing()
include(CTest)

function (ADD_RTR_TEST _testName _testSource)
    add_executable(${_testName} ${_testSource})
    target_link_libraries(${_testName} ${ARGN})
    add_test(${_testName} ${CMAKE_CURRENT_BINARY_DIR}/${_testName})
endfunction (ADD_RTR_TEST)


function (ADD_RTR_UNIT_TEST _testName _testSource)
    add_rtr_test(${_testName} ${_testSource} ${ARGN})
    add_coverage(${_testName})
endfunction (ADD_RTR_UNIT_TEST)


function (WRAP_FUNCTIONS _testName)
    set(template " -Wl,--wrap=")
    set(linkopts "")
    foreach(f ${ARGN})
        string(CONCAT linkopts ${linkopts} ${template} ${f})
    endforeach()

    get_target_property(temp ${_testName} COMPILE_FLAGS)
    if (temp)
        string(CONCAT linkopts ${temp} ${linkopts})
    endif()
    set_target_properties(${_testName}
                      PROPERTIES
                      LINK_FLAGS ${linkopts})
endfunction (WRAP_FUNCTIONS)