summaryrefslogtreecommitdiff
path: root/libs/zip/test/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'libs/zip/test/CMakeLists.txt')
-rw-r--r--libs/zip/test/CMakeLists.txt81
1 files changed, 81 insertions, 0 deletions
diff --git a/libs/zip/test/CMakeLists.txt b/libs/zip/test/CMakeLists.txt
new file mode 100644
index 0000000..255f87a
--- /dev/null
+++ b/libs/zip/test/CMakeLists.txt
@@ -0,0 +1,81 @@
+cmake_minimum_required(VERSION 3.14)
+include(ExternalData)
+
+find_package(Sanitizers)
+
+# tests
+set(test_static_out test_static.out)
+add_executable(${test_static_out} test_static.c)
+add_test(NAME ${test_static_out} COMMAND ${test_static_out})
+add_sanitizers(${test_static_out})
+
+set(test_write_out test_write.out)
+add_executable(${test_write_out} test_write.c)
+target_link_libraries(${test_write_out} zip)
+add_test(NAME ${test_write_out} COMMAND ${test_write_out})
+add_sanitizers(${test_write_out})
+
+set(test_append_out test_append.out)
+add_executable(${test_append_out} test_append.c)
+target_link_libraries(${test_append_out} zip)
+add_test(NAME ${test_append_out} COMMAND ${test_append_out})
+add_sanitizers(${test_append_out})
+
+set(test_read_out test_read.out)
+add_executable(${test_read_out} test_read.c)
+target_link_libraries(${test_read_out} zip)
+add_test(NAME ${test_read_out} COMMAND ${test_read_out})
+add_sanitizers(${test_read_out})
+
+set(test_extract_out test_extract.out)
+add_executable(${test_extract_out} test_extract.c)
+target_link_libraries(${test_extract_out} zip)
+add_test(NAME ${test_extract_out} COMMAND ${test_extract_out})
+add_sanitizers(${test_extract_out})
+
+set(test_entry_out test_entry.out)
+add_executable(${test_entry_out} test_entry.c)
+target_link_libraries(${test_entry_out} zip)
+add_test(NAME ${test_entry_out} COMMAND ${test_entry_out})
+add_sanitizers(${test_entry_out})
+
+set(test_permissions_out test_permissions.out)
+add_executable(${test_permissions_out} test_permissions.c)
+target_link_libraries(${test_permissions_out} zip)
+if(LINUX OR UNIX)
+ find_program(UNZIP_PROGRAM unzip)
+ if(UNZIP_PROGRAM)
+ message(STATUS "Found unzip: ${UNZIP_PROGRAM}")
+ if("${CMAKE_C_COMPILER_ID}" STREQUAL "GNU" OR
+ "${CMAKE_C_COMPILER_ID}" STREQUAL "Clang" OR
+ "${CMAKE_C_COMPILER_ID}" STREQUAL "AppleClang")
+ target_compile_definitions(${test_permissions_out}
+ PRIVATE UNZIP_PROGRAM="${UNZIP_PROGRAM}"
+ )
+ endif()
+ endif()
+endif()
+add_test(NAME ${test_permissions_out} COMMAND ${test_permissions_out})
+add_sanitizers(${test_permissions_out})
+
+set(test_open_out test_open.out)
+add_executable(${test_open_out} test_open.c)
+target_link_libraries(${test_open_out} zip)
+add_test(NAME ${test_open_out} COMMAND ${test_open_out})
+add_sanitizers(${test_open_out})
+
+set(test_offset_out test_offset.out)
+add_executable(${test_offset_out} test_offset.c)
+target_link_libraries(${test_offset_out} zip)
+add_test(NAME ${test_offset_out} COMMAND ${test_offset_out})
+add_sanitizers(${test_offset_out})
+
+set(test_data test_data.out)
+add_executable(${test_data} test_data.c)
+target_link_libraries(${test_data} zip)
+ExternalData_Add_Test(test_data
+ NAME test_data
+ COMMAND ${test_data} DATA{data/data.bin}
+)
+
+