Add CMake based cURL builder #40
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The "classic" Windows build chain (winbuilder) is formally deprecated as of cURL 8.12.0, and scheduled for removal in September 2025.
Therefore we prepare for builds using the CMake toolchain.
The obvious benefit is that we are able to build future releases without having to maintain the winbuilder ourselves; besides that, we can use some options (such as building with brotli and zstd) which are not supported by winbuilder.
A downside is that we may get slightly different builds, and maybe more importantly, that we now need to patch cURL to be able to stick to our naming conventions. I've solved this for now by adding a patch file, but this will not work for cURL < 8.11.0, and easily might break in the future.
A test build (untested) is available at https://github.com/cmb69/winlib-builder/actions/runs/13167998113. Note that I included the pkgconfig and cmake files, although they might be useless (at least the pkgconfig file is).
TODO:
USE_IDN
,ENABLE_IPV6
andCURL_DISABLE_MQTT
should be checked)CURL_USE_PKGCONFIG=ON
, but that won't work for now, since the dependencies have no .pc files, and there are issues using pkg-config with CMake on Windows)