summaryrefslogtreecommitdiff
path: root/tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'tests/CMakeLists.txt')
-rw-r--r--tests/CMakeLists.txt31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
new file mode 100644
index 000000000000..e66c3d10a60a
--- /dev/null
+++ b/tests/CMakeLists.txt
@@ -0,0 +1,31 @@
+set(COMMON_TEST_INCLUDES
+ ${CMAKE_SOURCE_DIR}/include
+ ${CMAKE_SOURCE_DIR}/src
+ ${CMAKE_SOURCE_DIR}/uthash
+)
+
+set(COMMON_TEST_LIBS ucl)
+
+set(TEST_ENV_VARS
+ "TEST_DIR=${CMAKE_SOURCE_DIR}/tests"
+ "TEST_OUT_DIR=${CMAKE_BINARY_DIR}/tests"
+ "TEST_BINARY_DIR=${CMAKE_BINARY_DIR}/tests"
+)
+
+macro(add_ucl_test testname sourcefile wrapper)
+ add_executable(${testname} ${sourcefile})
+ target_include_directories(${testname} PRIVATE ${COMMON_TEST_INCLUDES})
+ target_link_libraries(${testname} PRIVATE ${COMMON_TEST_LIBS})
+ IF(NOT CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ add_test(NAME ${testname} COMMAND ${CMAKE_SOURCE_DIR}/tests/${wrapper})
+ set_tests_properties(${testname} PROPERTIES ENVIRONMENT "${TEST_ENV_VARS}")
+ ENDIF()
+endmacro()
+
+# Build test binaries always (not just for testing)
+add_ucl_test(test_basic test_basic.c basic.test)
+add_ucl_test(test_speed test_speed.c speed.test)
+add_ucl_test(test_schema test_schema.c schema.test)
+add_ucl_test(test_msgpack test_msgpack.c msgpack.test)
+add_ucl_test(test_generate test_generate.c generate.test)
+