Commit cd55be2 for zlib

commit cd55be2a2ff985d3b607208abb27333f1aa434c9
Author: Vollstrecker <werner@vollstreckernet.de>
Date:   Wed Dec 24 14:19:39 2025 +0100

    CMake: Add tests for minizip components.

diff --git a/contrib/minizip/test/CMakeLists.txt b/contrib/minizip/test/CMakeLists.txt
index fc64b9e..8224201 100644
--- a/contrib/minizip/test/CMakeLists.txt
+++ b/contrib/minizip/test/CMakeLists.txt
@@ -19,6 +19,8 @@ else(DEFINED ZLIB_BUILD_MINIZIP)
 endif(DEFINED ZLIB_BUILD_MINIZIP)

 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)

@@ -26,6 +28,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)
@@ -68,6 +80,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=$<CONFIG> -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=$<CONFIG> -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 0000000..a235e4b
--- /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
+    $<$<BOOL:${WIN32}>:@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 55272ba..7a7f85f 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 0000000..d183760
--- /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
+    $<$<BOOL:${WIN32}>:@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)