File: CMakeLists.txt

package info (click to toggle)
mysql-8.0 8.0.43-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,273,904 kB
  • sloc: cpp: 4,684,605; ansic: 412,450; pascal: 108,398; java: 83,641; perl: 30,221; cs: 27,067; sql: 26,594; sh: 24,184; python: 21,816; yacc: 17,169; php: 11,522; xml: 7,388; javascript: 7,076; makefile: 2,196; lex: 1,075; awk: 670; asm: 520; objc: 183; ruby: 97; lisp: 86
file content (31 lines) | stat: -rw-r--r-- 1,139 bytes parent folder | download | duplicates (3)
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
file(GLOB TESTS "*_test.c")

find_package(CMocka REQUIRED)

message(STATUS "CMocka vars: ${CMOCKA_LIBRARIES} ${CMOCKA_INCLUDE_DIR}")

find_library(MATH_LIBRARY m)

CHECK_INCLUDE_FILE("execinfo.h" HAS_EXECINFO)

foreach (TEST ${TESTS})
    string(REGEX REPLACE ".*/([^/]+).c" "\\1" NAME ${TEST})
    message("Adding test ${NAME}")
    add_executable(${NAME} "${NAME}.c" assertions.c stream_expectations.c test_allocator.c)
    target_link_libraries(${NAME} ${CMOCKA_LIBRARIES})
    target_link_libraries(${NAME} cbor)
    if(MATH_LIBRARY)
        target_link_libraries(${NAME} ${MATH_LIBRARY})
    endif()
    target_include_directories(${NAME} PUBLIC ${CMOCKA_INCLUDE_DIR})
    # See https://stackoverflow.com/a/10824578/499521
    ADD_TEST(ctest_build_test_${NAME}
            "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target ${NAME})
    ADD_TEST(ctest_run_${NAME} ${NAME})
    SET_TESTS_PROPERTIES(ctest_run_${NAME}
            PROPERTIES DEPENDS ctest_build_test_${NAME})
    add_dependencies(coverage ${NAME})
endforeach (TEST)

add_executable(cpp_linkage_test cpp_linkage_test.cpp)
target_link_libraries(cpp_linkage_test cbor)