Skip to content

Use the correct minizip-ng header folder#144

Open
uilianries wants to merge 3 commits intobrechtsanders:masterfrom
uilianries:minizipng/includedirs
Open

Use the correct minizip-ng header folder#144
uilianries wants to merge 3 commits intobrechtsanders:masterfrom
uilianries:minizipng/includedirs

Conversation

@uilianries
Copy link

@uilianries uilianries commented Dec 9, 2025

Hello!

When reviewing the PR conan-io/conan-center-index#28528 for adapting xlsxio to use minizip-ng version, it was noted there is an incompatibility in the project, related to what is generated by minizip-ng.

This PR is a follow-up of a9016eb. The minizip-ng project, when built with the option MZ_COMPAT=ON, will produce the expected header names, such like: minizip/zip.h and minizip/unzip.h, but will not generate them under the folder minizip-ng.

When building MinizipNG with the option MZ_COMPAT=OFF, it will produce the folder minizip-ng, but it does not contain those expected headers like zip.h and unzip.h because it is not in compatible mode.

To be sure about what I'm pointing to, you can see this build log that contains minizip 4.0.6, 4.0.7, 4.0.8 and 4.0.10 build output, with MZ_COMPAT=ON/OFF. The install step makes it clear about the folder name: minizip-build.log

This PR expects minizip-ng to be built with MZ_COMPAT=ON, as always was for this project, then it uses that advantage to keep the same included headers for minizip and minizip-ng, as a result, it no longer needs USE_MINIZIP_NG compiler definition.

Plus, the MizipNG project provides its official minizip-config.cmake file (you can see in the build logs), with the CMake target MINIZIP::minizip, which makes it much safer when consuming instead of CMake variables.

Talking about CMake variables, I also bumped the requires CMake version to 3.15, because <=3.5 is in order to be deprecated. There is a big warning message for newer CMake versions like 4.x (See the official information at https://cmake.org/cmake/help/latest/command/cmake_minimum_required.html#policy-version)

As GitHub Actions does not build using minizip-ng, I made it locally using Conan to make sure it will not break. Here is my local build log: xlsxio-0.2.37-dev-linux-gcc11-static-minizipng.log

In case the scope of this PR is big, please tell me then I can split it to make the review easier.

Regards.

Signed-off-by: Uilian Ries <uilianries@gmail.com>
Signed-off-by: Uilian Ries <uilianries@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant