Skip to content

Conversation

@vszakats
Copy link
Member

@vszakats vszakats commented Oct 7, 2025

Build these examples when the necessary dependencies are present:

  • cacertinmem, usercertinmem (OpenSSL/fork)
  • multi-uv (libuv)
  • multithread, threaded-ssl (pthread)
  • sessioninfo (GnuTLS)

Indicate the necessary dependency via a Required: comment placed in
the source file. A single dependency per source is supported as of now.
The name of the dependency should match the variable used within
the cmake scripts, which in turn matches the macro used in the config
header. E.g. for GnuTLS it's USE_GNUTLS.

Also:

  • GHA/macos: build examples in two job to test GnuTLS and pthread ones.
  • GHA/linux: enable libuv to test it with examples.

Follow-up to 6bb7714 #18914


@vszakats vszakats marked this pull request as draft October 7, 2025 11:23
@vszakats vszakats changed the title cmake: try building some of the complicated examples cmake: try building some complicated examples Oct 7, 2025
vszakats added a commit to vszakats/curl that referenced this pull request Oct 7, 2025
vszakats added a commit that referenced this pull request Oct 7, 2025
To allow building conditional examples, and to simplify by avoiding
cmake-version dependent code.

Follow-up to fe5225b #18209
Cherry-picked from #18909
Closes #18911
@vszakats vszakats force-pushed the cm-build-some-complex-examples branch from e1eb9c7 to 2209f45 Compare October 7, 2025 12:44
@github-actions github-actions bot added the CI Continuous Integration label Oct 7, 2025
@vszakats vszakats changed the title cmake: try building some complicated examples cmake: add support building some complicated examples, make them build cleanly Oct 7, 2025
@vszakats vszakats changed the title cmake: add support building some complicated examples, make them build cleanly cmake: support building some complicated examples, make them build cleanly Oct 7, 2025
@vszakats vszakats marked this pull request as ready for review October 7, 2025 13:48
@vszakats vszakats changed the title cmake: support building some complicated examples, make them build cleanly cmake: support building some complicated examples, build them in CI Oct 7, 2025
vszakats added a commit that referenced this pull request Oct 7, 2025
- cacertinmem: build cleanly with BoringSSL/AWS-LC.
- cacertinmem: silence `-Wcast-function-type-strict`.
- multi-uv: fix callback prototypes.
- multithread, threaded-ssl: do not pass const as thread arg.
- sessioninfo: fix suppressing deprecated feature warning.
- usercertinmem: sync formatting with cacertinmem.

Follow-up to 4a6bdd5 #18908
Cherry-picked from #18909
Closes #18914
single line summary

generalize feature requirements a bit

add comment

streamline diff

rename

comment updates

log update

if any all examples requires deps, link them
move libuv to a debug job (required)
@vszakats vszakats force-pushed the cm-build-some-complex-examples branch from 40c0d2a to a4a7660 Compare October 7, 2025 15:36
@vszakats vszakats closed this in df70a68 Oct 7, 2025
@vszakats vszakats deleted the cm-build-some-complex-examples branch October 7, 2025 17:09
vszakats added a commit that referenced this pull request Oct 9, 2025
Also make it return the curl result code.

Follow-up to df70a68 #18909
Closes #18969
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Development

Successfully merging this pull request may close these issues.

1 participant