]> git.ipfire.org Git - thirdparty/curl.git/commit
cmake: support building some complicated examples, build them in CI
authorViktor Szakats <commit@vsz.me>
Tue, 7 Oct 2025 10:36:49 +0000 (12:36 +0200)
committerViktor Szakats <commit@vsz.me>
Tue, 7 Oct 2025 17:09:02 +0000 (19:09 +0200)
commitdf70a68984308952dcacf33d11593cb22ad80464
tree50cd616c177dd24db558999ea9815e0195af9a44
parent88a1ab511ce0883c0c0429a74af754036cff5df8
cmake: support building some complicated examples, build them in CI

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 6bb77140322565ca17f5a66aa5d8500d8d469cca #18914
Closes #18909
.github/workflows/linux.yml
.github/workflows/macos.yml
docs/examples/CMakeLists.txt
docs/examples/Makefile.am
docs/examples/Makefile.inc
docs/examples/cacertinmem.c
docs/examples/multi-uv.c
docs/examples/multithread.c
docs/examples/sessioninfo.c
docs/examples/threaded-ssl.c
docs/examples/usercertinmem.c