diff options
| -rw-r--r-- | CMakeLists.txt | 5 | ||||
| -rw-r--r-- | contrib/minizip/CMakeLists.txt | 382 | ||||
| -rw-r--r-- | contrib/minizip/minizip.pc.txt | 13 | ||||
| -rw-r--r-- | contrib/minizip/minizipConfig.cmake.in | 5 | ||||
| -rw-r--r-- | contrib/minizip/test/CMakeLists.txt | 139 | ||||
| -rw-r--r-- | contrib/minizip/test/add_subdirectory_exclude_test.cmake.in | 25 | ||||
| -rw-r--r-- | contrib/minizip/test/add_subdirectory_test.cmake.in | 25 | ||||
| -rw-r--r-- | contrib/minizip/test/find_package_test.cmake.in | 24 | ||||
| -rw-r--r-- | contrib/minizip/test/test_helper.cm | 32 |
9 files changed, 650 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 583151c..b777ad7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt | |||
| @@ -7,6 +7,7 @@ project(zlib | |||
| 7 | option(ZLIB_BUILD_TESTING "Enable Zlib Examples as tests" ON) | 7 | option(ZLIB_BUILD_TESTING "Enable Zlib Examples as tests" ON) |
| 8 | option(ZLIB_BUILD_SHARED "Enable building zlib shared library" ON) | 8 | option(ZLIB_BUILD_SHARED "Enable building zlib shared library" ON) |
| 9 | option(ZLIB_BUILD_STATIC "Enable building zlib static library" ON) | 9 | option(ZLIB_BUILD_STATIC "Enable building zlib static library" ON) |
| 10 | option(ZLIB_BUILD_MINIZIP "Enable building libminizip contrib library" OFF) | ||
| 10 | option(ZLIB_INSTALL_LIBRARIES "Enable installation of zlib" ON) | 11 | option(ZLIB_INSTALL_LIBRARIES "Enable installation of zlib" ON) |
| 11 | option(ZLIB_PREFIX | 12 | option(ZLIB_PREFIX |
| 12 | "prefix for all types and library functions, see zconf.h.in" | 13 | "prefix for all types and library functions, see zconf.h.in" |
| @@ -337,3 +338,7 @@ if(ZLIB_BUILD_TESTING) | |||
| 337 | 338 | ||
| 338 | add_subdirectory(test) | 339 | add_subdirectory(test) |
| 339 | endif(ZLIB_BUILD_TESTING) | 340 | endif(ZLIB_BUILD_TESTING) |
| 341 | |||
| 342 | if(ZLIB_BUILD_MINIZIP) | ||
| 343 | add_subdirectory(contrib/minizip/) | ||
| 344 | endif(ZLIB_BUILD_MINIZIP) | ||
diff --git a/contrib/minizip/CMakeLists.txt b/contrib/minizip/CMakeLists.txt new file mode 100644 index 0000000..88ded2e --- /dev/null +++ b/contrib/minizip/CMakeLists.txt | |||
| @@ -0,0 +1,382 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.12) | ||
| 2 | |||
| 3 | project(minizip | ||
| 4 | VERSION 1.0.0 | ||
| 5 | LANGUAGES C) | ||
| 6 | |||
| 7 | option(MINIZIP_BUILD_SHARED "Enable building zlib shared library" ON) | ||
| 8 | option(MINIZIP_BUILD_STATIC "Enable building zlib static library" ON) | ||
| 9 | option(MINIZIP_BUILD_TESTING "Enable testing of minizip" ON) | ||
| 10 | option(MINIZIP_ENABLE_BZIP2 "Build minizip withj bzip2 support" ON) | ||
| 11 | option(MINIZIP_INSTALL "Enable installation of minizip" ON) | ||
| 12 | |||
| 13 | if(MINGW) | ||
| 14 | option(MINIZIP_INSTALL_COMPAT_DLL "Install a copy as libminizip-1.dll" ON) | ||
| 15 | endif(MINGW) | ||
| 16 | |||
| 17 | include(CheckFunctionExists) | ||
| 18 | include(CheckIncludeFile) | ||
| 19 | include(CheckCSourceCompiles) | ||
| 20 | include(CMakePackageConfigHelpers) | ||
| 21 | include(GNUInstallDirs) | ||
| 22 | |||
| 23 | if(MINIZIP_ENABLE_BZIP2) | ||
| 24 | find_package(BZip2) | ||
| 25 | endif(MINIZIP_ENABLE_BZIP2) | ||
| 26 | |||
| 27 | # | ||
| 28 | # Check for fopen64 | ||
| 29 | # | ||
| 30 | check_function_exists(fopen64 HAVE_FOPEN64) | ||
| 31 | |||
| 32 | # | ||
| 33 | # Check for fseeko | ||
| 34 | # | ||
| 35 | check_function_exists(fseeko HAVE_FSEEKO) | ||
| 36 | |||
| 37 | # | ||
| 38 | # Check for unistd.h | ||
| 39 | # | ||
| 40 | check_include_file(unistd.h HAVE_UNISTD_H) | ||
| 41 | |||
| 42 | # | ||
| 43 | # Check to see if we have large file support | ||
| 44 | # | ||
| 45 | set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1) | ||
| 46 | check_type_size(off64_t OFF64_T) | ||
| 47 | unset(CMAKE_REQUIRED_DEFINITIONS) # clear variable | ||
| 48 | |||
| 49 | # | ||
| 50 | # Check visibility attribute is supported | ||
| 51 | if(MSVC) | ||
| 52 | set(CMAKE_REQUIRED_FLAGS "-WX") | ||
| 53 | else(MSVC) | ||
| 54 | set(CMAKE_REQUIRED_FLAGS "-WError") | ||
| 55 | endif(MSVC) | ||
| 56 | |||
| 57 | check_c_source_compiles( | ||
| 58 | " | ||
| 59 | #include <stdlib.h> | ||
| 60 | static void f(void) __attribute__ ((visibility(\"hidden\"))); | ||
| 61 | int main(void) {return 0;} | ||
| 62 | " | ||
| 63 | HAVE___ATTR__VIS_HIDDEN) | ||
| 64 | |||
| 65 | unset(CMAKE_REQUIRED_FLAGS) | ||
| 66 | |||
| 67 | if(NOT TARGET ZLIB::ZLIB) | ||
| 68 | find_package(zlib REQUIRED) | ||
| 69 | endif(NOT TARGET ZLIB::ZLIB) | ||
| 70 | |||
| 71 | set(LIBMINIZIP_SRCS | ||
| 72 | ioapi.c | ||
| 73 | mztools.c | ||
| 74 | unzip.c | ||
| 75 | zip.c) | ||
| 76 | |||
| 77 | set(LIBMINIZIP_HDRS | ||
| 78 | crypt.h | ||
| 79 | ioapi.h | ||
| 80 | mztools.h | ||
| 81 | unzip.h | ||
| 82 | zip.h) | ||
| 83 | |||
| 84 | set(MINIZIP_SRCS | ||
| 85 | ioapi.c | ||
| 86 | $<$<BOOL:${WIN32}>:iowin32.c> | ||
| 87 | minizip.c | ||
| 88 | zip.c) | ||
| 89 | |||
| 90 | set(MINIZIP_HDRS | ||
| 91 | crypt.h | ||
| 92 | ints.h | ||
| 93 | ioapi.h | ||
| 94 | $<$<BOOL:${WIN32}>:iowin32.h> | ||
| 95 | skipset.h | ||
| 96 | zip.h) | ||
| 97 | |||
| 98 | set(MINIUNZIP_SRCS | ||
| 99 | ioapi.c | ||
| 100 | $<$<BOOL:${WIN32}>:iowin32.c> | ||
| 101 | miniunz.c | ||
| 102 | unzip.c | ||
| 103 | zip.c) | ||
| 104 | |||
| 105 | set(MINIUNZIP_HDRS | ||
| 106 | crypt.h | ||
| 107 | ints.h | ||
| 108 | ioapi.h | ||
| 109 | $<$<BOOL:${WIN32}>:iowin32.h> | ||
| 110 | skipset.h | ||
| 111 | unzip.h | ||
| 112 | zip.h) | ||
| 113 | |||
| 114 | if(WIN32) | ||
| 115 | set(minizip_static_suffix "s") | ||
| 116 | set(CMAKE_DEBUG_POSTFIX "d") | ||
| 117 | endif(WIN32) | ||
| 118 | |||
| 119 | if(MINIZIP_BUILD_SHARED) | ||
| 120 | set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE) | ||
| 121 | add_library(libminizip SHARED | ||
| 122 | ${LIBMINIZIP_SRCS} | ||
| 123 | ${LIBMINIZIP_HDRS}) | ||
| 124 | add_library(MINIZIP::MINIZIP ALIAS libminizip) | ||
| 125 | target_include_directories(libminizip PUBLIC | ||
| 126 | $<BUILD_INTERFACE:${minizip_SOURCE_DIR}> | ||
| 127 | $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) | ||
| 128 | target_compile_definitions(libminizip | ||
| 129 | PRIVATE | ||
| 130 | $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS> | ||
| 131 | $<$<BOOL:${BZIP2_FOUND}>:HAVE_BZIP2=1> | ||
| 132 | $<$<BOOL:${HAVE___ATTR__VIS_HIDDEN}>:HAVE_HIDDEN> | ||
| 133 | $<$<BOOL:${HAVE_UNISTD_H}>:HAVE_UNISTD_H=1> | ||
| 134 | $<$<BOOL:NOT:${HAVE_FOPEN64}>:USE_FILE32API=1> | ||
| 135 | PUBLIC | ||
| 136 | $<$<BOOL:${HAVE_OFF64_T}>:_LARGEFILE64_SOURCE=1>) | ||
| 137 | |||
| 138 | if(NOT CYGWIN) | ||
| 139 | set_target_properties(libminizip PROPERTIES | ||
| 140 | SOVERSION ${minizip_VERSION_MAJOR}) | ||
| 141 | endif(NOT CYGWIN) | ||
| 142 | |||
| 143 | set_target_properties(libminizip PROPERTIES | ||
| 144 | EXPORT_NAME MINIZIP | ||
| 145 | OUTPUT_NAME minizip | ||
| 146 | VERSIOM ${minizip_VERSION} | ||
| 147 | SOVERSION ${minizip_VERSION_MAJOR}) | ||
| 148 | target_link_libraries(libminizip | ||
| 149 | PUBLIC | ||
| 150 | $<$<BOOL:${BZIP2_FOUND}>:BZip2::BZip2> | ||
| 151 | ZLIB::ZLIB) | ||
| 152 | |||
| 153 | add_executable(minizip | ||
| 154 | ${MINIZIP_SRCS} | ||
| 155 | ${MINIZIP_HDRS}) | ||
| 156 | target_compile_definitions(minizip | ||
| 157 | PRIVATE | ||
| 158 | $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS> | ||
| 159 | $<$<BOOL:NOT:${HAVE_FOPEN64}>:USE_FILE32API=1>) | ||
| 160 | target_link_libraries(minizip PRIVATE MINIZIP::MINIZIP) | ||
| 161 | |||
| 162 | add_executable(miniunzip | ||
| 163 | ${MINIUNZIP_SRCS} | ||
| 164 | ${MINIUNZIP_HDRS}) | ||
| 165 | target_compile_definitions(miniunzip | ||
| 166 | PRIVATE | ||
| 167 | $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS> | ||
| 168 | $<$<BOOL:NOT:${HAVE_FOPEN64}>:USE_FILE32API=1>) | ||
| 169 | target_link_libraries(miniunzip PRIVATE MINIZIP::MINIZIP) | ||
| 170 | endif(MINIZIP_BUILD_SHARED) | ||
| 171 | |||
| 172 | if(MINIZIP_BUILD_STATIC) | ||
| 173 | |||
| 174 | add_library(libminizipstatic STATIC | ||
| 175 | ${LIBMINIZIP_SRCS} | ||
| 176 | ${LIBMINIZIP_HDRS}) | ||
| 177 | add_library(MINIZIP::MINIZIPSTATIC ALIAS libminizipstatic) | ||
| 178 | target_include_directories(libminizipstatic PUBLIC | ||
| 179 | $<BUILD_INTERFACE:${minizip_SOURCE_DIR}> | ||
| 180 | $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>) | ||
| 181 | target_compile_definitions(libminizipstatic | ||
| 182 | PRIVATE | ||
| 183 | $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS> | ||
| 184 | $<$<BOOL:${BZIP2_FOUND}>:HAVE_BZIP2=1> | ||
| 185 | $<$<BOOL:${HAVE___ATTR__VIS_HIDDEN}>:HAVE_HIDDEN> | ||
| 186 | $<$<BOOL:${HAVE_UNISTD_H}>:HAVE_UNISTD_H=1> | ||
| 187 | $<$<BOOL:NOT:${HAVE_FOPEN64}>:USE_FILE32API=1> | ||
| 188 | PUBLIC | ||
| 189 | $<$<BOOL:${HAVE_OFF64_T}>:_LARGEFILE64_SOURCE=1>) | ||
| 190 | set_target_properties(libminizipstatic PROPERTIES | ||
| 191 | EXPORT_NAME MINIZIPSTATIC | ||
| 192 | OUTPUT_NAME minizip${minizip_static_suffix}) | ||
| 193 | |||
| 194 | if(CYGWIN) | ||
| 195 | set_target_properties(libminizipstatic PROPERTIES | ||
| 196 | SUFFIX ".dll.a") | ||
| 197 | endif(CYGWIN) | ||
| 198 | |||
| 199 | target_link_libraries(libminizipstatic | ||
| 200 | PUBLIC | ||
| 201 | $<$<BOOL:${BZIP2_FOUND}>:BZip2::BZip2> | ||
| 202 | ZLIB::ZLIBSTATIC) | ||
| 203 | |||
| 204 | add_executable(minizipstatic | ||
| 205 | ${MINIZIP_SRCS} | ||
| 206 | ${MINIZIP_HDRS}) | ||
| 207 | target_compile_definitions(minizipstatic | ||
| 208 | PRIVATE | ||
| 209 | $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS> | ||
| 210 | $<$<BOOL:NOT:${HAVE_FOPEN64}>:USE_FILE32API=1>) | ||
| 211 | target_link_libraries(minizipstatic PRIVATE MINIZIP::MINIZIPSTATIC) | ||
| 212 | |||
| 213 | add_executable(miniunzipstatic | ||
| 214 | ${MINIUNZIP_SRCS} | ||
| 215 | ${MINIUNZIP_HDRS}) | ||
| 216 | target_compile_definitions(miniunzipstatic | ||
| 217 | PRIVATE | ||
| 218 | $<$<BOOL:${MSVC}>:_CRT_SECURE_NO_WARNINGS> | ||
| 219 | $<$<BOOL:NOT:${HAVE_FOPEN64}>:USE_FILE32API=1>) | ||
| 220 | target_link_libraries(miniunzipstatic PRIVATE MINIZIP::MINIZIPSTATIC) | ||
| 221 | endif(MINIZIP_BUILD_STATIC) | ||
| 222 | |||
| 223 | if(MINIZIP_INSTALL) | ||
| 224 | if(MINIZIP_BUILD_SHARED) | ||
| 225 | install(TARGETS libminizip minizip miniunzip | ||
| 226 | COMPONENT Runtime | ||
| 227 | EXPORT minizipExport | ||
| 228 | RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" | ||
| 229 | ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" | ||
| 230 | LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") | ||
| 231 | if(MINIZIP_INSTALL_COMPAT_DLL) | ||
| 232 | install(FILES $<TARGET_FILE:libminizip> | ||
| 233 | COMPONENT Runtime | ||
| 234 | RENAME libminizip-${minizip_VERSION_MAJOR}.dll | ||
| 235 | DESTINATION "${CMAKE_INSTALL_BINDIR}") | ||
| 236 | endif(MINIZIP_INSTALL_COMPAT_DLL) | ||
| 237 | |||
| 238 | if(MSVC) | ||
| 239 | install(FILES $<TARGET_PDB_FILE:libminizip> | ||
| 240 | COMPONENT Runtime | ||
| 241 | DESTINATION ${CMAKE_INSTALL_BINDIR} | ||
| 242 | CONFIGURATIONS Debug OR RelWithDebInfo | ||
| 243 | OPTIONAL | ||
| 244 | ) | ||
| 245 | endif(MSVC) | ||
| 246 | endif(MINIZIP_BUILD_SHARED) | ||
| 247 | |||
| 248 | if(MINIZIP_BUILD_STATIC) | ||
| 249 | install(TARGETS libminizipstatic | ||
| 250 | COMPONENT Development | ||
| 251 | TARGETS minizipstatic miniunzipstatic | ||
| 252 | COMPONENT Runtime | ||
| 253 | EXPORT minizipExport | ||
| 254 | RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" | ||
| 255 | ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" | ||
| 256 | LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") | ||
| 257 | endif(MINIZIP_BUILD_STATIC) | ||
| 258 | |||
| 259 | configure_package_config_file(${minizip_SOURCE_DIR}/minizipConfig.cmake.in | ||
| 260 | ${minizip_BINARY_DIR}/minizipConfig.cmake | ||
| 261 | INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip | ||
| 262 | NO_CHECK_REQUIRED_COMPONENTS_MACRO) | ||
| 263 | |||
| 264 | write_basic_package_version_file( | ||
| 265 | "${minizip_BINARY_DIR}/minizipConfigVersion.cmake" | ||
| 266 | VERSION "${minizip_VERSION}" | ||
| 267 | COMPATIBILITY AnyNewerVersion) | ||
| 268 | |||
| 269 | install(FILES | ||
| 270 | ${minizip_BINARY_DIR}/minizipConfig.cmake | ||
| 271 | ${minizip_BINARY_DIR}/minizipConfigVersion.cmake | ||
| 272 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip) | ||
| 273 | |||
| 274 | install(EXPORT minizipExport | ||
| 275 | FILE minizip.cmake | ||
| 276 | DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/minizip | ||
| 277 | NAMESPACE MINIZIP::) | ||
| 278 | |||
| 279 | install(FILES ${LIBMINIZIP_HDRS} | ||
| 280 | COMPONENT Development | ||
| 281 | DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") | ||
| 282 | endif(MINIZIP_INSTALL) | ||
| 283 | |||
| 284 | if(MINIZIP_BUILD_TESTING) | ||
| 285 | enable_testing() | ||
| 286 | |||
| 287 | if(MINIZIP_BUILD_SHARED AND NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") | ||
| 288 | add_test(NAME minizip_prepare_shared_zip | ||
| 289 | COMMAND ${CMAKE_COMMAND} -DCREATE_SHARED=ON | ||
| 290 | -P ${CMAKE_CURRENT_SOURCE_DIR}/test/test_helper.cm | ||
| 291 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 292 | add_test(NAME minizip_zipping_test_file_shared | ||
| 293 | COMMAND minizip test_file_shared.zip test_file_shared.txt | ||
| 294 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 295 | add_test(NAME minizip_prepare_shared_unzip | ||
| 296 | COMMAND ${CMAKE_COMMAND} -DMOVE_SHARED=ON | ||
| 297 | -P ${CMAKE_CURRENT_SOURCE_DIR}/test/test_helper.cm | ||
| 298 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 299 | add_test(NAME minizip_miniunzipping_test_file_shared.zip | ||
| 300 | COMMAND miniunzip test_file_shared.zip | ||
| 301 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 302 | add_test(NAME minizip_compare_shared | ||
| 303 | COMMAND ${CMAKE_COMMAND} -E compare_files | ||
| 304 | test_file_shared.txt test_file_shared.orig | ||
| 305 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 306 | add_test(NAME minizip_clean_shared_zip | ||
| 307 | COMMAND ${CMAKE_COMMAND} -DDELETE_SHARED=ON | ||
| 308 | -P ${CMAKE_CURRENT_SOURCE_DIR}/test/test_helper.cm | ||
| 309 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 310 | set_tests_properties(minizip_prepare_shared_zip | ||
| 311 | PROPERTIES | ||
| 312 | FIXTURES_SETUP prepare_shared) | ||
| 313 | set_tests_properties(minizip_zipping_test_file_shared | ||
| 314 | PROPERTIES | ||
| 315 | FIXTURES_REQUIRED prepare_shared | ||
| 316 | FIXTURES_SETUP zip_shared) | ||
| 317 | set_tests_properties(minizip_prepare_shared_unzip | ||
| 318 | PROPERTIES | ||
| 319 | FIXTURES_REQUIRED zip_shared | ||
| 320 | FIXTURES_SETUP prepare_unzip_shared) | ||
| 321 | set_tests_properties(minizip_miniunzipping_test_file_shared.zip | ||
| 322 | PROPERTIES | ||
| 323 | FIXTURES_REQUIRED prepare_unzip_shared | ||
| 324 | FIXTURES_SETUP prepare_compare_shared) | ||
| 325 | set_tests_properties(minizip_compare_shared | ||
| 326 | PROPERTIES | ||
| 327 | FIXTURES_REQUIRED prepare_compare_shared | ||
| 328 | FIXTURES_SETUP compared_shared) | ||
| 329 | set_tests_properties(minizip_clean_shared_zip | ||
| 330 | PROPERTIES | ||
| 331 | FIXTURES_CLEANUP compared_shared) | ||
| 332 | endif(MINIZIP_BUILD_SHARED AND NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") | ||
| 333 | |||
| 334 | if(MINIZIP_BUILD_STATIC) | ||
| 335 | add_test(NAME minizip_prepare_static_zip | ||
| 336 | COMMAND ${CMAKE_COMMAND} -DCREATE_STATIC=ON | ||
| 337 | -P ${CMAKE_CURRENT_SOURCE_DIR}/test/test_helper.cm | ||
| 338 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 339 | add_test(NAME minizip_zipping_test_file_static | ||
| 340 | COMMAND minizipstatic test_file_static.zip test_file_static.txt | ||
| 341 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 342 | add_test(NAME minizip_prepare_static_unzip | ||
| 343 | COMMAND ${CMAKE_COMMAND} -DMOVE_STATIC=ON | ||
| 344 | -P ${CMAKE_CURRENT_SOURCE_DIR}/test/test_helper.cm | ||
| 345 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 346 | add_test(NAME minizip_miniunzipping_test_file_static.zip | ||
| 347 | COMMAND miniunzipstatic test_file_static.zip | ||
| 348 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 349 | add_test(NAME minizip_compare_static | ||
| 350 | COMMAND ${CMAKE_COMMAND} -E compare_files | ||
| 351 | test_file_static.txt test_file_static.orig | ||
| 352 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 353 | add_test(NAME minizip_clean_static_zip | ||
| 354 | COMMAND ${CMAKE_COMMAND} -DDELETE_STATIC=ON | ||
| 355 | -P ${CMAKE_CURRENT_SOURCE_DIR}/test/test_helper.cm | ||
| 356 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/test) | ||
| 357 | set_tests_properties(minizip_prepare_static_zip | ||
| 358 | PROPERTIES | ||
| 359 | FIXTURES_SETUP prepare_static) | ||
| 360 | set_tests_properties(minizip_zipping_test_file_static | ||
| 361 | PROPERTIES | ||
| 362 | FIXTURES_REQUIRED prepare_static | ||
| 363 | FIXTURES_SETUP zip_static) | ||
| 364 | set_tests_properties(minizip_prepare_static_unzip | ||
| 365 | PROPERTIES | ||
| 366 | FIXTURES_REQUIRED zip_static | ||
| 367 | FIXTURES_SETUP prepare_unzip_static) | ||
| 368 | set_tests_properties(minizip_miniunzipping_test_file_static.zip | ||
| 369 | PROPERTIES | ||
| 370 | FIXTURES_REQUIRED prepare_unzip_static | ||
| 371 | FIXTURES_SETUP prepare_compare_static) | ||
| 372 | set_tests_properties(minizip_compare_static | ||
| 373 | PROPERTIES | ||
| 374 | FIXTURES_REQUIRED prepare_compare_static | ||
| 375 | FIXTURES_SETUP compared_static) | ||
| 376 | set_tests_properties(minizip_clean_static_zip | ||
| 377 | PROPERTIES | ||
| 378 | FIXTURES_CLEANUP compared_static) | ||
| 379 | endif(MINIZIP_BUILD_STATIC) | ||
| 380 | |||
| 381 | add_subdirectory(test) | ||
| 382 | endif(MINIZIP_BUILD_TESTING) | ||
diff --git a/contrib/minizip/minizip.pc.txt b/contrib/minizip/minizip.pc.txt new file mode 100644 index 0000000..060ab09 --- /dev/null +++ b/contrib/minizip/minizip.pc.txt | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | prefix=@CMAKE_INSTALL_PREFIX@ | ||
| 2 | exec_prefix=@CMAKE_INSTALL_PREFIX@ | ||
| 3 | libdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ | ||
| 4 | sharedlibdir=${exec_prefix}/@CMAKE_INSTALL_LIBDIR@ | ||
| 5 | includedir=${exec_prefix}/@CMAKE_INSTALL_INCLUDEDIR@ | ||
| 6 | |||
| 7 | Name: minizip | ||
| 8 | Description: minizip compression library | ||
| 9 | Version: @minizip_VERSION@ | ||
| 10 | |||
| 11 | Requires: | ||
| 12 | Libs: -L${libdir} -L${sharedlibdir} -lz -lminizip | ||
| 13 | Cflags: -I${includedir} | ||
diff --git a/contrib/minizip/minizipConfig.cmake.in b/contrib/minizip/minizipConfig.cmake.in new file mode 100644 index 0000000..5221bfe --- /dev/null +++ b/contrib/minizip/minizipConfig.cmake.in | |||
| @@ -0,0 +1,5 @@ | |||
| 1 | set(minizip_VERSION @minizip_VERSION@) | ||
| 2 | set(MINIZIP_ENABLE_BZIP2 @MINIZIP_ENABLE_BZIP2@ | ||
| 3 | @PACKAGE_INIT@ | ||
| 4 | INCLUDE (${CMAKE_CURRENT_LIST_DIR}/minizip.cmake) | ||
| 5 | find_dependency(zlib) | ||
diff --git a/contrib/minizip/test/CMakeLists.txt b/contrib/minizip/test/CMakeLists.txt new file mode 100644 index 0000000..345718c --- /dev/null +++ b/contrib/minizip/test/CMakeLists.txt | |||
| @@ -0,0 +1,139 @@ | |||
| 1 | add_test(NAME minizip_test_install | ||
| 2 | COMMAND ${CMAKE_COMMAND} --install ${zlib_BINARY_DIR} | ||
| 3 | --prefix ${CMAKE_CURRENT_BINARY_DIR}/test_install | ||
| 4 | --config $<CONFIG> | ||
| 5 | WORKING_DIRECTORY ${zlib_BINARY_DIR}) | ||
| 6 | |||
| 7 | set_tests_properties(minizip_test_install | ||
| 8 | PROPERTIES | ||
| 9 | FIXTURES_SETUP minizip_install) | ||
| 10 | |||
| 11 | file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) | ||
| 12 | file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test) | ||
| 13 | file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test) | ||
| 14 | |||
| 15 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in | ||
| 16 | ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt) | ||
| 17 | |||
| 18 | configure_file( | ||
| 19 | ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in | ||
| 20 | ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectoy_test/CMakeLists.txt) | ||
| 21 | |||
| 22 | configure_file(${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_exclude_test.cmake.in | ||
| 23 | ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test/CMakeLists.txt) | ||
| 24 | |||
| 25 | # CMAKE_GENERATOR_PLATFORM doesn't work in the if | ||
| 26 | set(GENERATOR ${CMAKE_GENERATOR_PLATFORM}) | ||
| 27 | |||
| 28 | if(GENERATOR) | ||
| 29 | set(PLATFORM "-A ${GENERATOR}") | ||
| 30 | endif(GENERATOR) | ||
| 31 | |||
| 32 | # | ||
| 33 | # findpackage_test | ||
| 34 | # | ||
| 35 | add_test(NAME minizip_configure_find_package | ||
| 36 | COMMAND ${CMAKE_COMMAND} | ||
| 37 | ${PLATFORM} | ||
| 38 | -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build | ||
| 39 | -DCMAKE_BUILD_TYPE=$<CONFIG> | ||
| 40 | -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} | ||
| 41 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} | ||
| 42 | -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install | ||
| 43 | -DZDIR=${CMAKE_CURRENT_BINARY_DIR}/test_install/${CMAKE_INSTALL_LIBDIR} | ||
| 44 | --fresh | ||
| 45 | -G "${CMAKE_GENERATOR}" | ||
| 46 | -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) | ||
| 47 | |||
| 48 | add_test(NAME minizip_build_find_package | ||
| 49 | COMMAND ${CMAKE_COMMAND} --build . | ||
| 50 | --config $<CONFIG> | ||
| 51 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build) | ||
| 52 | |||
| 53 | add_test(NAME minizip_test_find_package | ||
| 54 | COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIG> | ||
| 55 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test_build) | ||
| 56 | |||
| 57 | set_tests_properties(minizip_configure_find_package PROPERTIES | ||
| 58 | FIXTURES_REQUIRED minizip_install | ||
| 59 | FIXTURES_SETUP mzfp_config) | ||
| 60 | |||
| 61 | set_tests_properties(minizip_build_find_package PROPERTIES | ||
| 62 | FIXTURES_REQUIRED mzfp_config | ||
| 63 | FIXTURES_SETUP mzfp_build) | ||
| 64 | |||
| 65 | set_tests_properties(minizip_test_find_package PROPERTIES | ||
| 66 | FIXTURES_REQUIRED mzfp_build | ||
| 67 | ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) | ||
| 68 | |||
| 69 | # | ||
| 70 | # add_subdirectory_test | ||
| 71 | # | ||
| 72 | add_test(NAME minizip_configure_add_subdirectory | ||
| 73 | COMMAND ${CMAKE_COMMAND} | ||
| 74 | ${PLATFORM} | ||
| 75 | -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build | ||
| 76 | -DCMAKE_BUILD_TYPE=$<CONFIG> | ||
| 77 | -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} | ||
| 78 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} | ||
| 79 | -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install | ||
| 80 | --fresh | ||
| 81 | -G "${CMAKE_GENERATOR}" | ||
| 82 | -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) | ||
| 83 | |||
| 84 | add_test(NAME minizip_build_add_subdirectory | ||
| 85 | COMMAND ${CMAKE_COMMAND} --build . | ||
| 86 | --config $<CONFIG> | ||
| 87 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build) | ||
| 88 | |||
| 89 | add_test(NAME minizip_test_add_subdirectory | ||
| 90 | COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIG> | ||
| 91 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test_build) | ||
| 92 | |||
| 93 | set_tests_properties(minizip_configure_add_subdirectory PROPERTIES | ||
| 94 | FIXTURES_REQUIRED minizip_install | ||
| 95 | FIXTURES_SETUP mzas_config) | ||
| 96 | |||
| 97 | set_tests_properties(minizip_build_add_subdirectory PROPERTIES | ||
| 98 | FIXTURES_REQUIRED mzas_config | ||
| 99 | FIXTURES_SETUP mzas_build) | ||
| 100 | |||
| 101 | set_tests_properties(minizip_test_add_subdirectory PROPERTIES | ||
| 102 | FIXTURES_REQUIRED mzas_build | ||
| 103 | ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) | ||
| 104 | |||
| 105 | # | ||
| 106 | # add_subdirectory_exclude_test | ||
| 107 | # | ||
| 108 | add_test(NAME minizip_configure_add_subdirectory_exclude | ||
| 109 | COMMAND ${CMAKE_COMMAND} | ||
| 110 | ${PLATFORM} | ||
| 111 | -B${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build | ||
| 112 | -DCMAKE_BUILD_TYPE=$<CONFIG> | ||
| 113 | -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} | ||
| 114 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} | ||
| 115 | -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install | ||
| 116 | --fresh | ||
| 117 | -G "${CMAKE_GENERATOR}" | ||
| 118 | -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) | ||
| 119 | |||
| 120 | add_test(NAME minizip_build_add_subdirectory_exclude | ||
| 121 | COMMAND ${CMAKE_COMMAND} --build . | ||
| 122 | --config $<CONFIG> | ||
| 123 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build) | ||
| 124 | |||
| 125 | add_test(NAME minizip_test_add_subdirectory_exclude | ||
| 126 | COMMAND ${CMAKE_CTEST_COMMAND} -C $<CONFIG> | ||
| 127 | WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test_build) | ||
| 128 | |||
| 129 | set_tests_properties(minizip_configure_add_subdirectory_exclude PROPERTIES | ||
| 130 | FIXTURES_REQUIRED minizip_install | ||
| 131 | FIXTURES_SETUP mzasx_config) | ||
| 132 | |||
| 133 | set_tests_properties(minizip_build_add_subdirectory_exclude PROPERTIES | ||
| 134 | FIXTURES_REQUIRED mzasx_config | ||
| 135 | FIXTURES_SETUP mzasx_build) | ||
| 136 | |||
| 137 | set_tests_properties(minizip_test_add_subdirectory_exclude PROPERTIES | ||
| 138 | FIXTURES_REQUIRED mzasx_build | ||
| 139 | ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) | ||
diff --git a/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in b/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in new file mode 100644 index 0000000..9dd9d35 --- /dev/null +++ b/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.5) | ||
| 2 | |||
| 3 | project(zlib_find_package_test | ||
| 4 | LANGUAGES C | ||
| 5 | VERSION ${zlib_VERSION}) | ||
| 6 | |||
| 7 | enable_testing() | ||
| 8 | set(ZLIB_BUILD_TESTING OFF) | ||
| 9 | add_subdirectory(${zlib_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/zlib EXCLUDE_FROM_ALL) | ||
| 10 | |||
| 11 | if(${ZLIB_BUILD_SHARED}) | ||
| 12 | add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) | ||
| 13 | target_link_libraries(test_example ZLIB::ZLIB) | ||
| 14 | |||
| 15 | if(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") | ||
| 16 | add_test(NAME zlib_test_example_shared COMMAND test_example) | ||
| 17 | endif(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") | ||
| 18 | endif(${ZLIB_BUILD_SHARED}) | ||
| 19 | |||
| 20 | if(${ZLIB_BUILD_STATIC}) | ||
| 21 | add_executable(test_example_static ${zlib_SOURCE_DIR}/test/example.c) | ||
| 22 | target_link_libraries(test_example_static ZLIB::ZLIBSTATIC) | ||
| 23 | add_test(NAME zlib_test_example_static | ||
| 24 | COMMAND test_example_static) | ||
| 25 | endif(${ZLIB_BUILD_STATIC}) | ||
diff --git a/contrib/minizip/test/add_subdirectory_test.cmake.in b/contrib/minizip/test/add_subdirectory_test.cmake.in new file mode 100644 index 0000000..c10f709 --- /dev/null +++ b/contrib/minizip/test/add_subdirectory_test.cmake.in | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.5) | ||
| 2 | |||
| 3 | project(zlib_find_package_test | ||
| 4 | LANGUAGES C | ||
| 5 | VERSION ${zlib_VERSION}) | ||
| 6 | |||
| 7 | enable_testing() | ||
| 8 | set(ZLIB_BUILD_TESTING OFF) | ||
| 9 | add_subdirectory(${zlib_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/zlib) | ||
| 10 | |||
| 11 | if(${ZLIB_BUILD_SHARED}) | ||
| 12 | add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) | ||
| 13 | target_link_libraries(test_example ZLIB::ZLIB) | ||
| 14 | |||
| 15 | if(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") | ||
| 16 | add_test(NAME zlib_test_example_shared COMMAND test_example) | ||
| 17 | endif(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") | ||
| 18 | endif(${ZLIB_BUILD_SHARED}) | ||
| 19 | |||
| 20 | if(${ZLIB_BUILD_STATIC}) | ||
| 21 | add_executable(test_example_static ${zlib_SOURCE_DIR}/test/example.c) | ||
| 22 | target_link_libraries(test_example_static ZLIB::ZLIBSTATIC) | ||
| 23 | add_test(NAME zlib_test_example_static | ||
| 24 | COMMAND test_example_static) | ||
| 25 | endif(${ZLIB_BUILD_STATIC}) | ||
diff --git a/contrib/minizip/test/find_package_test.cmake.in b/contrib/minizip/test/find_package_test.cmake.in new file mode 100644 index 0000000..42f3c19 --- /dev/null +++ b/contrib/minizip/test/find_package_test.cmake.in | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.5) | ||
| 2 | |||
| 3 | project(zlib_find_package_test | ||
| 4 | LANGUAGES C | ||
| 5 | VERSION ${zlib_VERSION}) | ||
| 6 | |||
| 7 | enable_testing() | ||
| 8 | find_package(zlib ${zlib_VERSION} CONFIG REQUIRED) | ||
| 9 | |||
| 10 | if(${ZLIB_BUILD_SHARED}) | ||
| 11 | add_executable(test_example ${zlib_SOURCE_DIR}/test/example.c) | ||
| 12 | target_link_libraries(test_example ZLIB::ZLIB) | ||
| 13 | |||
| 14 | if(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") | ||
| 15 | add_test(NAME zlib_test_example_shared COMMAND test_example) | ||
| 16 | endif(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") | ||
| 17 | endif(${ZLIB_BUILD_SHARED}) | ||
| 18 | |||
| 19 | if(${ZLIB_BUILD_STATIC}) | ||
| 20 | add_executable(test_example_static ${zlib_SOURCE_DIR}/test/example.c) | ||
| 21 | target_link_libraries(test_example_static ZLIB::ZLIBSTATIC) | ||
| 22 | add_test(NAME zlib_test_example_static | ||
| 23 | COMMAND test_example_static) | ||
| 24 | endif(${ZLIB_BUILD_STATIC}) | ||
diff --git a/contrib/minizip/test/test_helper.cm b/contrib/minizip/test/test_helper.cm new file mode 100644 index 0000000..99ae45e --- /dev/null +++ b/contrib/minizip/test/test_helper.cm | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | if(CREATE_SHARED) | ||
| 2 | file(REMOVE ./test_file_shared.orig ./test_file_shared.zip) | ||
| 3 | file(WRITE ./test_file_shared.txt "Hello Hello Hello") | ||
| 4 | endif(CREATE_SHARED) | ||
| 5 | |||
| 6 | if(MOVE_SHARED) | ||
| 7 | file(RENAME ./test_file_shared.txt ./test_file_shared.orig) | ||
| 8 | endif(MOVE_SHARED) | ||
| 9 | |||
| 10 | if(DELETE_SHARED) | ||
| 11 | file(REMOVE | ||
| 12 | ./test_file_shared.txt | ||
| 13 | ./test_file_shared.orig | ||
| 14 | ./test_file_shared.zip) | ||
| 15 | endif(DELETE_SHARED) | ||
| 16 | |||
| 17 | if(CREATE_STATIC) | ||
| 18 | file(REMOVE ./test_file_static.orig ./test_file_static.zip) | ||
| 19 | file(WRITE ./test_file_static.txt "Hello Hello Hello") | ||
| 20 | endif(CREATE_STATIC) | ||
| 21 | |||
| 22 | if(MOVE_STATIC) | ||
| 23 | file(RENAME ./test_file_static.txt ./test_file_static.orig) | ||
| 24 | endif(MOVE_STATIC) | ||
| 25 | |||
| 26 | if(DELETE_STATIC) | ||
| 27 | file(REMOVE | ||
| 28 | ./test_file_static.txt | ||
| 29 | ./test_file_static.orig | ||
| 30 | ./test_file_static.zip) | ||
| 31 | endif(DELETE_STATIC) | ||
| 32 | |||
