xref: /freebsd/contrib/libucl/tests/CMakeLists.txt (revision abda442d92fdbadcf81c79bc9ddba001d133c429)
1set(COMMON_TEST_INCLUDES
2	${CMAKE_SOURCE_DIR}/include
3	${CMAKE_SOURCE_DIR}/src
4	${CMAKE_SOURCE_DIR}/uthash
5)
6
7set(COMMON_TEST_LIBS ucl)
8
9set(TEST_ENV_VARS
10	"TEST_DIR=${CMAKE_SOURCE_DIR}/tests"
11	"TEST_OUT_DIR=${CMAKE_BINARY_DIR}/tests"
12	"TEST_BINARY_DIR=${CMAKE_BINARY_DIR}/tests"
13)
14
15macro(add_ucl_test testname sourcefile wrapper)
16	add_executable(${testname} ${sourcefile})
17	target_include_directories(${testname} PRIVATE ${COMMON_TEST_INCLUDES})
18	target_link_libraries(${testname} PRIVATE ${COMMON_TEST_LIBS})
19	IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
20		add_test(NAME ${testname} COMMAND ${CMAKE_SOURCE_DIR}/tests/${wrapper})
21		set_tests_properties(${testname} PROPERTIES ENVIRONMENT "${TEST_ENV_VARS}")
22	ENDIF()
23endmacro()
24
25# Build test binaries always (not just for testing)
26add_ucl_test(test_basic test_basic.c basic.test)
27add_ucl_test(test_speed test_speed.c speed.test)
28add_ucl_test(test_schema test_schema.c schema.test)
29add_ucl_test(test_msgpack test_msgpack.c msgpack.test)
30add_ucl_test(test_generate test_generate.c generate.test)
31
32