Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cmake-remake #1027

Open
wants to merge 118 commits into
base: develop
Choose a base branch
from
Open

cmake-remake #1027

wants to merge 118 commits into from

Conversation

Vollstrecker
Copy link

Hi,

I guess I have everything together. A quick overview:

  • the second template for zconf.h is gone, you can adjust everthing in one place from where all is created
  • it's now possible to build minizip
  • all undocumented options are gone
  • zlib and minizip provide (currently activated by default) copies of some libs for compat with the old naming, this is to be dopped somewhen in the future as both provide cmake-configs and pkgconfig files so every automated build should pick the right names. If there are handcrafted solutions out there with hardcoded names, it's time to update as this won't work for the next 100 years.

The tests on dll based plattforms are mostly run with only the static libs as dll has no rpath option. I also aded a runner file for cygwin and msys. cygwin succedes after restarting the job, but not on the first one, so I renamed the file. I can't reproduced that locally even when using the commands from the runner. Maybe someone with more knowledge in these systems and/or yml can improve this part.

For minizip there are currently no tests run as the would need codechanges that are not subjected here. There are c++-style comments that aren't allowed here and warnings ab out data loss when converting _uint64 to long here. Also I wasn't able to find the right symbol to export the api and had to tell windows to export them all. Maybe someone has more insight here also.

Some questions are still open:
#116 also set's ZLIB_WINAPI, when is this needed?
#72 adds contrib/masmx64/inffas8664.c, if so, when should this be added?
#539 How often will it happen to have semicolon in you dir names?

So I guess these 3 could be closed later by hand.

For #983 I can't say anything as I've never crosscompiled, maybe @trcrsired can check on that

So here's the list of stuff that's done:
Closes: #43 #132 #133 #138 #148 #162 #170 #177 #218 #219 #265 #271 #277 #315 #337 #344 #359 #366 #432 #444 #471 #472 #489 #526 #543 #545 #558 #581 #713 #718 #721 #762 #781 #816 #818 #831 #835 #849 #899 #966 #976 #1009 #1026

In addition there are some that are fixed but not closed before:
Closes: #242 was closed can be closed again
Closes: #259 because it's possible with cmake
Closes: #270 vc15 not needed anymore
Closes: #306 because Makefile.msc is gone already
Closes: #428 symbol is not found anywhere
Closes: #575 was fixed before
Closes: #569 because Makefile.msc is gone already
Closes: #600 duplicate of #162
Closes: #652 because there was a merged fix
Closes: #860 done but not closed
Closes: #972 seems to be a usage error

For the future I also plan cpack integration for neat creation of installers, and to look at everything that's not included (examples/contrib). If there occur any problems I could offer you to open the issue-tracker on the cmake-remake fork to keep track there (not my first choice as users would need to know) or that you highlight me or the project (no clue if this is possible) to support the future of zlib from that side.

Vollstrecker added 30 commits November 30, 2024 16:19
add option to also install zlib1.ddl for compat
partially superseeds madler#976
adjust min required version for regex, superseeds madler#43
@Vollstrecker
Copy link
Author

minizip doesn't link against bzip2, so there shouldn't be any mention of it in the import. That's why I asked this as my first first confusion.

@ClausKlein
Copy link

fixed with cmake-remake@0802d85

@ClausKlein
Copy link

ClausKlein commented Jan 4, 2025

Maybe we have to set minimum CMake version to 3.16 caused by CMP0095

and use CMAKE_INSTALL_RPATH to install minizip right.

@craigscott-crascit May you have a look at cmake-remake@e826338 ?

@Vollstrecker
Copy link
Author

The last commit seems all OK, just the version looks a bit to high. Yes I tested with 1.4.1.1 but I'm sure it wont be found atm.

For he rpath, I don't see how it would help, But I can't check anything for the next 2 days, at least.
If someone adds rpath support for windows, I would do anthing I can to help.

@Vollstrecker
Copy link
Author

Once again I think this is done. formatting and the mention of the max tested version was done, and as Mac complains on linking bzip2 is now always mandatory when activated, plus I made the README a .md file. So everything Claus suggested is in except the messing with the rpath as I didn't run into any problem with that.

The cygwin-test is now also working for zlib. For minizip it's still deactivated as this system still drive my nuts. I've set the libextension to .dll.a as demanded on the other thread, on my local fresh install this works and the shared lib get's also a complete different name (I've never set this and don't know or investigate why) but in the action it doesn't and building will get a name conflict. This needs to be sorted out when someone with knowledge about cygwin get's problems with that.

@Vollstrecker
Copy link
Author

Now cygwin also works, so this is really done now.

@madler
Copy link
Owner

madler commented Jan 24, 2025

Awesome. Thank you @Vollstrecker so much for your heroic work. I will work on incorporating this now.

@Neustradamus
Copy link

@Vollstrecker: Have you looked all tickets/PRs?

Normally my list is very complete...

@Vollstrecker
Copy link
Author

You see anything missing?

@Neustradamus
Copy link

@Vollstrecker: I have not checked all :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment