curl-curl/docs
Viktor Szakats fe5225b5ea
cmake: optimize building examples in CI
In CI we want to ensure that examples build cleanly, but we don't want
to actually run them there. Meaning it's enough to just compile, but not
link them in CI. Saving time up to 2-4x (MSVC), and disk space up
to 1.2GB (or 8-70x).

Add a new cmake target that compiles all examples without linking them
into runnable binaries. Keep a full build for a single example to test
if it links correctly.

Also:
- CI: switch over all `curl-examples` targets to `curl-examples-build`
- GHA/linux-old: build examples in one of the cmake builds.

Result highlights:

Job                 | Bef. |  Bef. | Aft. | Aft. |
:------------------ | ---: | ----: | ---: |----: |
cygwin              |  15s |   9MB |  10s |  1MB |
msys                |  13s |   8MB |   7s |  1MB |
dl-mingw 15         |  39s |  113M |  34s |  2MB |
dl-mingw 9.5.0      |  49s | 115MB |  42s |  2MB |
dl-mingw 7.3.0      |  19s | 113MB |  14s |  2MB |
dl-mingw 6.4.0      |   9s |  12MB |   7s |  4MB |
Linux cross         |  19s |  28MB |  19s |  2MB |
MSVC UWP            |  65s | 374MB |   9s | 17MB |
MSVC x64            |  22s | 846MB |   9s | 17MB |
VS2010              |  48s | 105MB |  15s |  9MB |
VS2022 clang-cl     | 195s | 1.2GB |  51s | 20MB |
iOS Xcode           |   8s |       |   5s |      |
macOS LibreSSL      |  16s |       |  11s |      |
Linux aws-lc        |   3s |       |   1s |      |

Follow-up to dda251ef10 #18232

Closes #18209
2025-08-09 02:27:43 +02:00
..
cmdline-opts tool_writeout: check strftime() return code 2025-08-07 16:19:22 +02:00
examples cmake: optimize building examples in CI 2025-08-09 02:27:43 +02:00
internals pytest: use dante-server in CI 2025-07-29 15:02:30 +02:00
libcurl multi: change prefix for the network change bits to CURLMNWC_ 2025-08-05 13:05:59 +02:00
tests hostip: cache negative name resolves 2025-08-05 08:05:31 +02:00
.gitignore docs: add RELEASE-TOOLS.md.dist to .gitignore 2024-07-01 22:49:55 +02:00
ALTSVC.md docs: bring back ALTSVC.md and HSTS.md 2024-12-09 09:32:19 +01:00
BINDINGS.md BINDINGS.md: add LibQurl 2025-08-06 08:40:04 +02:00
BUG-BOUNTY.md BUG-BOUNTY.md. mention the medium bounty amount in 2025 2025-05-28 08:47:26 +02:00
BUGS.md docs: fix two typos 2025-07-01 22:53:04 +02:00
CIPHERS-TLS12.md docs: update CIPHERS.md 2024-08-12 23:35:56 +02:00
CIPHERS.md TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
CMakeLists.txt tests: move test docs into /docs 2025-05-28 15:00:03 +02:00
CODE_OF_CONDUCT.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
CODE_REVIEW.md docs: fix broken link in CODE_REVIEW.md 2025-06-21 10:32:06 +02:00
CONTRIBUTE.md docs/CONTRIBUTE: fix broken link 2025-06-30 13:47:06 +02:00
curl-config.md docs: minor edits to please the new spellchecker regime 2025-02-27 13:15:21 +01:00
CURL-DISABLE.md cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
CURLDOWN.md misc: fix typos 2025-07-12 08:59:44 +02:00
DEPRECATE.md DEPRECATE.md: remove leftover "nothing" 2025-07-28 08:42:34 +02:00
DISTROS.md DISTROS.md: add Haiku 2025-07-18 00:54:34 +02:00
EARLY-RELEASE.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
ECH.md ECH: reference the OpenSSL ECH feature branch 2025-05-06 09:02:24 +02:00
EXPERIMENTAL.md docs/EXPERIMENTAL.md: add a mention of HTTPSRR as experimental 2025-01-16 19:41:42 +01:00
FAQ TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
FEATURES.md FEATURES.md: fix typo 2024-08-23 08:46:09 +02:00
GOVERNANCE.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
HELP-US.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
HISTORY.md docs/HISTORY: add some events from the last year 2025-03-06 16:06:17 +01:00
HSTS.md docs: bring back ALTSVC.md and HSTS.md 2024-12-09 09:32:19 +01:00
HTTP3.md vquic: drop msh3 2025-07-27 17:57:17 +02:00
HTTP-COOKIES.md docs/HTTP-COOKIES.md: link to more information 2025-01-01 22:45:48 +01:00
HTTPSRR.md HTTPSRR.md: clarify somewhat 2025-04-28 09:11:48 +02:00
INFRASTRUCTURE.md docs: fix two typos 2025-07-01 22:53:04 +02:00
INSTALL
INSTALL-CMAKE.md pytest: use dante-server in CI 2025-07-29 15:02:30 +02:00
INSTALL.md build: bump minimum required mingw-w64 to v3.0 (from v1.0) 2025-07-28 12:43:02 +02:00
INTERNALS.md zlib: bump minimum to 1.2.5.2 (was: 1.2.0.4) 2025-03-08 00:39:04 +01:00
IPFS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
KNOWN_BUGS misc: fix typos 2025-07-12 08:59:44 +02:00
MAIL-ETIQUETTE.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
Makefile.am scorecard: flame graphs and documentation 2025-07-07 09:04:22 +02:00
MANUAL.md docs: use valid example domain names 2025-02-09 00:17:05 +01:00
mk-ca-bundle.md curldown: make 'added-in:' a mandatory header field 2024-07-18 18:04:09 +02:00
options-in-versions curl: add --follow 2025-08-04 17:12:14 +02:00
README.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
RELEASE-PROCEDURE.md RELEASE-PROCEDURE.md: update docs/VERSIONS 2025-06-11 09:21:44 +02:00
ROADMAP.md CI: add whitespace checker 2024-06-27 13:33:30 +02:00
runtests.md runtests: add --ci option, show Env: only when non-empty 2025-08-04 14:55:10 +02:00
RUSTLS.md docs: rework RUSTLS install instructions 2025-03-27 08:47:43 +01:00
SECURITY-ADVISORY.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
SPONSORS.md SPONSORS.md: clarify that we don't promise goods or services 2025-02-05 23:40:24 +01:00
SSL-PROBLEMS.md spelling: 'a' vs 'an' 2025-05-30 11:38:35 +02:00
SSLCERTS.md TLS: remove support for Secure Transport and BearSSL 2025-06-11 07:54:19 +02:00
testcurl.md scripts: fix to quote the copyright email address 2025-07-12 08:59:44 +02:00
THANKS THANKS: new contributors in 8.15.0 2025-07-16 08:19:39 +02:00
THANKS-filter docs/THANKS: updated from the 8.14.0 release 2025-05-28 07:40:54 +02:00
TheArtOfHttpScripting.md docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
TODO hostip: cache negative name resolves 2025-08-05 08:05:31 +02:00
URL-SYNTAX.md spelling: 'a' vs 'an' 2025-05-30 11:38:35 +02:00
VERSIONS.md RELEASE-NOTES: synced 2025-07-16 08:21:07 +02:00
VULN-DISCLOSURE-POLICY.md VULN-DISCLOSURE-POLICY.md: 7 days embargo is max 2025-07-14 09:08:47 +02:00
wcurl.md wcurl: import v2025.04.20 script + docs 2025-04-21 11:06:44 +02:00

curl logo

Documentation

You find a mix of various documentation in this directory and subdirectories, using several different formats. Some of them are not ideal for reading directly in your browser.

If you would rather see the rendered version of the documentation, check out the curl website's documentation section for general curl stuff or the libcurl section for libcurl related documentation.