Skip to content

Conversation

cmb69
Copy link
Member

@cmb69 cmb69 commented Feb 5, 2025

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:

  • be more conservative (check that we have the "same" build as before; especially USE_IDN, ENABLE_IPV6 and CURL_DISABLE_MQTT should be checked)
  • be more defensive (possibly, we should explicitly disable some options regarding dependencies, so we don't inadvertantly use them)
  • be more farsighted (we should actually set 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)

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.
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