Commit c445d9a for zlib
commit c445d9ad87549238df4921db48fe2f9289084c4e
Author: Mark Adler <git@madler.net>
Date: Sun Nov 1 14:44:20 2026 -0800
CMake: Up the cmake version to 3.15.
That's when the --install option first appeared.
Also add a workflow to test the current minimum cmake version.
diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml
index 5409195..288e47c 100644
--- a/.github/workflows/cmake.yml
+++ b/.github/workflows/cmake.yml
@@ -145,3 +145,46 @@ jobs:
../build/CMakeFiles/CMakeOutput.log
../build/CMakeFiles/CMakeError.log
retention-days: 7
+
+ ci-cmake-minimum:
+ name: Ubuntu GCC minimum CMake
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout repository
+ uses: actions/checkout@v6
+
+ - name: Install packages
+ run: |
+ sudo apt install libbz2-dev
+
+ - name: Install the minimum CMake version
+ run: |
+ min=$(sed -n 's/^cmake_minimum_required(VERSION \([0-9]*\.[0-9]*\).*/\1/p' CMakeLists.txt)
+ python3 -m venv "$RUNNER_TEMP/cmake-min"
+ "$RUNNER_TEMP/cmake-min/bin/pip" install "cmake==$min.*"
+ echo "$RUNNER_TEMP/cmake-min/bin" >> "$GITHUB_PATH"
+
+ - name: Generate project files
+ run: |
+ cmake --version
+ cmake -S . -B ../build -D CMAKE_BUILD_TYPE=Release -DZLIB_BUILD_BLAST=ON -DZLIB_BUILD_IOSTREAM3=ON -DZLIB_BUILD_MINIZIP=ON -DZLIB_BUILD_PUFF=ON -DMINIZIP_ENABLE_BZIP2=ON
+ env:
+ CC: gcc
+ CFLAGS: -Wall -Wextra
+
+ - name: Compile source code
+ run: cmake --build ../build --config Release
+
+ - name: Run test cases
+ run: ctest -C Release --output-on-failure
+ working-directory: ../build
+
+ - name: Upload build errors
+ uses: actions/upload-artifact@v6
+ if: failure()
+ with:
+ name: Ubuntu GCC minimum CMake (cmake)
+ path: |
+ ../build/CMakeFiles/CMakeOutput.log
+ ../build/CMakeFiles/CMakeError.log
+ retention-days: 7
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 5929cad..6b55192 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib
diff --git a/README-cmake.md b/README-cmake.md
index 90fe5fe..042ee51 100644
--- a/README-cmake.md
+++ b/README-cmake.md
@@ -1,4 +1,4 @@
-# For building with cmake at least version 3.12 (minizip 3.12) is needed
+# For building with cmake at least version 3.15 (minizip 3.15) is needed
In most cases the usual
diff --git a/contrib/ada/CMakeLists.txt b/contrib/ada/CMakeLists.txt
index 4781064..4b714f9 100644
--- a/contrib/ada/CMakeLists.txt
+++ b/contrib/ada/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules")
diff --git a/contrib/blast/CMakeLists.txt b/contrib/blast/CMakeLists.txt
index cbfc412..8684c7d 100644
--- a/contrib/blast/CMakeLists.txt
+++ b/contrib/blast/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
blast
diff --git a/contrib/blast/test/add_subdirectory_exclude_test.cmake.in b/contrib/blast/test/add_subdirectory_exclude_test.cmake.in
index 9f503b4..d1802ae 100644
--- a/contrib/blast/test/add_subdirectory_exclude_test.cmake.in
+++ b/contrib/blast/test/add_subdirectory_exclude_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
blast_find_package
diff --git a/contrib/blast/test/add_subdirectory_test.cmake.in b/contrib/blast/test/add_subdirectory_test.cmake.in
index 1268b7c..ae3982b 100644
--- a/contrib/blast/test/add_subdirectory_test.cmake.in
+++ b/contrib/blast/test/add_subdirectory_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
blast_find_package
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 69739d3..7a3eb59 100644
--- a/contrib/blast/test/find_package_no_components_test.cmake.in
+++ b/contrib/blast/test/find_package_no_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
blast_find_package
diff --git a/contrib/blast/test/find_package_test.cmake.in b/contrib/blast/test/find_package_test.cmake.in
index 5568c3a..1dc46fe 100644
--- a/contrib/blast/test/find_package_test.cmake.in
+++ b/contrib/blast/test/find_package_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
blast_find_package
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 84744ca..1114730 100644
--- a/contrib/blast/test/find_package_wrong_components_test.cmake.in
+++ b/contrib/blast/test/find_package_wrong_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
blast_find_package
diff --git a/contrib/blast/test/tester.cmake b/contrib/blast/test/tester.cmake
index 14e69fc..7108562 100644
--- a/contrib/blast/test/tester.cmake
+++ b/contrib/blast/test/tester.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
#CMAKE_ARGV0 = ${CMAKE_COMMAND}
#CMAKE_ARGV1 = -P
diff --git a/contrib/iostream3/CMakeLists.txt b/contrib/iostream3/CMakeLists.txt
index 8035bd6..7631a25 100644
--- a/contrib/iostream3/CMakeLists.txt
+++ b/contrib/iostream3/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
iostreamV3
diff --git a/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in b/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in
index efc9cd8..c3a7399 100644
--- a/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in
+++ b/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
iostream_add_subdirectory_exclude
diff --git a/contrib/iostream3/test/add_subdirectory_test.cmake.in b/contrib/iostream3/test/add_subdirectory_test.cmake.in
index 26bc238..b7c6454 100644
--- a/contrib/iostream3/test/add_subdirectory_test.cmake.in
+++ b/contrib/iostream3/test/add_subdirectory_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
iostream_add_subdirectory
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 0bfe694..d2de839 100644
--- a/contrib/iostream3/test/find_package_no_components_test.cmake.in
+++ b/contrib/iostream3/test/find_package_no_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
iostream_find_package_no_components
diff --git a/contrib/iostream3/test/find_package_test.cmake.in b/contrib/iostream3/test/find_package_test.cmake.in
index 9b66878..b632e3a 100644
--- a/contrib/iostream3/test/find_package_test.cmake.in
+++ b/contrib/iostream3/test/find_package_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
iostream_find_package
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 6c8a570..787366e 100644
--- a/contrib/iostream3/test/find_package_wrong_components_test.cmake.in
+++ b/contrib/iostream3/test/find_package_wrong_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
iostream_find_package
diff --git a/contrib/minizip/CMakeLists.txt b/contrib/minizip/CMakeLists.txt
index 9c95ac0..6a18fa2 100644
--- a/contrib/minizip/CMakeLists.txt
+++ b/contrib/minizip/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
minizip
diff --git a/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in b/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in
index 2b9fc68..c5a0878 100644
--- a/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in
+++ b/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
minizip_add_subdirectory_exclude_from_all
diff --git a/contrib/minizip/test/add_subdirectory_test.cmake.in b/contrib/minizip/test/add_subdirectory_test.cmake.in
index ca49895..a02d596 100644
--- a/contrib/minizip/test/add_subdirectory_test.cmake.in
+++ b/contrib/minizip/test/add_subdirectory_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
minizip_add_subdirectory_exclude_from_all
diff --git a/contrib/minizip/test/find_package_no_components_test.cmake.in b/contrib/minizip/test/find_package_no_components_test.cmake.in
index a235e4b..c5dad90 100644
--- a/contrib/minizip/test/find_package_no_components_test.cmake.in
+++ b/contrib/minizip/test/find_package_no_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
minizip_find_package
diff --git a/contrib/minizip/test/find_package_test.cmake.in b/contrib/minizip/test/find_package_test.cmake.in
index 01f0545..5da6afa 100644
--- a/contrib/minizip/test/find_package_test.cmake.in
+++ b/contrib/minizip/test/find_package_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
minizip_find_package
diff --git a/contrib/minizip/test/find_package_wrong_components_test.cmake.in b/contrib/minizip/test/find_package_wrong_components_test.cmake.in
index d183760..8dc2f46 100644
--- a/contrib/minizip/test/find_package_wrong_components_test.cmake.in
+++ b/contrib/minizip/test/find_package_wrong_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
minizip_find_package
diff --git a/contrib/puff/CMakeLists.txt b/contrib/puff/CMakeLists.txt
index 79c2dc5..bea9820 100644
--- a/contrib/puff/CMakeLists.txt
+++ b/contrib/puff/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
puff
diff --git a/contrib/puff/test/add_subdirectory_exclude_test.cmake.in b/contrib/puff/test/add_subdirectory_exclude_test.cmake.in
index 0e24c01..d5c3d56 100644
--- a/contrib/puff/test/add_subdirectory_exclude_test.cmake.in
+++ b/contrib/puff/test/add_subdirectory_exclude_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib_puff_add_subdirectory_exclude_from_all
diff --git a/contrib/puff/test/add_subdirectory_test.cmake.in b/contrib/puff/test/add_subdirectory_test.cmake.in
index 8e7e47b..8dc95d8 100644
--- a/contrib/puff/test/add_subdirectory_test.cmake.in
+++ b/contrib/puff/test/add_subdirectory_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib_puff_add_subdirectory
diff --git a/contrib/puff/test/find_package_no_components_test.cmake.in b/contrib/puff/test/find_package_no_components_test.cmake.in
index 2040bfd..c249aa1 100644
--- a/contrib/puff/test/find_package_no_components_test.cmake.in
+++ b/contrib/puff/test/find_package_no_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
puff_find_package
diff --git a/contrib/puff/test/find_package_test.cmake.in b/contrib/puff/test/find_package_test.cmake.in
index e8a0cef..8f0610d 100644
--- a/contrib/puff/test/find_package_test.cmake.in
+++ b/contrib/puff/test/find_package_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
puff_find_package
diff --git a/contrib/puff/test/find_package_wrong_components_test.cmake.in b/contrib/puff/test/find_package_wrong_components_test.cmake.in
index a5cd497..93e641f 100644
--- a/contrib/puff/test/find_package_wrong_components_test.cmake.in
+++ b/contrib/puff/test/find_package_wrong_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
puff_find_package
diff --git a/contrib/puff/test/tester-cov.cmake b/contrib/puff/test/tester-cov.cmake
index a91c6fd..ff5bd05 100644
--- a/contrib/puff/test/tester-cov.cmake
+++ b/contrib/puff/test/tester-cov.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
#CMAKE_ARGV0 = ${CMAKE_COMMAND}
#CMAKE_ARGV1 = -P
diff --git a/contrib/puff/test/tester.cmake b/contrib/puff/test/tester.cmake
index 3216d7c..7f7a222 100644
--- a/contrib/puff/test/tester.cmake
+++ b/contrib/puff/test/tester.cmake
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
#CMAKE_ARGV0 = ${CMAKE_COMMAND}
#CMAKE_ARGV1 = -P
diff --git a/contrib/testzlib/CMakeLists.txt b/contrib/testzlib/CMakeLists.txt
index a894fb6..cd89ba5 100644
--- a/contrib/testzlib/CMakeLists.txt
+++ b/contrib/testzlib/CMakeLists.txt
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
testzlib
diff --git a/contrib/zlib1-dll/test/add_subdirectory_exclude_test.cmake.in b/contrib/zlib1-dll/test/add_subdirectory_exclude_test.cmake.in
index 74551ee..1eb2f13 100644
--- a/contrib/zlib1-dll/test/add_subdirectory_exclude_test.cmake.in
+++ b/contrib/zlib1-dll/test/add_subdirectory_exclude_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib1-dll_add_subdirectory_exclude_from_all
diff --git a/contrib/zlib1-dll/test/add_subdirectory_test.cmake.in b/contrib/zlib1-dll/test/add_subdirectory_test.cmake.in
index 46a47de..89447e4 100644
--- a/contrib/zlib1-dll/test/add_subdirectory_test.cmake.in
+++ b/contrib/zlib1-dll/test/add_subdirectory_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib1-dll_add_subdirectory
diff --git a/contrib/zlib1-dll/test/find_package_test.cmake.in b/contrib/zlib1-dll/test/find_package_test.cmake.in
index cb21f87..c61d1b6 100644
--- a/contrib/zlib1-dll/test/find_package_test.cmake.in
+++ b/contrib/zlib1-dll/test/find_package_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib1-dll_find_package
diff --git a/test/add_subdirectory_exclude_test.cmake.in b/test/add_subdirectory_exclude_test.cmake.in
index b1c1e9b..639f932 100644
--- a/test/add_subdirectory_exclude_test.cmake.in
+++ b/test/add_subdirectory_exclude_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib_find_package_test
diff --git a/test/add_subdirectory_test.cmake.in b/test/add_subdirectory_test.cmake.in
index c6ee4df..bee9529 100644
--- a/test/add_subdirectory_test.cmake.in
+++ b/test/add_subdirectory_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib_find_package_test
diff --git a/test/find_package_no_components_test.cmake.in b/test/find_package_no_components_test.cmake.in
index cc95d60..ca2adcd 100644
--- a/test/find_package_no_components_test.cmake.in
+++ b/test/find_package_no_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib_find_package_test
diff --git a/test/find_package_test.cmake.in b/test/find_package_test.cmake.in
index baf6090..66d7c8e 100644
--- a/test/find_package_test.cmake.in
+++ b/test/find_package_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib_find_package_test
diff --git a/test/find_package_wrong_components_test.cmake.in b/test/find_package_wrong_components_test.cmake.in
index 2b3c90f..77a6969 100644
--- a/test/find_package_wrong_components_test.cmake.in
+++ b/test/find_package_wrong_components_test.cmake.in
@@ -1,4 +1,4 @@
-cmake_minimum_required(VERSION 3.12...3.31)
+cmake_minimum_required(VERSION 3.15...3.31)
project(
zlib_find_package_test