curl/docs
Viktor Szakats f66af623cf
cmake: document -D and env build options
Extend `INSTALL-CMAKE` document with the list of available options,
a short description and default values.

The list may not be 100% complete.

There are no component boundaries in CMake, so the line is blurry
between curl options, CMake options, CMake Find modules options.
I included certain CMake options that seemed useful, and/or have
dedicated use withing curl's CMake source. But, all CMake built-in
options are usable, as documented upstream in CMake.

The naming of the options has a heritage and the inconsistencies with
it, including a lack of clear namespace. This may be subject to future
updates, also after figuring out which name has special meaning within
CMake and/or CMake projects out of unwritten convention or something
more tangible.

CMake allows to initialize any internal variable via `-D`. This may be
useful to pre-initialize/override feature check results. The list
doesn't contain these, and they remain officially undocumented.

Also:
- make adjustments to keep the spellchecker happy.
- retrofit description changes to the cmake sources.
- stop documenting deprecated `Find*` variables.

Reported-by: Daniel Stenberg
Fixes https://github.com/curl/curl/discussions/14885
Closes #15388
2024-10-24 23:06:40 +02:00
..
cmdline-opts url.md: clarify 2024-10-24 14:32:13 +02:00
examples GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
internals GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
libcurl docs/libcurl/opts/Makefile.inc: alphasort the options list 2024-10-24 16:20:36 +02:00
.gitignore docs: add RELEASE-TOOLS.md.dist to .gitignore 2024-07-01 22:49:55 +02:00
BINDINGS.md BINDINGS: add zig binding 2024-08-07 14:51:09 +02:00
BUG-BOUNTY.md BUG-BOUNTY.md: clarify the third party situation 2024-05-14 16:23:42 +02:00
BUGS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
CIPHERS-TLS12.md docs: update CIPHERS.md 2024-08-12 23:35:56 +02:00
CIPHERS.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
CMakeLists.txt cmake: replace CURL_*_DIR with {PROJECT,CMAKE_CURRENT}_*_DIR 2024-10-22 19:13:08 +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: misc language polish 2024-07-01 16:45:17 +02:00
CONTRIBUTE.md CONTRIBUTE: polished 2024-08-26 15:04:01 +02:00
curl-config.md curldown: make 'added-in:' a mandatory header field 2024-07-18 18:04:09 +02:00
CURL-DISABLE.md cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
CURLDOWN.md curldown: fixups 2024-07-19 17:03:25 +02:00
DEPRECATE.md DEPRECATE: remove hyper in January 2025 2024-10-03 10:51:27 +02:00
DISTROS.md DISTROS: avoid use of "very" 2024-10-17 13:36:33 +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 GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
EXPERIMENTAL.md WebSockets: make support official (non-experimental) 2024-09-27 13:20:25 +02:00
FAQ tidy-up: OS names 2024-08-04 19:17:45 +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 tidy-up: spelling quiche and Rustls 2024-08-20 00:44:10 +02:00
HTTP3.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
HTTP-COOKIES.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
INSTALL INSTALL: converted to markdown => INSTALL.md 2016-10-21 15:57:29 +02:00
INSTALL-CMAKE.md cmake: document -D and env build options 2024-10-24 23:06:40 +02:00
INSTALL.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
INTERNALS.md tidy-up: OS names 2024-08-04 19:17:45 +02:00
IPFS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
KNOWN_BUGS KNOWN_BUGS: LDFLAGS passed too late 2024-10-18 11:52:30 +02:00
MAIL-ETIQUETTE.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
Makefile.am internals/SPLAY.md: internal API documentation 2024-08-16 17:13:37 +02:00
MANUAL.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
mk-ca-bundle.md curldown: make 'added-in:' a mandatory header field 2024-07-18 18:04:09 +02:00
options-in-versions TLS: TLSv1.3 earlydata support for curl 2024-10-11 12:28:22 +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: restore next release date 2024-07-24 09:10:53 +02:00
ROADMAP.md CI: add whitespace checker 2024-06-27 13:33:30 +02:00
RUSTLS.md vtls/rustls: support strong CSRNG data 2024-09-13 14:11:56 +02:00
SECURITY-ADVISORY.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
SPONSORS.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
SSL-PROBLEMS.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
SSLCERTS.md curl: add options for safe/no CA bundle search (Windows) 2024-09-22 18:17:25 +02:00
THANKS THANKS: cleanup duplicates 2024-09-25 09:54:09 +02:00
THANKS-filter RELEASE-NOTES: synced 2024-10-18 10:13:38 +02:00
TheArtOfHttpScripting.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
TODO cmake: drop obsolete items from TODO and INSTALL-CMAKE 2024-10-24 19:13:10 +02:00
URL-SYNTAX.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
VERSIONS.md reuse: add copyright + license info to individual docs/*.md files 2024-03-31 12:01:18 +02:00
VULN-DISCLOSURE-POLICY.md VULN-DISCLOSURE-POLICY.md: small typo fix 2024-08-05 17:15:31 +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.