From 436841899c919163ab658b1ac4e1486bfc0545b7 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:14:56 +0100 Subject: [PATCH 01/17] build the same components in minizip as in zlib --- CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index aa7359121..c9db11297 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -326,5 +326,7 @@ if(ZLIB_BUILD_TESTING) endif(ZLIB_BUILD_TESTING) if(ZLIB_BUILD_MINIZIP) + set(MINIZIP_BUILD_SHARED ${ZLIB_BUILD_SHARED}) + set(MINIZIP_BUILD_STATIC ${ZLIB_BUILD_STATIC}) add_subdirectory(contrib/minizip/) endif(ZLIB_BUILD_MINIZIP) From bd1863b2949e3b5f8242de14ef1200ab401b74d5 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:16:44 +0100 Subject: [PATCH 02/17] use normal components search for zlib --- zlibConfig.cmake.in | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/zlibConfig.cmake.in b/zlibConfig.cmake.in index 713cac458..8252ab34c 100644 --- a/zlibConfig.cmake.in +++ b/zlibConfig.cmake.in @@ -1,14 +1,6 @@ @PACKAGE_INIT@ -set(_ZLIB_supported_components "") - -if(@ZLIB_BUILD_SHARED@) - list(APPEND _ZLIB_supported_components shared) -endif(@ZLIB_BUILD_SHARED@) - -if(@ZLIB_BUILD_STATIC@) - list(APPEND _ZLIB_supported_components static) -endif(@ZLIB_BUILD_STATIC@) +set(_ZLIB_supported_components "shared" "static") if(ZLIB_FIND_COMPONENTS) foreach(_comp ${ZLIB_FIND_COMPONENTS}) From fb8dd17173e27409b7db808f15be9d334a63c389 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:17:25 +0100 Subject: [PATCH 03/17] add components tests for zlib --- test/CMakeLists.txt | 53 +++++++++++++++++++ test/find_package_no_components_test.cmake.in | 27 ++++++++++ test/find_package_test.cmake.in | 3 +- ...ind_package_wrong_components_test.cmake.in | 27 ++++++++++ 4 files changed, 109 insertions(+), 1 deletion(-) create mode 100644 test/find_package_no_components_test.cmake.in create mode 100644 test/find_package_wrong_components_test.cmake.in diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index fab91e4eb..db2c134c5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -134,6 +134,8 @@ add_test( set_tests_properties(zlib_install PROPERTIES FIXTURES_SETUP zlib_install) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/find_package_no_components_test) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/find_package_wrong_components_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test) @@ -141,6 +143,14 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt @ONLY) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/find_package_no_components_test.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test/CMakeLists.txt @ONLY) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/find_package_wrong_components_test.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test/CMakeLists.txt @ONLY) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test/CMakeLists.txt @ONLY) @@ -191,6 +201,49 @@ set_tests_properties( zlib_find_package_test PROPERTIES FIXTURES_REQUIRED fp_build ENVIRONMENT CTEST_OUTPUT_ON_FAILURE=1) +# +# findpackage_no_components_test +# +add_test( + NAME zlib_find_package_no_components_configure + COMMAND + ${CMAKE_COMMAND} ${PLATFORM} + -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test_build + -DCMAKE_BUILD_TYPE=$ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install --fresh + -G "${CMAKE_GENERATOR}" + -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test) + +set_tests_properties( + zlib_find_package_no_components_configure + PROPERTIES FIXTURES_REQUIRED zlib_install) + +if(NOT ZLIB_BUILD_SHARED OR NOT ZLIB_BUILD_STATIC) + set_tests_properties( + zlib_find_package_no_components_configure + PROPERTIES WILL_FAIL TRUE) +endif(NOT ZLIB_BUILD_SHARED OR NOT ZLIB_BUILD_STATIC) + +# +# findpackage_no_component_test +# +add_test( + NAME zlib_find_package_wrong_components_configure + COMMAND + ${CMAKE_COMMAND} ${PLATFORM} + -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test_build + -DCMAKE_BUILD_TYPE=$ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_INSTALL_PREFIX=${CMAKE_CURRENT_BINARY_DIR}/test_install --fresh + -G "${CMAKE_GENERATOR}" + -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test) + +set_tests_properties( + zlib_find_package_wrong_components_configure + PROPERTIES FIXTURES_REQUIRED zlib_install + WILL_FAIL TRUE) + # # add_subdirectory_test # diff --git a/test/find_package_no_components_test.cmake.in b/test/find_package_no_components_test.cmake.in new file mode 100644 index 000000000..7c54386d5 --- /dev/null +++ b/test/find_package_no_components_test.cmake.in @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.12...3.31) + +project( + zlib_find_package_test + LANGUAGES C + VERSION @zlib_VERSION@) + +enable_testing() +option(ZLIB_BUILD_SHARED "" @ZLIB_BUILD_SHARED@) +option(ZLIB_BUILD_STATIC "" @ZLIB_BUILD_STATIC@) + +find_package(ZLIB @zlib_VERSION@ CONFIG REQUIRED) + +if(ZLIB_BUILD_SHARED) + add_executable(test_example @zlib_SOURCE_DIR@/test/example.c) + target_link_libraries(test_example ZLIB::ZLIB) + + if(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") + add_test(NAME zlib_test_example_shared COMMAND test_example) + endif(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") +endif(ZLIB_BUILD_SHARED) + +if(ZLIB_BUILD_STATIC) + add_executable(test_example_static @zlib_SOURCE_DIR@/test/example.c) + target_link_libraries(test_example_static ZLIB::ZLIBSTATIC) + add_test(NAME zlib_test_example_static COMMAND test_example_static) +endif(ZLIB_BUILD_STATIC) diff --git a/test/find_package_test.cmake.in b/test/find_package_test.cmake.in index 0f77d4977..be5486d81 100644 --- a/test/find_package_test.cmake.in +++ b/test/find_package_test.cmake.in @@ -6,11 +6,11 @@ project( VERSION @zlib_VERSION@) enable_testing() -find_package(ZLIB @zlib_VERSION@ CONFIG REQUIRED) option(ZLIB_BUILD_SHARED "" @ZLIB_BUILD_SHARED@) option(ZLIB_BUILD_STATIC "" @ZLIB_BUILD_STATIC@) if(ZLIB_BUILD_SHARED) + find_package(ZLIB @zlib_VERSION@ CONFIG COMPONENTS shared REQUIRED) add_executable(test_example @zlib_SOURCE_DIR@/test/example.c) target_link_libraries(test_example ZLIB::ZLIB) @@ -20,6 +20,7 @@ if(ZLIB_BUILD_SHARED) endif(ZLIB_BUILD_SHARED) if(ZLIB_BUILD_STATIC) + find_package(ZLIB @zlib_VERSION@ CONFIG COMPONENTS static REQUIRED) add_executable(test_example_static @zlib_SOURCE_DIR@/test/example.c) target_link_libraries(test_example_static ZLIB::ZLIBSTATIC) add_test(NAME zlib_test_example_static COMMAND test_example_static) diff --git a/test/find_package_wrong_components_test.cmake.in b/test/find_package_wrong_components_test.cmake.in new file mode 100644 index 000000000..fff4601c2 --- /dev/null +++ b/test/find_package_wrong_components_test.cmake.in @@ -0,0 +1,27 @@ +cmake_minimum_required(VERSION 3.12...3.31) + +project( + zlib_find_package_test + LANGUAGES C + VERSION @zlib_VERSION@) + +enable_testing() +option(ZLIB_BUILD_SHARED "" @ZLIB_BUILD_SHARED@) +option(ZLIB_BUILD_STATIC "" @ZLIB_BUILD_STATIC@) + +find_package(ZLIB @zlib_VERSION@ CONFIG COMPONENTS wrong REQUIRED) + +if(ZLIB_BUILD_SHARED) + add_executable(test_example @zlib_SOURCE_DIR@/test/example.c) + target_link_libraries(test_example ZLIB::ZLIB) + + if(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") + add_test(NAME zlib_test_example_shared COMMAND test_example) + endif(NOT ${CMAKE_SHARED_LIBRARY_SUFFIX} STREQUAL ".dll") +endif(ZLIB_BUILD_SHARED) + +if(ZLIB_BUILD_STATIC) + add_executable(test_example_static @zlib_SOURCE_DIR@/test/example.c) + target_link_libraries(test_example_static ZLIB::ZLIBSTATIC) + add_test(NAME zlib_test_example_static COMMAND test_example_static) +endif(ZLIB_BUILD_STATIC) From 2ff1ed7ae218cd9fa88c17a7f17617580b2284c3 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:18:54 +0100 Subject: [PATCH 04/17] use components in minizip and check if minizip is part of zlib build --- contrib/minizip/CMakeLists.txt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/contrib/minizip/CMakeLists.txt b/contrib/minizip/CMakeLists.txt index 1aaf4ac74..9f95a4eeb 100644 --- a/contrib/minizip/CMakeLists.txt +++ b/contrib/minizip/CMakeLists.txt @@ -44,6 +44,18 @@ if(NOT CPACK_INCLUDED) include(CPack) endif(NOT CPACK_INCLUDED) +if(NOT DEFINED ZLIB_BUILD_MINIZIP) + if(MINIZIP_BUILD_SHARED) + list(APPEND REQUIRED_COMPONENTS "shared") + endif(MINIZIP_BUILD_SHARED) + + if(MINIZIP_BUILD_STATIC) + list(APPEND REQUIRED_COMPONENTS "static") + endif(MINIZIP_BUILD_STATIC) + + find_package(ZLIB REQUIRED COMPONENTS ${REQUIRED_COMPONENTS} CONFIG) +endif(NOT DEFINED ZLIB_BUILD_MINIZIP) + if(MINIZIP_ENABLE_BZIP2) find_package(BZip2 REQUIRED) endif(MINIZIP_ENABLE_BZIP2) @@ -89,10 +101,6 @@ check_c_source_compiles( unset(CMAKE_REQUIRED_FLAGS) -if(NOT TARGET ZLIB::ZLIB) - find_package(ZLIB REQUIRED CONFIG) -endif(NOT TARGET ZLIB::ZLIB) - set(LIBMINIZIP_SRCS ioapi.c mztools.c unzip.c zip.c) set(LIBMINIZIP_HDRS crypt.h ints.h ioapi.h mztools.h unzip.h zip.h) From e761960b51b0d2c72b1b1bce7db1a1d82e625df5 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:19:16 +0100 Subject: [PATCH 05/17] use normal components search in minizip --- contrib/minizip/minizipConfig.cmake.in | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/contrib/minizip/minizipConfig.cmake.in b/contrib/minizip/minizipConfig.cmake.in index 88ea0a080..f2fb3052f 100644 --- a/contrib/minizip/minizipConfig.cmake.in +++ b/contrib/minizip/minizipConfig.cmake.in @@ -1,16 +1,8 @@ @PACKAGE_INIT@ -set(_minizip_supported_components "") +set(_MINIZIP_supported_components "shared" "static") include(CMakeFindDependencyMacro) -if(@MINIZIP_BUILD_SHARED@) - list(APPEND _minizip_supported_components shared) -endif(@MINIZIP_BUILD_SHARED@) - -if(@MINIZIP_BUILD_STATIC@) - list(APPEND _minizip_supported_components static) -endif(@MINIZIP_BUILD_STATIC@) - if(@MINIZIP_ENABLE_BZIP2@) find_dependency(BZip2) endif(@MINIZIP_ENABLE_BZIP2@) @@ -29,7 +21,7 @@ if(minizip_FIND_COMPONENTS) else(minizip_FIND_COMPONENTS) find_dependency(ZLIB CONFIG) - foreach(_component_config IN LISTS _minizip_supported_components) + foreach(_component_config IN LISTS _MINIZIP_supported_components) include("${CMAKE_CURRENT_LIST_DIR}/minizip-${_component_config}.cmake") - endforeach(_component_config IN LISTS _minizip_supported_components) + endforeach(_component_config IN LISTS _MINIZIP_supported_components) endif(minizip_FIND_COMPONENTS) From 91de5c4cc6a46d25f37db567c756c252a6c2af71 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:19:39 +0100 Subject: [PATCH 06/17] add tests for components in minizip --- contrib/minizip/test/CMakeLists.txt | 54 +++++++++++++++++++ .../find_package_no_components_test.cmake.in | 26 +++++++++ .../minizip/test/find_package_test.cmake.in | 3 +- ...ind_package_wrong_components_test.cmake.in | 26 +++++++++ 4 files changed, 108 insertions(+), 1 deletion(-) create mode 100644 contrib/minizip/test/find_package_no_components_test.cmake.in create mode 100644 contrib/minizip/test/find_package_wrong_components_test.cmake.in diff --git a/contrib/minizip/test/CMakeLists.txt b/contrib/minizip/test/CMakeLists.txt index 2f86ee34b..dd02de347 100644 --- a/contrib/minizip/test/CMakeLists.txt +++ b/contrib/minizip/test/CMakeLists.txt @@ -18,6 +18,8 @@ else(DEFINED ZLIB_BUILD_SHARED) endif(DEFINED ZLIB_BUILD_SHARED) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_componentstest) +file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test) @@ -25,6 +27,16 @@ configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/find_package_test.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test/CMakeLists.txt @ONLY) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/find_package_no_components_test.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test/CMakeLists.txt + @ONLY) + +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/find_package_wrong_components_test.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test/CMakeLists.txt + @ONLY) + configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/add_subdirectory_test.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test/CMakeLists.txt @ONLY) @@ -67,6 +79,48 @@ set_tests_properties( set_tests_properties(minizip_find_package_build PROPERTIES FIXTURES_REQUIRED mzfp_config) +# +# findpackage_no_components_test +# +add_test( + NAME minizip_find_package_no_components_configure + COMMAND + ${CMAKE_COMMAND} ${PLATFORM} + -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test_build + -DCMAKE_BUILD_TYPE=$ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG} + --fresh -G "${CMAKE_GENERATOR}" + -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_no_components_test) + +set_tests_properties( + minizip_find_package_no_components_configure PROPERTIES FIXTURES_REQUIRED ${inst_setup}) + +if(NOT MINIZIP_BUILD_SHARED OR NOT MINIZIP_BUILD_STATIC) + set_tests_properties( + minizip_find_package_no_components_configure PROPERTIES WILL_FAIL TRUE) +endif(NOT MINIZIP_BUILD_SHARED OR NOT MINIZIP_BUILD_STATIC) + +# +# findpackage_no_components_test +# +add_test( + NAME minizip_find_package_wrong_components_configure + COMMAND + ${CMAKE_COMMAND} ${PLATFORM} + -B${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test_build + -DCMAKE_BUILD_TYPE=$ -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} + -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} + -DCMAKE_INSTALL_PREFIX=${WORK_DIR}/test/test_install ${ZLIB_ARG} + --fresh -G "${CMAKE_GENERATOR}" + -S${CMAKE_CURRENT_BINARY_DIR}/findpackage_wrong_components_test) + +set_tests_properties( + minizip_find_package_wrong_components_configure + PROPERTIES + FIXTURES_REQUIRED ${inst_setup} + WILL_FAIL TRUE) + # # add_subdirectory_test # diff --git a/contrib/minizip/test/find_package_no_components_test.cmake.in b/contrib/minizip/test/find_package_no_components_test.cmake.in new file mode 100644 index 000000000..a235e4b98 --- /dev/null +++ b/contrib/minizip/test/find_package_no_components_test.cmake.in @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.12...3.31) + +project( + minizip_find_package + LANGUAGES C + VERSION @minizip_VERSION@) + +option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) +option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) + +find_package(minizip ${minizip_VERSION} CONFIG REQUIRED) + +set(MINIZIP_SRCS + @minizip_SOURCE_DIR@/ioapi.c + $<$:@minizip_SOURCE_DIR@/iowin32.c> + @minizip_SOURCE_DIR@/minizip.c @minizip_SOURCE_DIR@/zip.c) + +if(MINIZIP_BUILD_SHARED) + add_executable(test_example ${MINIZIP_SRCS}) + target_link_libraries(test_example MINIZIP::minizip) +endif(MINIZIP_BUILD_SHARED) + +if(MINIZIP_BUILD_STATIC) + add_executable(test_example_static ${MINIZIP_SRCS}) + target_link_libraries(test_example_static MINIZIP::minizipstatic) +endif(MINIZIP_BUILD_STATIC) diff --git a/contrib/minizip/test/find_package_test.cmake.in b/contrib/minizip/test/find_package_test.cmake.in index 55272ba72..7a7f85fc2 100644 --- a/contrib/minizip/test/find_package_test.cmake.in +++ b/contrib/minizip/test/find_package_test.cmake.in @@ -7,7 +7,6 @@ project( option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) -find_package(minizip ${minizip_VERSION} CONFIG REQUIRED) set(MINIZIP_SRCS @minizip_SOURCE_DIR@/ioapi.c @@ -15,11 +14,13 @@ set(MINIZIP_SRCS @minizip_SOURCE_DIR@/minizip.c @minizip_SOURCE_DIR@/zip.c) if(MINIZIP_BUILD_SHARED) + find_package(minizip ${minizip_VERSION} CONFIG COMPONENTS shared REQUIRED) add_executable(test_example ${MINIZIP_SRCS}) target_link_libraries(test_example MINIZIP::minizip) endif(MINIZIP_BUILD_SHARED) if(MINIZIP_BUILD_STATIC) + find_package(minizip ${minizip_VERSION} CONFIG COMPONENTS static REQUIRED) add_executable(test_example_static ${MINIZIP_SRCS}) target_link_libraries(test_example_static MINIZIP::minizipstatic) endif(MINIZIP_BUILD_STATIC) diff --git a/contrib/minizip/test/find_package_wrong_components_test.cmake.in b/contrib/minizip/test/find_package_wrong_components_test.cmake.in new file mode 100644 index 000000000..d183760c0 --- /dev/null +++ b/contrib/minizip/test/find_package_wrong_components_test.cmake.in @@ -0,0 +1,26 @@ +cmake_minimum_required(VERSION 3.12...3.31) + +project( + minizip_find_package + LANGUAGES C + VERSION @minizip_VERSION@) + +option(MINIZIP_BUILD_SHARED "" @MINIZIP_BUILD_SHARED@) +option(MINIZIP_BUILD_STATIC "" @MINIZIP_BUILD_STATIC@) + +find_package(minizip ${minizip_VERSION} CONFIG COMPONENTS wrong REQUIRED) + +set(MINIZIP_SRCS + @minizip_SOURCE_DIR@/ioapi.c + $<$:@minizip_SOURCE_DIR@/iowin32.c> + @minizip_SOURCE_DIR@/minizip.c @minizip_SOURCE_DIR@/zip.c) + +if(MINIZIP_BUILD_SHARED) + add_executable(test_example ${MINIZIP_SRCS}) + target_link_libraries(test_example MINIZIP::minizip) +endif(MINIZIP_BUILD_SHARED) + +if(MINIZIP_BUILD_STATIC) + add_executable(test_example_static ${MINIZIP_SRCS}) + target_link_libraries(test_example_static MINIZIP::minizipstatic) +endif(MINIZIP_BUILD_STATIC) From 4d8e60810648448e8999f0f2662dfb7223d52b85 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:30:00 +0100 Subject: [PATCH 07/17] added tests for shared/static only building --- .github/workflows/cmake.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 60fdf5959..788440a26 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -15,6 +15,20 @@ jobs: pkgtgt: package package_source cmake-args: -DMINIZIP_ENABLE_BZIP2=ON + - name: Ubuntu GCC no shared + os: ubuntu-latest + compiler: gcc + cflags: -Wall -Wextra + pkgtgt: package package_source + cmake-args: -DZLIB_BUILD_SHARED=OFF -DMINIZIP_ENABLE_BZIP2=ON + + - name: Ubuntu GCC no static + os: ubuntu-latest + compiler: gcc + cflags: -Wall -Wextra + pkgtgt: package package_source + cmake-args: -DZLIB_BUILD_STATIC=OFF -DMINIZIP_ENABLE_BZIP2=ON + - name: Ubuntu GCC -O3 os: ubuntu-latest compiler: gcc From 23ec5271cce062c405699565afb5f4d70cd569d1 Mon Sep 17 00:00:00 2001 From: Vollstrecker Date: Wed, 24 Dec 2025 14:35:44 +0100 Subject: [PATCH 08/17] clarify README --- README-cmake.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README-cmake.md b/README-cmake.md index 7258f9cad..c81c242c0 100644 --- a/README-cmake.md +++ b/README-cmake.md @@ -69,7 +69,7 @@ or find_package(minizip CONFIG COMPONENTS shared static REQUIRED) As it's possible to only build the shared or the static lib, you can make sure that everything you need -is found. If no COMPONENTS are requested, everything that is found will satisfy your request. If the +is found. If no COMPONENTS are requested, everything needs to be found to satisfy your request. If the libraries are optional in you project, you can omit the REQUIRED and check yourself if the targets you want to link against are created. From 7a75a3c6aa99fc937986ae8e678df107726df13f Mon Sep 17 00:00:00 2001 From: Werner Date: Fri, 30 Jan 2026 15:39:32 +0100 Subject: [PATCH 09/17] removed empty line --- contrib/CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index 37a3491fb..c716d6a31 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -14,7 +14,6 @@ function(zlib_add_contrib_lib name description dir) set(ZLIB_${name}_BUILD_TESTING ${ZLIB_BUILD_TESTING} CACHE BOOL "") endif(NOT DEFINED ZLIB_${name}_BUILD_TESTING) - if(NOT DEFINED ZLIB_${name}_INSTALL) set(ZLIB_${name}_INSTALL ${ZLIB_INSTALL} CACHE BOOL "") endif(NOT DEFINED ZLIB_${name}_INSTALL) From acc1039b719711ea6778dbb047ea4466bf7b0da9 Mon Sep 17 00:00:00 2001 From: Werner Date: Fri, 30 Jan 2026 15:39:52 +0100 Subject: [PATCH 10/17] corrected comment --- contrib/blast/test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/blast/test/CMakeLists.txt b/contrib/blast/test/CMakeLists.txt index 3940c1cc6..eb5868164 100644 --- a/contrib/blast/test/CMakeLists.txt +++ b/contrib/blast/test/CMakeLists.txt @@ -172,7 +172,7 @@ if(NOT ZLIB_BLAST_BUILD_SHARED OR NOT ZLIB_BLAST_BUILD_STATIC) endif(NOT ZLIB_BLAST_BUILD_SHARED OR NOT ZLIB_BLAST_BUILD_STATIC) # -# findpackage_no_components_test +# findpackage_wrong_components_test # add_test( NAME zlib_blast_find_package_wrong_components_configure From 7b6a51376411fd2325544dadc2c7220fee7fb0cc Mon Sep 17 00:00:00 2001 From: Werner Date: Fri, 30 Jan 2026 15:41:26 +0100 Subject: [PATCH 11/17] use correct options --- contrib/blast/test/add_subdirectory_exclude_test.cmake.in | 4 ++-- contrib/blast/test/add_subdirectory_test.cmake.in | 4 ++-- contrib/blast/test/find_package_no_components_test.cmake.in | 4 ++-- contrib/blast/test/find_package_test.cmake.in | 4 ++-- .../blast/test/find_package_wrong_components_test.cmake.in | 4 ++-- contrib/iostream3/test/add_subdirectory_test.cmake.in | 4 ++-- .../iostream3/test/find_package_no_components_test.cmake.in | 4 ++-- contrib/iostream3/test/find_package_test.cmake.in | 4 ++-- .../test/find_package_wrong_components_test.cmake.in | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/contrib/blast/test/add_subdirectory_exclude_test.cmake.in b/contrib/blast/test/add_subdirectory_exclude_test.cmake.in index fd6b48728..9f503b496 100644 --- a/contrib/blast/test/add_subdirectory_exclude_test.cmake.in +++ b/contrib/blast/test/add_subdirectory_exclude_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES C VERSION @blast_VERSION@) -option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_BLAST_BUILD_SHARED@) +option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_BLAST_BUILD_STATIC@) option(ZLIB_BLAST_BUILD_TESTING "" @ZLIB_BLAST_BUILD_TESTING@) add_subdirectory(@blast_SOURCE_DIR@ diff --git a/contrib/blast/test/add_subdirectory_test.cmake.in b/contrib/blast/test/add_subdirectory_test.cmake.in index 8b9370f01..1268b7c9b 100644 --- a/contrib/blast/test/add_subdirectory_test.cmake.in +++ b/contrib/blast/test/add_subdirectory_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES C VERSION @blast_VERSION@) -option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_BLAST_BUILD_SHARED@) +option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_BLAST_BUILD_STATIC@) option(ZLIB_BLAST_BUILD_TESTING "" @ZLIB_BLAST_BUILD_TESTING@) add_subdirectory(@blast_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/blast) diff --git a/contrib/blast/test/find_package_no_components_test.cmake.in b/contrib/blast/test/find_package_no_components_test.cmake.in index f7054ff9c..69739d395 100644 --- a/contrib/blast/test/find_package_no_components_test.cmake.in +++ b/contrib/blast/test/find_package_no_components_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES C VERSION @blast_VERSION@) -option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_BLAST_BUILD_SHARED@) +option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_BLAST_BUILD_STATIC@) find_package(blast REQUIRED CONFIG) diff --git a/contrib/blast/test/find_package_test.cmake.in b/contrib/blast/test/find_package_test.cmake.in index c80e50b06..5568c3a0e 100644 --- a/contrib/blast/test/find_package_test.cmake.in +++ b/contrib/blast/test/find_package_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES C VERSION @blast_VERSION@) -option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_BLAST_BUILD_SHARED@) +option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_BLAST_BUILD_STATIC@) set(BLAST_SRCS @blast_SOURCE_DIR@/blast-test.c) diff --git a/contrib/blast/test/find_package_wrong_components_test.cmake.in b/contrib/blast/test/find_package_wrong_components_test.cmake.in index 608f4085c..84744ca94 100644 --- a/contrib/blast/test/find_package_wrong_components_test.cmake.in +++ b/contrib/blast/test/find_package_wrong_components_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES C VERSION @blast_VERSION@) -option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_BLAST_BUILD_SHARED "" @ZLIB_BLAST_BUILD_SHARED@) +option(ZLIB_BLAST_BUILD_STATIC "" @ZLIB_BLAST_BUILD_STATIC@) find_package(blast REQUIRED COMPONENTS wrong CONFIG) diff --git a/contrib/iostream3/test/add_subdirectory_test.cmake.in b/contrib/iostream3/test/add_subdirectory_test.cmake.in index 5eed2cc42..26bc23842 100644 --- a/contrib/iostream3/test/add_subdirectory_test.cmake.in +++ b/contrib/iostream3/test/add_subdirectory_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES CXX VERSION @iostreamV3_VERSION@) -option(ZLIB_IOSTREAM3_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_IOSTREAM3_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_IOSTREAM3_BUILD_SHARED "" @ZLIB_IOSTREAM3_BUILD_SHARED@) +option(ZLIB_IOSTREAM3_BUILD_STATIC "" @ZLIB_IOSTREAM3_BUILD_STATIC@) option(ZLIB_IOSTREAM3_BUILD_TESTING "" OFF) add_subdirectory(@iostreamV3_SOURCE_DIR@ ${CMAKE_CURRENT_BINARY_DIR}/iostream3) diff --git a/contrib/iostream3/test/find_package_no_components_test.cmake.in b/contrib/iostream3/test/find_package_no_components_test.cmake.in index 4daf76e23..0bfe69405 100644 --- a/contrib/iostream3/test/find_package_no_components_test.cmake.in +++ b/contrib/iostream3/test/find_package_no_components_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES CXX VERSION @iostreamV3_VERSION@) -option(ZLIB_IOSTREAM3_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_IOSTREAM3_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_IOSTREAM3_BUILD_SHARED "" @ZLIB_IOSTREAM3_BUILD_SHARED@) +option(ZLIB_IOSTREAM3_BUILD_STATIC "" @ZLIB_IOSTREAM3_BUILD_STATIC@) find_package(iostreamv3 REQUIRED CONFIG) diff --git a/contrib/iostream3/test/find_package_test.cmake.in b/contrib/iostream3/test/find_package_test.cmake.in index 08abe5611..9b668788b 100644 --- a/contrib/iostream3/test/find_package_test.cmake.in +++ b/contrib/iostream3/test/find_package_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES CXX VERSION @iostreamV3_VERSION@) -option(ZLIB_IOSTREAM_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_IOSTREAM_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_IOSTREAM_BUILD_SHARED "" @ZLIB_IOSTREAM_BUILD_SHARED@) +option(ZLIB_IOSTREAM_BUILD_STATIC "" @ZLIB_IOSTREAM_BUILD_STATIC@) set(IOSTREAM_SRCS @iostreamV3_SOURCE_DIR@/test.cc) diff --git a/contrib/iostream3/test/find_package_wrong_components_test.cmake.in b/contrib/iostream3/test/find_package_wrong_components_test.cmake.in index 83435a854..6c8a570f9 100644 --- a/contrib/iostream3/test/find_package_wrong_components_test.cmake.in +++ b/contrib/iostream3/test/find_package_wrong_components_test.cmake.in @@ -5,8 +5,8 @@ project( LANGUAGES CXX VERSION @iostreamV3_VERSION@) -option(ZLIB_IOSTREAM_BUILD_SHARED "" @ZLIB_PUFF_BUILD_SHARED@) -option(ZLIB_IOSTREAM_BUILD_STATIC "" @ZLIB_PUFF_BUILD_STATIC@) +option(ZLIB_IOSTREAM_BUILD_SHARED "" @ZLIB_IOSTREAM_BUILD_SHARED@) +option(ZLIB_IOSTREAM_BUILD_STATIC "" @ZLIB_IOSTREAM_BUILD_STATIC@) find_package(iostreamv3 REQUIRED COMPONENTS wrongCONFIG) From a8e71b9c259ae6dd3017b86b90d9f6c721f36b43 Mon Sep 17 00:00:00 2001 From: Werner Date: Fri, 30 Jan 2026 15:41:54 +0100 Subject: [PATCH 12/17] move testers to test dir --- contrib/puff/CMakeLists.txt | 65 ---------------------- contrib/puff/test/CMakeLists.txt | 71 ++++++++++++++++++++++++ contrib/puff/{ => test}/tester-cov.cmake | 10 ++-- contrib/puff/{ => test}/tester.cmake | 2 +- 4 files changed, 78 insertions(+), 70 deletions(-) rename contrib/puff/{ => test}/tester-cov.cmake (85%) rename contrib/puff/{ => test}/tester.cmake (91%) diff --git a/contrib/puff/CMakeLists.txt b/contrib/puff/CMakeLists.txt index 2f902c0df..8e077c189 100644 --- a/contrib/puff/CMakeLists.txt +++ b/contrib/puff/CMakeLists.txt @@ -82,38 +82,6 @@ if(ZLIB_PUFF_BUILD_SHARED) PROPERTIES EXPORT_NAME PUFF OUTPUT_NAME puff) - - if(ZLIB_PUFF_BUILD_TESTING AND NOT WIN32) - enable_testing() - - add_executable(zlib_puff_test pufftest.c puff.h) - - target_link_libraries(zlib_puff_test - PRIVATE zlib_puff_puff) - - add_test(NAME zlib_puff_test - COMMAND ${CMAKE_COMMAND} -P - ${CMAKE_CURRENT_SOURCE_DIR}/tester.cmake - "$" - "${CMAKE_CURRENT_SOURCE_DIR}") - - if(GCOV_EXECUTABLE) - add_executable(zlib_puff_test-coverage pufftest.c puff.c puff.h) - - target_compile_options(zlib_puff_test-coverage PRIVATE -coverage) - - target_link_options(zlib_puff_test-coverage PRIVATE -coverage) - - add_test(NAME zlib_puff_test-coverage - COMMAND ${CMAKE_COMMAND} -P - ${CMAKE_CURRENT_SOURCE_DIR}/tester-cov.cmake - "$" - "${CMAKE_CURRENT_SOURCE_DIR}" - "${CMAKE_CURRENT_BINARY_DIR}" - ${GCOV_EXECUTABLE} - ${llvm_option}) - endif(GCOV_EXECUTABLE) - endif(ZLIB_PUFF_BUILD_TESTING AND NOT WIN32) endif(ZLIB_PUFF_BUILD_SHARED) if(ZLIB_PUFF_BUILD_STATIC) @@ -127,39 +95,6 @@ if(ZLIB_PUFF_BUILD_STATIC) PROPERTIES EXPORT_NAME PUFFSTATIC OUTPUT_NAME puff${zlib_puff_static_suffix}) - - if(ZLIB_PUFF_BUILD_TESTING AND NOT WIN32) - enable_testing() - - add_executable(zlib_puff_testStatic pufftest.c puff.h) - - target_link_libraries(zlib_puff_testStatic - PRIVATE zlib_puff_puffStatic) - add_test(NAME zlib_puff_testStatic - COMMAND ${CMAKE_COMMAND} -P - ${CMAKE_CURRENT_SOURCE_DIR}/tester.cmake - "$" - "${CMAKE_CURRENT_SOURCE_DIR}") - - if(GCOV_EXECUTABLE) - add_executable(zlib_puff_testStatic-coverage pufftest.c puff.c puff.h) - - target_compile_options(zlib_puff_testStatic-coverage - PRIVATE -coverage) - - target_link_options(zlib_puff_testStatic-coverage - PRIVATE -coverage) - - add_test(NAME zlib_puff_testStatic-coverage - COMMAND ${CMAKE_COMMAND} -P - ${CMAKE_CURRENT_SOURCE_DIR}/tester-cov.cmake - "$" - "${CMAKE_CURRENT_SOURCE_DIR}" - "${CMAKE_CURRENT_BINARY_DIR}" - ${GCOV_EXECUTABLE} - ${llvm_option}) - endif(GCOV_EXECUTABLE) - endif(ZLIB_PUFF_BUILD_TESTING AND NOT WIN32) endif(ZLIB_PUFF_BUILD_STATIC) if(ZLIB_PUFF_INSTALL) diff --git a/contrib/puff/test/CMakeLists.txt b/contrib/puff/test/CMakeLists.txt index 2548d5715..c7077f8ab 100644 --- a/contrib/puff/test/CMakeLists.txt +++ b/contrib/puff/test/CMakeLists.txt @@ -18,6 +18,77 @@ else(DEFINED ZLIB_BUILD_PUFF) FIXTURES_SETUP zlib_puff_install) endif(DEFINED ZLIB_BUILD_PUFF) +if(ZLIB_PUFF_BUILD_SHARED AND NOT WIN32) + add_executable(zlib_puff_test + ${puff_SOURCE_DIR}/pufftest.c + ${puff_SOURCE_DIR}/puff.h) + + target_link_libraries(zlib_puff_test + PRIVATE zlib_puff_puff) + + add_test(NAME zlib_puff_test + COMMAND ${CMAKE_COMMAND} -P + ${CMAKE_CURRENT_SOURCE_DIR}/tester.cmake + "$" + "${puff_SOURCE_DIR}") + + if(GCOV_EXECUTABLE) + add_executable(zlib_puff_test-coverage + ${puff_SOURCE_DIR}/pufftest.c + ${puff_SOURCE_DIR}/puff.c + ${puff_SOURCE_DIR}/puff.h) + + target_compile_options(zlib_puff_test-coverage PRIVATE -coverage) + + target_link_options(zlib_puff_test-coverage PRIVATE -coverage) + + add_test(NAME zlib_puff_test-coverage + COMMAND ${CMAKE_COMMAND} -P + ${CMAKE_CURRENT_SOURCE_DIR}/tester-cov.cmake + "$" + "${puff_SOURCE_DIR}" + "$" + ${GCOV_EXECUTABLE} + ${llvm_option}) + endif(GCOV_EXECUTABLE) +endif(ZLIB_PUFF_BUILD_SHARED AND NOT WIN32) + +if(ZLIB_PUFF_BUILD_STATIC AND NOT WIN32) + add_executable(zlib_puff_testStatic + ${puff_SOURCE_DIR}/pufftest.c + ${puff_SOURCE_DIR}/puff.h) + + target_link_libraries(zlib_puff_testStatic + PRIVATE zlib_puff_puffStatic) + add_test(NAME zlib_puff_testStatic + COMMAND ${CMAKE_COMMAND} -P + ${CMAKE_CURRENT_SOURCE_DIR}/tester.cmake + "$" + "${puff_SOURCE_DIR}") + + if(GCOV_EXECUTABLE) + add_executable(zlib_puff_testStatic-coverage + ${puff_SOURCE_DIR}/pufftest.c + ${puff_SOURCE_DIR}/puff.c + ${puff_SOURCE_DIR}/puff.h) + + target_compile_options(zlib_puff_testStatic-coverage + PRIVATE -coverage) + + target_link_options(zlib_puff_testStatic-coverage + PRIVATE -coverage) + + add_test(NAME zlib_puff_testStatic-coverage + COMMAND ${CMAKE_COMMAND} -P + ${CMAKE_CURRENT_SOURCE_DIR}/tester-cov.cmake + "$" + "${puff_SOURCE_DIR}" + "$" + ${GCOV_EXECUTABLE} + ${llvm_option}) + endif(GCOV_EXECUTABLE) +endif(ZLIB_PUFF_BUILD_STATIC AND NOT WIN32) + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/findpackage_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_test) file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/add_subdirectory_exclude_test) diff --git a/contrib/puff/tester-cov.cmake b/contrib/puff/test/tester-cov.cmake similarity index 85% rename from contrib/puff/tester-cov.cmake rename to contrib/puff/test/tester-cov.cmake index 5dc9662e0..a91c6fd91 100644 --- a/contrib/puff/tester-cov.cmake +++ b/contrib/puff/test/tester-cov.cmake @@ -11,12 +11,14 @@ cmake_minimum_required(VERSION 3.12...3.31) function(puff_cov_test test_string expected_result) execute_process(COMMAND ${CMAKE_ARGV0} -E echo_append ${test_string} - COMMAND ${CMAKE_ARGV5}/bin-writer + COMMAND ${CMAKE_ARGV5} COMMAND ${CMAKE_ARGV3} RESULT_VARIABLE RESULT) if(NOT RESULT EQUAL expected_result) - message(FATAL_ERROR "${RESULT} not matching ${expected_result}") + message(FATAL_ERROR "Received Exit-Code: ${RESULT}\n" + "Expected Exit-Code: ${expected_result}\n" + "Test-String: ${test_string}") endif(NOT RESULT EQUAL expected_result) endfunction(puff_cov_test test_string expected_result) @@ -28,7 +30,7 @@ puff_cov_test("00 00 00 00 00" "254") puff_cov_test("00 01 00 fe ff" "2") execute_process(COMMAND ${CMAKE_ARGV0} -E echo_append "01 01 00 fe ff 0a" - COMMAND ${CMAKE_ARGV5}/bin-writer + COMMAND ${CMAKE_ARGV5} COMMAND ${CMAKE_ARGV3}) puff_cov_test("02 7e ff ff" "246") @@ -38,7 +40,7 @@ puff_cov_test("04 80 49 92 24 49 92 24 71 ff ff 93 11 00" "249") puff_cov_test("04 c0 81 08 00 00 00 00 20 7f eb 0b 00 00" "246") execute_process(COMMAND ${CMAKE_ARGV0} -E echo_append "0b 00 00" - COMMAND ${CMAKE_ARGV5}/bin-writer + COMMAND ${CMAKE_ARGV5} COMMAND ${CMAKE_ARGV3}) puff_cov_test("1a 07" "246") diff --git a/contrib/puff/tester.cmake b/contrib/puff/test/tester.cmake similarity index 91% rename from contrib/puff/tester.cmake rename to contrib/puff/test/tester.cmake index be3b81fd9..3216d7c93 100644 --- a/contrib/puff/tester.cmake +++ b/contrib/puff/test/tester.cmake @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.12...3.31) #CMAKE_ARGV0 = ${CMAKE_COMMAND} #CMAKE_ARGV1 = -P #CMAKE_ARGV2 = ${CMAKE_CURRENT_SOURCE_DIR}/tester.cmake -#CMAKE_ARGV3 = "$" +#CMAKE_ARGV3 = "$" #CMAKE_ARGV4 = "${CMAKE_CURRENT_SOURCE_DIR}" execute_process(COMMAND ${CMAKE_ARGV3} From 399da67e837998cd32bcc50d18985da0f9934f29 Mon Sep 17 00:00:00 2001 From: Werner Date: Fri, 30 Jan 2026 15:42:16 +0100 Subject: [PATCH 13/17] make minizip standalone buildable --- contrib/minizip/CMakeLists.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/contrib/minizip/CMakeLists.txt b/contrib/minizip/CMakeLists.txt index 9f95a4eeb..fe357df23 100644 --- a/contrib/minizip/CMakeLists.txt +++ b/contrib/minizip/CMakeLists.txt @@ -20,6 +20,16 @@ set(CPACK_PACKAGE_DESCRIPTION_FILE ${minizip_SOURCE_DIR}/MiniZip64_info.txt) set(CPACK_RESOURCE_FILE_LICENSE ${minizip_SOURCE_DIR}/../../LICENSE) set(CPACK_RESOURCE_FILE_README ${minizip_SOURCE_DIR}/MiniZip64_info.txt) +# ============================================================================ +# set options if build from zlib +# ============================================================================ +if(ZLIB_BUILD_MINIZIP) + set(MINIZIP_BUILD_SHARED ${ZLIB_MINIZIP_BUILD_SHARED} CACHE BOOL "") + set(MINIZIP_BUILD_STATIC ${ZLIB_MINIZIP_BUILD_STATIC} CACHE BOOL "") + set(MINIZIP_BUILD_TESTING ${ZLIB_MINIZIP_INSTALL} CACHE BOOL "") + set(MINIZIP_INSTALL ${ZLIB_MINIZIP_INSTALL} CACHE BOOL "") +endif(ZLIB_BUILD_MINIZIP) + # ============================================================================ # configuration # ============================================================================ From 670fa804ea6d5718f1dfa72cda32996c217d6d20 Mon Sep 17 00:00:00 2001 From: Werner Date: Fri, 30 Jan 2026 15:42:36 +0100 Subject: [PATCH 14/17] add tests for contribs --- .github/workflows/contribs.yml | 52 ++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 .github/workflows/contribs.yml diff --git a/.github/workflows/contribs.yml b/.github/workflows/contribs.yml new file mode 100644 index 000000000..4071ca396 --- /dev/null +++ b/.github/workflows/contribs.yml @@ -0,0 +1,52 @@ +name: contribs +on: [push, pull_request] +jobs: + ci-cmake: + name: ${{ matrix.name }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - name: Ubuntu all contribs + os: ubuntu-latest + cmake-args: -DZLIB_BUILD_ADA=ON -DZLIB_BUILD_BLAST=ON -DZLIB_BUILD_IOSTREAM3=ON -DZLIB_BUIL_MINIZIP=ON -DZLIB_BUILD_PUFF=ON -DZLIB_WITH_INFBACK9=ON -DZLIB_WITH_CRC32VX=ON -DZLIB_WITH_GVMAT64=ON + src_dir: . + + - name: Ubuntu ADA + os: ubuntu-latest + src_dir: contrib/ada + + - name: Ubuntu BLAST + os: ubuntu-latest + src_dir: contrib/blast + + - name: Ubuntu IOSTREAM + os: ubuntu-latest + src_dir: contrib/iostream3 + + - name: Ubuntu MINIZIP + os: ubuntu-latest + src_dir: contrib/minizip + + - name: Ubuntu PUFF + os: ubuntu-latest + src_dir: contrib/puff + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Install packages (Linux) + run: | + sudo apt install gnat libbz2-dev + + - name: Generate project files + run: cmake -S ${{ matrix.src_dir }} -B ../build ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=Release + + - name: Compile source code + run: cmake --build ../build --config Release + + - name: Run test cases + run: ctest -C Release --output-on-failure --max-width 120 + working-directory: ../build From 4185c6b9a8fcb44f13fff2a93d23530388656b4a Mon Sep 17 00:00:00 2001 From: "git@github.com" Date: Fri, 30 Jan 2026 16:17:26 +0100 Subject: [PATCH 15/17] preinstall zlib for standalone contrib builds --- .github/workflows/contribs.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/.github/workflows/contribs.yml b/.github/workflows/contribs.yml index 4071ca396..c8f499da0 100644 --- a/.github/workflows/contribs.yml +++ b/.github/workflows/contribs.yml @@ -16,31 +16,43 @@ jobs: - name: Ubuntu ADA os: ubuntu-latest src_dir: contrib/ada + install_zlib: yes - name: Ubuntu BLAST os: ubuntu-latest src_dir: contrib/blast + install_zlib: yes - name: Ubuntu IOSTREAM os: ubuntu-latest src_dir: contrib/iostream3 + install_zlib: yes - name: Ubuntu MINIZIP os: ubuntu-latest src_dir: contrib/minizip + install_zlib: yes - name: Ubuntu PUFF os: ubuntu-latest src_dir: contrib/puff + install_zlib: yes steps: - name: Checkout repository uses: actions/checkout@v4 - - name: Install packages (Linux) + - name: Install packages run: | sudo apt install gnat libbz2-dev + - name: Install zlib + if: ${{ matrix.install_zlib == 'yes' }} + run: | + cmake -S . -B ../build-zlib -DCMAKE_BUILD_TYPE=Release + cmake --build ../build-zlib --config Release + sudo cmake --install ../build-zlib + - name: Generate project files run: cmake -S ${{ matrix.src_dir }} -B ../build ${{ matrix.cmake-args }} -DCMAKE_BUILD_TYPE=Release From 5298e9c301d5c4f485e7395926829d52048c28e6 Mon Sep 17 00:00:00 2001 From: "git@github.com" Date: Fri, 30 Jan 2026 16:55:49 +0100 Subject: [PATCH 16/17] fixed iostream3 install test --- contrib/iostream3/test/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/iostream3/test/CMakeLists.txt b/contrib/iostream3/test/CMakeLists.txt index 44e7d6017..a36333de8 100644 --- a/contrib/iostream3/test/CMakeLists.txt +++ b/contrib/iostream3/test/CMakeLists.txt @@ -9,7 +9,7 @@ else(DEFINED ZLIB_BUILD_IOSTREAM3) add_test( NAME zlib_iostream3_install - COMMAND ${CMAKE_COMMAND} --install ${minizip_BINARY_DIR} --prefix + COMMAND ${CMAKE_COMMAND} --install ${iostreamV3_BINARY_DIR} --prefix ${CMAKE_CURRENT_BINARY_DIR}/test_install --config $ WORKING_DIRECTORY ${iostreamV3_BINARY_DIR}) From c2265c2318f0601d974b18224394bc1e2ff32234 Mon Sep 17 00:00:00 2001 From: "git@github.com" Date: Sat, 31 Jan 2026 12:25:36 +0100 Subject: [PATCH 17/17] fix ada standalone build --- contrib/ada/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contrib/ada/CMakeLists.txt b/contrib/ada/CMakeLists.txt index 8922200cd..b7a2e4dcb 100644 --- a/contrib/ada/CMakeLists.txt +++ b/contrib/ada/CMakeLists.txt @@ -5,7 +5,7 @@ set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules") project( zlibAda VERSION 1.0.0 - LANGUAGES ADA + LANGUAGES C ADA DESCRIPTION "A library for creating zipfiles based in zlib" HOMEPAGE_URL "https://www.zlib.net")