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)