Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/libcbor/test/CMakeLists.txt
39481 views
1
file(GLOB TESTS "*_test.c")
2
3
find_package(CMocka REQUIRED)
4
5
message(STATUS "CMocka vars: ${CMOCKA_LIBRARIES} ${CMOCKA_INCLUDE_DIR}")
6
7
find_library(MATH_LIBRARY m)
8
9
CHECK_INCLUDE_FILE("execinfo.h" HAS_EXECINFO)
10
11
foreach (TEST ${TESTS})
12
string(REGEX REPLACE ".*/([^/]+).c" "\\1" NAME ${TEST})
13
message("Adding test ${NAME}")
14
add_executable(${NAME} "${NAME}.c" assertions.c stream_expectations.c test_allocator.c)
15
target_link_libraries(${NAME} ${CMOCKA_LIBRARIES})
16
target_link_libraries(${NAME} cbor)
17
if(MATH_LIBRARY)
18
target_link_libraries(${NAME} ${MATH_LIBRARY})
19
endif()
20
target_include_directories(${NAME} PUBLIC ${CMOCKA_INCLUDE_DIR})
21
# See https://stackoverflow.com/a/10824578/499521
22
ADD_TEST(ctest_build_test_${NAME}
23
"${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target ${NAME})
24
ADD_TEST(ctest_run_${NAME} ${NAME})
25
SET_TESTS_PROPERTIES(ctest_run_${NAME}
26
PROPERTIES DEPENDS ctest_build_test_${NAME})
27
add_dependencies(coverage ${NAME})
28
endforeach (TEST)
29
30
add_executable(cpp_linkage_test cpp_linkage_test.cpp)
31
target_link_libraries(cpp_linkage_test cbor)
32