-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
base: develop
Are you sure you want to change the base?
cmake-remake #1027
Conversation
superseeds madler#265 and madler#170 and part of madler#148
add option to also install zlib1.ddl for compat partially superseeds madler#976
adjust min required version for regex, superseeds madler#43
…by check_type_size anyways superseeds madler#432
…t_compile_definitions
…tter informations all over the place
Without more details it's only guessing. I added cmake-format.yaml file and let it do the the job.
Including this stuff in the endblocks was mandatory in the early days and can be omitted nowadays. However especially on longer or nested statements it's much easier to see where you are. It's like in any header where you have ifdef foo ... endif #foo
This one was overlooked and should be gone earlier. For the others, I've never seen anyone initializing cmake-internal vars, as it's cmake's task. However the way cmake works with vars makes sure that uninitialzed ones resolve to an exmpty string and as they are checked for a specific value to take effect, it's totally save to use them that way. For the typos, The VERSIOM was my bad, that's fixed. For the others, as this is only about cmake I'm way beyond focus right now with fixing configure and Makefile.in thanks to the Ubuntu-transition in the runners, and I have a feeling that this is some unchecked automated list. I'm no expert, but local int reading, read in(file *in) doesn't look to me like something I want to have in C. |
I found just a problem with minizip. bash-5.2$ ctest --rerun-failed --output-on-failure
Test project /Users/clausklein/Workspace/c/zlib/build-x86_64-Debug/standalone
Start 14: minizip_find_package_configure
1/2 Test #14: minizip_find_package_configure ...***Failed 0.89 sec
-- The C compiler identification is Clang 19.1.6
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/local/opt/llvm/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Configuring done (0.8s)
CMake Error at /Users/clausklein/Workspace/c/zlib/build-x86_64-Debug/standalone/test/test_install/lib/cmake/minizip/minizip-shared.cmake:61 (set_target_properties):
The link interface of target "MINIZIP::minizip" contains:
BZip2::BZip2
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
Call Stack (most recent call first):
/Users/clausklein/Workspace/c/zlib/build-x86_64-Debug/standalone/test/test_install/lib/cmake/minizip/minizipConfig.cmake:53 (include)
CMakeLists.txt:10 (find_package)
CMake Error at /Users/clausklein/Workspace/c/zlib/build-x86_64-Debug/standalone/test/test_install/lib/cmake/minizip/minizip-static.cmake:61 (set_target_properties):
The link interface of target "MINIZIP::minizipstatic" contains:
BZip2::BZip2
but the target was not found. Possible reasons include:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.
Call Stack (most recent call first):
/Users/clausklein/Workspace/c/zlib/build-x86_64-Debug/standalone/test/test_install/lib/cmake/minizip/minizipConfig.cmake:53 (include)
CMakeLists.txt:10 (find_package)
-- Generating done (0.0s)
CMake Generate step failed. Build files cannot be regenerated correctly.
Start 15: minizip_find_package_build
Failed test dependencies: minizip_find_package_configure
2/2 Test #15: minizip_find_package_build .......***Not Run 0.00 sec
0% tests passed, 2 tests failed out of 2
Total Test time (real) = 1.00 sec
The following tests FAILED:
14 - minizip_find_package_configure (Failed)
15 - minizip_find_package_build (Not Run)
Errors while running CTest
bash-5.2$ |
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. |
fixed with cmake-remake@0802d85 |
Maybe we have to set minimum and use CMAKE_INSTALL_RPATH to install @craigscott-crascit May you have a look at cmake-remake@e826338 ? |
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. |
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. |
Now cygwin also works, so this is really done now. |
Awesome. Thank you @Vollstrecker so much for your heroic work. I will work on incorporating this now. |
Hi,
I guess I have everything together. A quick overview:
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.