]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: document `-D` and env build options
authorViktor Szakats <commit@vsz.me>
Thu, 24 Oct 2024 00:04:22 +0000 (02:04 +0200)
committerViktor Szakats <commit@vsz.me>
Thu, 24 Oct 2024 21:06:40 +0000 (23:06 +0200)
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

27 files changed:
.github/scripts/spellcheck.words
CMake/FindBearSSL.cmake
CMake/FindBrotli.cmake
CMake/FindCares.cmake
CMake/FindGSS.cmake
CMake/FindLibgsasl.cmake
CMake/FindLibidn2.cmake
CMake/FindLibpsl.cmake
CMake/FindLibssh.cmake
CMake/FindLibssh2.cmake
CMake/FindLibuv.cmake
CMake/FindMSH3.cmake
CMake/FindMbedTLS.cmake
CMake/FindNGHTTP2.cmake
CMake/FindNGHTTP3.cmake
CMake/FindNGTCP2.cmake
CMake/FindNettle.cmake
CMake/FindQuiche.cmake
CMake/FindRustls.cmake
CMake/FindWolfSSH.cmake
CMake/FindWolfSSL.cmake
CMake/FindZstd.cmake
CMakeLists.txt
docs/CURL-DISABLE.md
docs/INSTALL-CMAKE.md
lib/curl_config.h.cmake
tests/CMakeLists.txt

index 56dd9bdfee2226d22800370aa64aeecec4fea95e..7aa13af7075b9209438e9e15a7ce5b55b58d2747 100644 (file)
@@ -701,6 +701,7 @@ RRtype
 RSA
 RTMP
 rtmp
+rtmpdump
 RTMPE
 RTMPS
 RTMPT
@@ -767,6 +768,7 @@ SOCKOPT
 SOCKSv
 Solaris
 SONAME
+SOVERSION
 Soref
 SPARC
 SPDX
index dba4f5e6089407a2c7b24e2ac7dcd9e8396a4a79..ff55be0f22e048c9bb46b53b080ad53b33ef7ae4 100644 (file)
 # SPDX-License-Identifier: curl
 #
 ###########################################################################
-# Find the bearssl library
+# Find the BearSSL library
 #
 # Input variables:
 #
-# BEARSSL_INCLUDE_DIR   The bearssl include directory
-# BEARSSL_INCLUDE_DIRS  The bearssl include directory (deprecated)
-# BEARSSL_LIBRARY       Path to bearssl library
+# - `BEARSSL_INCLUDE_DIR`:   The BearSSL include directory.
+# - `BEARSSL_LIBRARY`:       Path to `bearssl` library.
 #
 # Result variables:
 #
-# BEARSSL_FOUND         System has bearssl
-# BEARSSL_INCLUDE_DIRS  The bearssl include directories
-# BEARSSL_LIBRARIES     The bearssl library names
+# - `BEARSSL_FOUND`:         System has BearSSL.
+# - `BEARSSL_INCLUDE_DIRS`:  The BearSSL include directories.
+# - `BEARSSL_LIBRARIES`:     The BearSSL library names.
 
 if(DEFINED BEARSSL_INCLUDE_DIRS AND NOT DEFINED BEARSSL_INCLUDE_DIR)
   message(WARNING "BEARSSL_INCLUDE_DIRS is deprecated, use BEARSSL_INCLUDE_DIR instead.")
index 1150d4cc72ac1463f42aadfc940163ff445d89fa..767abf074fbc9050e81343dc7e4a78e3e3f4e7c4 100644 (file)
 #
 # Input variables:
 #
-# BROTLI_INCLUDE_DIR   The brotli include directory
-# BROTLICOMMON_LIBRARY Path to brotlicommon library
-# BROTLIDEC_LIBRARY    Path to brotlidec library
+# - `BROTLI_INCLUDE_DIR`:    The brotli include directory.
+# - `BROTLICOMMON_LIBRARY`:  Path to `brotlicommon` library.
+# - `BROTLIDEC_LIBRARY`:     Path to `brotlidec` library.
 #
 # Result variables:
 #
-# BROTLI_FOUND         System has brotli
-# BROTLI_INCLUDE_DIRS  The brotli include directories
-# BROTLI_LIBRARIES     The brotli library names
-# BROTLI_VERSION       Version of brotli
+# - `BROTLI_FOUND`:          System has brotli.
+# - `BROTLI_INCLUDE_DIRS`:   The brotli include directories.
+# - `BROTLI_LIBRARIES`:      The brotli library names.
+# - `BROTLI_VERSION`:        Version of brotli.
 
 if(CURL_USE_PKGCONFIG)
   find_package(PkgConfig QUIET)
index 71b369b32f961324cfdc8bd75dc1df789a2e9934..ac55be16ddde4807a88b0b79d231c34befc1fb91 100644 (file)
 #
 # Input variables:
 #
-# CARES_INCLUDE_DIR   The c-ares include directory
-# CARES_LIBRARY       Path to c-ares library
+# - `CARES_INCLUDE_DIR`:   The c-ares include directory.
+# - `CARES_LIBRARY`:       Path to `cares` library.
 #
 # Result variables:
 #
-# CARES_FOUND         System has c-ares
-# CARES_INCLUDE_DIRS  The c-ares include directories
-# CARES_LIBRARIES     The c-ares library names
-# CARES_VERSION       Version of c-ares
+# - `CARES_FOUND`:         System has c-ares.
+# - `CARES_INCLUDE_DIRS`:  The c-ares include directories.
+# - `CARES_LIBRARIES`:     The c-ares library names.
+# - `CARES_VERSION`:       Version of c-ares.
 
 if(CURL_USE_PKGCONFIG)
   find_package(PkgConfig QUIET)
index 84de32fd27db3d260e6bf2efa11460f9427adc98..2224f27ae2fc8ae8dd08dd3203f2e7eb1d05da2f 100644 (file)
 #
 # Input variables:
 #
-# GSS_ROOT_DIR      Set this variable to the root installation of GSS
+# - `GSS_ROOT_DIR`:      Set this variable to the root installation of GSS. (also supported as environment)
 #
 # Result variables:
 #
-# GSS_FOUND         System has the Heimdal library
-# GSS_FLAVOUR       "GNU", "MIT" or "Heimdal" if anything found
-# GSS_INCLUDE_DIRS  The GSS include directories
-# GSS_LIBRARIES     The GSS library names
-# GSS_LIBRARY_DIRS  The GSS library directories
-# GSS_LDFLAGS       Required linker flags
-# GSS_CFLAGS        Required compiler flags
-# GSS_VERSION       This is set to version advertised by pkg-config or read from manifest.
-#                   In case the library is found but no version info available it is set to "unknown"
+# - `GSS_FOUND`:         System has the Heimdal library.
+# - `GSS_FLAVOUR`:       "GNU", "MIT" or "Heimdal" if anything found.
+# - `GSS_INCLUDE_DIRS`:  The GSS include directories.
+# - `GSS_LIBRARIES`:     The GSS library names.
+# - `GSS_LIBRARY_DIRS`:  The GSS library directories.
+# - `GSS_LDFLAGS`:       Required linker flags.
+# - `GSS_CFLAGS`:        Required compiler flags.
+# - `GSS_VERSION`:       This is set to version advertised by pkg-config or read from manifest.
+#                        In case the library is found but no version info available it is set to "unknown"
 
 set(_gnu_modname "gss")
 set(_mit_modname "mit-krb5-gssapi")
index ed930ebb766213ba1ac46a0a2850b915b83dcb8b..f8f569d97c6f5dbeccac7933fb07e0017b65bffc 100644 (file)
 #
 # Input variables:
 #
-# LIBGSASL_INCLUDE_DIR   The libgsasl include directory
-# LIBGSASL_LIBRARY       Path to libgsasl library
+# - `LIBGSASL_INCLUDE_DIR`:   The libgsasl include directory.
+# - `LIBGSASL_LIBRARY`:       Path to `libgsasl` library.
 #
 # Result variables:
 #
-# LIBGSASL_FOUND         System has libgsasl
-# LIBGSASL_INCLUDE_DIRS  The libgsasl include directories
-# LIBGSASL_LIBRARIES     The libgsasl library names
-# LIBGSASL_LIBRARY_DIRS  The libgsasl library directories
-# LIBGSASL_CFLAGS        Required compiler flags
-# LIBGSASL_VERSION       Version of libgsasl
+# - `LIBGSASL_FOUND`:         System has libgsasl.
+# - `LIBGSASL_INCLUDE_DIRS`:  The libgsasl include directories.
+# - `LIBGSASL_LIBRARIES`:     The libgsasl library names.
+# - `LIBGSASL_LIBRARY_DIRS`:  The libgsasl library directories.
+# - `LIBGSASL_CFLAGS`:        Required compiler flags.
+# - `LIBGSASL_VERSION`:       Version of libgsasl.
 
 if(CURL_USE_PKGCONFIG AND
    NOT DEFINED LIBGSASL_INCLUDE_DIR AND
index 47d4a58623e37fd586f16c75128f4aa4d04a753b..2be5e008b2db424efe010164142d17b19c577c2d 100644 (file)
 #
 # Input variables:
 #
-# LIBIDN2_INCLUDE_DIR   The libidn2 include directory
-# LIBIDN2_LIBRARY       Path to libidn2 library
+# - `LIBIDN2_INCLUDE_DIR`:   The libidn2 include directory.
+# - `LIBIDN2_LIBRARY`:       Path to `libidn2` library.
 #
 # Result variables:
 #
-# LIBIDN2_FOUND         System has libidn2
-# LIBIDN2_INCLUDE_DIRS  The libidn2 include directories
-# LIBIDN2_LIBRARIES     The libidn2 library names
-# LIBIDN2_LIBRARY_DIRS  The libidn2 library directories
-# LIBIDN2_CFLAGS        Required compiler flags
-# LIBIDN2_VERSION       Version of libidn2
+# - `LIBIDN2_FOUND`:         System has libidn2.
+# - `LIBIDN2_INCLUDE_DIRS`:  The libidn2 include directories.
+# - `LIBIDN2_LIBRARIES`:     The libidn2 library names.
+# - `LIBIDN2_LIBRARY_DIRS`:  The libidn2 library directories.
+# - `LIBIDN2_CFLAGS`:        Required compiler flags.
+# - `LIBIDN2_VERSION`:       Version of libidn2.
 
 if(CURL_USE_PKGCONFIG AND
    NOT DEFINED LIBIDN2_INCLUDE_DIR AND
index b2cd64f0db02f9e8fa8e214b4bd27499f46320da..bb323f4b8cc505e5a2a499d1b112253fa3470534 100644 (file)
 #
 # Input variables:
 #
-# LIBPSL_INCLUDE_DIR   The libpsl include directory
-# LIBPSL_LIBRARY       Path to libpsl library
+# - `LIBPSL_INCLUDE_DIR`:   The libpsl include directory.
+# - `LIBPSL_LIBRARY`:       Path to `libpsl` library.
 #
 # Result variables:
 #
-# LIBPSL_FOUND         System has libpsl
-# LIBPSL_INCLUDE_DIRS  The libpsl include directories
-# LIBPSL_LIBRARIES     The libpsl library names
-# LIBPSL_VERSION       Version of libpsl
+# - `LIBPSL_FOUND`:         System has libpsl.
+# - `LIBPSL_INCLUDE_DIRS`:  The libpsl include directories.
+# - `LIBPSL_LIBRARIES`:     The libpsl library names.
+# - `LIBPSL_VERSION`:       Version of libpsl.
 
 if(CURL_USE_PKGCONFIG)
   find_package(PkgConfig QUIET)
index 7dc019be7564fc853fe114aabf89902960686f61..d60edd8ca6fba4880c48493e26374a80e2dd9c7f 100644 (file)
 #
 # Input variables:
 #
-# LIBSSH_INCLUDE_DIR   The libssh include directory
-# LIBSSH_LIBRARY       Path to libssh library
+# LIBSSH_INCLUDE_DIR   The libssh include directory.
+# LIBSSH_LIBRARY       Path to libssh library.
 #
 # Result variables:
 #
-# LIBSSH_FOUND         System has libssh
-# LIBSSH_INCLUDE_DIRS  The libssh include directories
-# LIBSSH_LIBRARIES     The libssh library names
-# LIBSSH_LIBRARY_DIRS  The libssh library directories
-# LIBSSH_CFLAGS        Required compiler flags
-# LIBSSH_VERSION       Version of libssh
+# LIBSSH_FOUND         System has libssh.
+# LIBSSH_INCLUDE_DIRS  The libssh include directories.
+# LIBSSH_LIBRARIES     The libssh library names.
+# LIBSSH_LIBRARY_DIRS  The libssh library directories.
+# LIBSSH_CFLAGS        Required compiler flags.
+# LIBSSH_VERSION       Version of libssh.
 
 if(CURL_USE_PKGCONFIG AND
    NOT DEFINED LIBSSH_INCLUDE_DIR AND
index 0007a8a7267af69aa56b00da3388273437fcc613..0785214ad9b0b0670b3faeb8495496fa0294728a 100644 (file)
 #
 # Input variables:
 #
-# LIBSSH2_INCLUDE_DIR   The libssh2 include directory
-# LIBSSH2_LIBRARY       Path to libssh2 library
+# - `LIBSSH2_INCLUDE_DIR`:   The libssh2 include directory.
+# - `LIBSSH2_LIBRARY`:       Path to `libssh2` library.
 #
 # Result variables:
 #
-# LIBSSH2_FOUND         System has libssh2
-# LIBSSH2_INCLUDE_DIRS  The libssh2 include directories
-# LIBSSH2_LIBRARIES     The libssh2 library names
-# LIBSSH2_VERSION       Version of libssh2
+# - `LIBSSH2_FOUND`:         System has libssh2.
+# - `LIBSSH2_INCLUDE_DIRS`:  The libssh2 include directories.
+# - `LIBSSH2_LIBRARIES`:     The libssh2 library names.
+# - `LIBSSH2_VERSION`:       Version of libssh2.
 
 if(CURL_USE_PKGCONFIG)
   find_package(PkgConfig QUIET)
index d4dfa2450332d8f9b1ee45bc24e344eab669fe28..ce2aa3715761f39431e106f639bf0678e50f70f1 100644 (file)
 #
 # Input variables:
 #
-# LIBUV_INCLUDE_DIR   The libuv include directory
-# LIBUV_LIBRARY       Path to libuv library
+# - `LIBUV_INCLUDE_DIR`:   The libuv include directory.
+# - `LIBUV_LIBRARY`:       Path to `libuv` library.
 #
 # Result variables:
 #
-# LIBUV_FOUND         System has libuv
-# LIBUV_INCLUDE_DIRS  The libuv include directories
-# LIBUV_LIBRARIES     The libuv library names
-# LIBUV_LIBRARY_DIRS  The libuv library directories
-# LIBUV_CFLAGS        Required compiler flags
-# LIBUV_VERSION       Version of libuv
+# - `LIBUV_FOUND`:         System has libuv.
+# - `LIBUV_INCLUDE_DIRS`:  The libuv include directories.
+# - `LIBUV_LIBRARIES`:     The libuv library names.
+# - `LIBUV_LIBRARY_DIRS`:  The libuv library directories.
+# - `LIBUV_CFLAGS`:        Required compiler flags.
+# - `LIBUV_VERSION`:       Version of libuv.
 
 if(CURL_USE_PKGCONFIG AND
    NOT DEFINED LIBUV_INCLUDE_DIR AND
index 27dda6245390277fdd4b2677fdb89727b54fa343..92e6c3ef07175979d2d7a5f6db9de4fec14949a9 100644 (file)
 #
 # Input variables:
 #
-# MSH3_INCLUDE_DIR   The msh3 include directory
-# MSH3_LIBRARY       Path to msh3 library
+# - `MSH3_INCLUDE_DIR`:   The msh3 include directory.
+# - `MSH3_LIBRARY`:       Path to `msh3` library.
 #
 # Result variables:
 #
-# MSH3_FOUND         System has msh3
-# MSH3_INCLUDE_DIRS  The msh3 include directories
-# MSH3_LIBRARIES     The msh3 library names
-# MSH3_LIBRARY_DIRS  The msh3 library directories
-# MSH3_CFLAGS        Required compiler flags
-# MSH3_VERSION       Version of msh3
+# - `MSH3_FOUND`:         System has msh3.
+# - `MSH3_INCLUDE_DIRS`:  The msh3 include directories.
+# - `MSH3_LIBRARIES`:     The msh3 library names.
+# - `MSH3_LIBRARY_DIRS`:  The msh3 library directories.
+# - `MSH3_CFLAGS`:        Required compiler flags.
+# - `MSH3_VERSION`:       Version of msh3.
 
 if(CURL_USE_PKGCONFIG AND
    NOT DEFINED MSH3_INCLUDE_DIR AND
index 91ce4e9be0d91892208fecd91860d658b0b32656..49334e4564cc040221bb8f19223f00955ec29367 100644 (file)
 # SPDX-License-Identifier: curl
 #
 ###########################################################################
-# Find the mbedtls library
+# Find the mbedTLS library
 #
 # Input variables:
 #
-# MBEDTLS_INCLUDE_DIR   The mbedtls include directory
-# MBEDTLS_INCLUDE_DIRS  The mbedtls include directory (deprecated)
-# MBEDTLS_LIBRARY       Path to mbedtls library
-# MBEDX509_LIBRARY      Path to mbedx509 library
-# MBEDCRYPTO_LIBRARY    Path to mbedcrypto library
+# - `MBEDTLS_INCLUDE_DIR`:   The mbedTLS include directory.
+# - `MBEDTLS_LIBRARY`:       Path to `mbedtls` library.
+# - `MBEDX509_LIBRARY`:      Path to `mbedx509` library.
+# - `MBEDCRYPTO_LIBRARY`:    Path to `mbedcrypto` library.
 #
 # Result variables:
 #
-# MBEDTLS_FOUND         System has mbedtls
-# MBEDTLS_INCLUDE_DIRS  The mbedtls include directories
-# MBEDTLS_LIBRARIES     The mbedtls library names
-# MBEDTLS_LIBRARY_DIRS  The mbedtls library directories
-# MBEDTLS_CFLAGS        Required compiler flags
-# MBEDTLS_VERSION       Version of mbedtls
+# - `MBEDTLS_FOUND`:         System has mbedTLS.
+# - `MBEDTLS_INCLUDE_DIRS`:  The mbedTLS include directories.
+# - `MBEDTLS_LIBRARIES`:     The mbedTLS library names.
+# - `MBEDTLS_LIBRARY_DIRS`:  The mbedTLS library directories.
+# - `MBEDTLS_CFLAGS`:        Required compiler flags.
+# - `MBEDTLS_VERSION`:       Version of mbedTLS.
 
 if(DEFINED MBEDTLS_INCLUDE_DIRS AND NOT DEFINED MBEDTLS_INCLUDE_DIR)
   message(WARNING "MBEDTLS_INCLUDE_DIRS is deprecated, use MBEDTLS_INCLUDE_DIR instead.")
index e632d2054b08544e15a7ae3ecd632a44a54090bc..a0aacbf27be17572d3d00ca4af32eab79b1b4a8c 100644 (file)
 #
 # Input variables:
 #
-# NGHTTP2_INCLUDE_DIR   The nghttp2 include directory
-# NGHTTP2_LIBRARY       Path to nghttp2 library
+# - `NGHTTP2_INCLUDE_DIR`:   The nghttp2 include directory.
+# - `NGHTTP2_LIBRARY`:       Path to `nghttp2` library.
 #
 # Result variables:
 #
-# NGHTTP2_FOUND         System has nghttp2
-# NGHTTP2_INCLUDE_DIRS  The nghttp2 include directories
-# NGHTTP2_LIBRARIES     The nghttp2 library names
-# NGHTTP2_VERSION       Version of nghttp2
+# - `NGHTTP2_FOUND`:         System has nghttp2.
+# - `NGHTTP2_INCLUDE_DIRS`:  The nghttp2 include directories.
+# - `NGHTTP2_LIBRARIES`:     The nghttp2 library names.
+# - `NGHTTP2_VERSION`:       Version of nghttp2.
 
 if(CURL_USE_PKGCONFIG)
   find_package(PkgConfig QUIET)
index 02a0c87d072563513c506d19c1f774b5725eb8db..1adbd6047b8a61c71647da8966880e1e49b2f8a9 100644 (file)
 #
 # Input variables:
 #
-# NGHTTP3_INCLUDE_DIR   The nghttp3 include directory
-# NGHTTP3_LIBRARY       Path to nghttp3 library
+# - `NGHTTP3_INCLUDE_DIR`:   The nghttp3 include directory.
+# - `NGHTTP3_LIBRARY`:       Path to `nghttp3` library.
 #
 # Result variables:
 #
-# NGHTTP3_FOUND         System has nghttp3
-# NGHTTP3_INCLUDE_DIRS  The nghttp3 include directories
-# NGHTTP3_LIBRARIES     The nghttp3 library names
-# NGHTTP3_VERSION       Version of nghttp3
+# - `NGHTTP3_FOUND`:         System has nghttp3.
+# - `NGHTTP3_INCLUDE_DIRS`:  The nghttp3 include directories.
+# - `NGHTTP3_LIBRARIES`:     The nghttp3 library names.
+# - `NGHTTP3_VERSION`:       Version of nghttp3.
 
 if(CURL_USE_PKGCONFIG)
   find_package(PkgConfig QUIET)
index c6d66bfb789c534ee8359b3d96eaaeda39e543c6..99b022dc41ece6baa1fef57d530c169a5451367d 100644 (file)
 # This module accepts optional COMPONENTS to control the crypto library (these are
 # mutually exclusive):
 #
-# quictls:    Use libngtcp2_crypto_quictls   (choose this for LibreSSL)
-# BoringSSL:  Use libngtcp2_crypto_boringssl (choose this for AWS-LC)
-# wolfSSL:    Use libngtcp2_crypto_wolfssl
-# GnuTLS:     Use libngtcp2_crypto_gnutls
+# - quictls:    Use `libngtcp2_crypto_quictls`.   (choose this for LibreSSL)
+# - BoringSSL:  Use `libngtcp2_crypto_boringssl`. (choose this for AWS-LC)
+# - wolfSSL:    Use `libngtcp2_crypto_wolfssl`.
+# - GnuTLS:     Use `libngtcp2_crypto_gnutls`.
 #
 # Input variables:
 #
-# NGTCP2_INCLUDE_DIR   The ngtcp2 include directory
-# NGTCP2_LIBRARY       Path to ngtcp2 library
+# - `NGTCP2_INCLUDE_DIR`:   The ngtcp2 include directory.
+# - `NGTCP2_LIBRARY`:       Path to `ngtcp2` library.
 #
 # Result variables:
 #
-# NGTCP2_FOUND         System has ngtcp2
-# NGTCP2_INCLUDE_DIRS  The ngtcp2 include directories
-# NGTCP2_LIBRARIES     The ngtcp2 library names
-# NGTCP2_VERSION       Version of ngtcp2
+# - `NGTCP2_FOUND`:         System has ngtcp2.
+# - `NGTCP2_INCLUDE_DIRS`:  The ngtcp2 include directories.
+# - `NGTCP2_LIBRARIES`:     The ngtcp2 library names.
+# - `NGTCP2_VERSION`:       Version of ngtcp2.
 
 if(CURL_USE_PKGCONFIG)
   find_package(PkgConfig QUIET)
index b5da05bf79a7fcb59427b42d21d0e10c3facf56c..dffa9d55baa63df863a7df3067f70971639d8e2c 100644 (file)
 #
 # Input variables:
 #
-# NETTLE_INCLUDE_DIR   The nettle include directory
-# NETTLE_LIBRARY       Path to nettle library
+# - `NETTLE_INCLUDE_DIR`:   The nettle include directory.
+# - `NETTLE_LIBRARY`:       Path to `nettle` library.
 #
 # Result variables:
 #
-# NETTLE_FOUND         System has nettle
-# NETTLE_INCLUDE_DIRS  The nettle include directories
-# NETTLE_LIBRARIES     The nettle library names
-# NETTLE_LIBRARY_DIRS  The nettle library directories
-# NETTLE_CFLAGS        Required compiler flags
-# NETTLE_VERSION       Version of nettle
+# - `NETTLE_FOUND`:         System has nettle.
+# - `NETTLE_INCLUDE_DIRS`:  The nettle include directories.
+# - `NETTLE_LIBRARIES`:     The nettle library names.
+# - `NETTLE_LIBRARY_DIRS`:  The nettle library directories.
+# - `NETTLE_CFLAGS`:        Required compiler flags.
+# - `NETTLE_VERSION`:       Version of nettle.
 
 if(CURL_USE_PKGCONFIG AND
    NOT DEFINED NETTLE_INCLUDE_DIR AND
index 66bb1531eabfcf3a6e2434c42407ab1956bf925d..6db5cb0c1c073134915e208d6e8a2f4054ab7b6f 100644 (file)
 #
 # Input variables:
 #
-# QUICHE_INCLUDE_DIR   The quiche include directory
-# QUICHE_LIBRARY       Path to quiche library
+# - `QUICHE_INCLUDE_DIR`:   The quiche include directory.
+# - `QUICHE_LIBRARY`:       Path to `quiche` library.
 #
 # Result variables:
 #
-# QUICHE_FOUND         System has quiche
-# QUICHE_INCLUDE_DIRS  The quiche include directories
-# QUICHE_LIBRARIES     The quiche library names
-# QUICHE_LIBRARY_DIRS  The quiche library directories
-# QUICHE_CFLAGS        Required compiler flags
-# QUICHE_VERSION       Version of quiche
+# - `QUICHE_FOUND`:         System has quiche.
+# - `QUICHE_INCLUDE_DIRS`:  The quiche include directories.
+# - `QUICHE_LIBRARIES`:     The quiche library names.
+# - `QUICHE_LIBRARY_DIRS`:  The quiche library directories.
+# - `QUICHE_CFLAGS`:        Required compiler flags.
+# - `QUICHE_VERSION`:       Version of quiche.
 
 if(CURL_USE_PKGCONFIG AND
    NOT DEFINED QUICHE_INCLUDE_DIR AND
index 282ccdaa32d659f07f36bb33f4cfb70d233c4b16..0e065b0022428393821e7b79f57854559866c4a4 100644 (file)
 # SPDX-License-Identifier: curl
 #
 ###########################################################################
-# Find the rustls library
+# Find the Rustls library
 #
 # Input variables:
 #
-# RUSTLS_INCLUDE_DIR   The rustls include directory
-# RUSTLS_LIBRARY       Path to rustls library
+# - `RUSTLS_INCLUDE_DIR`:   The Rustls include directory.
+# - `RUSTLS_LIBRARY`:       Path to `rustls` library.
 #
 # Result variables:
 #
-# RUSTLS_FOUND         System has rustls
-# RUSTLS_INCLUDE_DIRS  The rustls include directories
-# RUSTLS_LIBRARIES     The rustls library names
-# RUSTLS_LIBRARY_DIRS  The rustls library directories
-# RUSTLS_CFLAGS        Required compiler flags
-# RUSTLS_VERSION       Version of rustls
+# - `RUSTLS_FOUND`:         System has Rustls.
+# - `RUSTLS_INCLUDE_DIRS`:  The Rustls include directories.
+# - `RUSTLS_LIBRARIES`:     The Rustls library names.
+# - `RUSTLS_LIBRARY_DIRS`:  The Rustls library directories.
+# - `RUSTLS_CFLAGS`:        Required compiler flags.
+# - `RUSTLS_VERSION`:       Version of Rustls.
 
 if(CURL_USE_PKGCONFIG AND
    NOT DEFINED RUSTLS_INCLUDE_DIR AND
index 608e3abfc5cacb9facbc6c3422621d447123d177..dc283a217e848eda608e8a6c519909a9ac45e983 100644 (file)
 # SPDX-License-Identifier: curl
 #
 ###########################################################################
-# Find the wolfssh library
+# Find the wolfSSH library
 #
 # Input variables:
 #
-# WOLFSSH_INCLUDE_DIR   The wolfssh include directory
-# WOLFSSH_LIBRARY       Path to wolfssh library
+# - `WOLFSSH_INCLUDE_DIR`:   The wolfSSH include directory.
+# - `WOLFSSH_LIBRARY`:       Path to `wolfssh` library.
 #
 # Result variables:
 #
-# WOLFSSH_FOUND         System has wolfssh
-# WOLFSSH_INCLUDE_DIRS  The wolfssh include directories
-# WOLFSSH_LIBRARIES     The wolfssh library names
-# WOLFSSH_VERSION       Version of wolfssh
+# - `WOLFSSH_FOUND`:         System has wolfSSH.
+# - `WOLFSSH_INCLUDE_DIRS`:  The wolfSSH include directories.
+# - `WOLFSSH_LIBRARIES`:     The wolfSSH library names.
+# - `WOLFSSH_VERSION`:       Version of wolfSSH.
 
 find_path(WOLFSSH_INCLUDE_DIR NAMES "wolfssh/ssh.h")
 find_library(WOLFSSH_LIBRARY NAMES "wolfssh" "libwolfssh")
index b1c11e9e50267411ae77d0d0ff5a0dd56f42161b..fc220ac1fe266fca9359c21c94f25b93da1d9e33 100644 (file)
 # SPDX-License-Identifier: curl
 #
 ###########################################################################
-# Find the wolfssl library
+# Find the wolfSSL library
 #
 # Input variables:
 #
-# WOLFSSL_INCLUDE_DIR   The wolfssl include directory
-# WolfSSL_INCLUDE_DIR   The wolfssl include directory (deprecated)
-# WOLFSSL_LIBRARY       Path to wolfssl library
-# WolfSSL_LIBRARY       Path to wolfssl library (deprecated)
+# - `WOLFSSL_INCLUDE_DIR`:   The wolfSSL include directory.
+# - `WOLFSSL_LIBRARY`:       Path to `wolfssl` library.
 #
 # Result variables:
 #
-# WOLFSSL_FOUND         System has wolfssl
-# WOLFSSL_INCLUDE_DIRS  The wolfssl include directories
-# WOLFSSL_LIBRARIES     The wolfssl library names
-# WOLFSSL_LIBRARY_DIRS  The wolfssl library directories
-# WOLFSSL_CFLAGS        Required compiler flags
-# WOLFSSL_VERSION       Version of wolfssl
+# - `WOLFSSL_FOUND`:         System has wolfSSL.
+# - `WOLFSSL_INCLUDE_DIRS`:  The wolfSSL include directories.
+# - `WOLFSSL_LIBRARIES`:     The wolfSSL library names.
+# - `WOLFSSL_LIBRARY_DIRS`:  The wolfSSL library directories.
+# - `WOLFSSL_CFLAGS`:        Required compiler flags.
+# - `WOLFSSL_VERSION`:       Version of wolfSSL.
 
 if(DEFINED WolfSSL_INCLUDE_DIR AND NOT DEFINED WOLFSSL_INCLUDE_DIR)
   message(WARNING "WolfSSL_INCLUDE_DIR is deprecated, use WOLFSSL_INCLUDE_DIR instead.")
index 10558ccc49ee34983b6b42c27a62ec0e577d607b..7b0f5575ff2c0999879aea9785cb9be65a8ebe94 100644 (file)
 #
 # Input variables:
 #
-# ZSTD_INCLUDE_DIR   The zstd include directory
-# Zstd_INCLUDE_DIR   The zstd include directory (deprecated)
-# ZSTD_LIBRARY       Path to zstd library
-# Zstd_LIBRARY       Path to zstd library (deprecated)
+# - `ZSTD_INCLUDE_DIR`:   The zstd include directory.
+# - `ZSTD_LIBRARY`:       Path to `zstd` library.
 #
 # Result variables:
 #
-# ZSTD_FOUND         System has zstd
-# ZSTD_INCLUDE_DIRS  The zstd include directories
-# ZSTD_LIBRARIES     The zstd library names
-# ZSTD_VERSION       Version of zstd
+# - `ZSTD_FOUND`:         System has zstd.
+# - `ZSTD_INCLUDE_DIRS`:  The zstd include directories.
+# - `ZSTD_LIBRARIES`:     The zstd library names.
+# - `ZSTD_VERSION`:       Version of zstd.
 
 if(DEFINED Zstd_INCLUDE_DIR AND NOT DEFINED ZSTD_INCLUDE_DIR)
   message(WARNING "Zstd_INCLUDE_DIR is deprecated, use ZSTD_INCLUDE_DIR instead.")
index 8540a2ef969a2e80a5589e7e46dc84fe7b026951..784c1dc7c208a023d892466a74ae608e925bc103 100644 (file)
@@ -291,7 +291,7 @@ option(CURL_DISABLE_KERBEROS_AUTH "Disable Kerberos authentication" OFF)
 mark_as_advanced(CURL_DISABLE_KERBEROS_AUTH)
 option(CURL_DISABLE_NEGOTIATE_AUTH "Disable negotiate authentication" OFF)
 mark_as_advanced(CURL_DISABLE_NEGOTIATE_AUTH)
-option(CURL_DISABLE_AWS "Disable AWS-SIG4" OFF)
+option(CURL_DISABLE_AWS "Disable aws-sigv4" OFF)
 mark_as_advanced(CURL_DISABLE_AWS)
 option(CURL_DISABLE_DICT "Disable DICT" OFF)
 mark_as_advanced(CURL_DISABLE_DICT)
@@ -357,7 +357,7 @@ option(CURL_DISABLE_SMTP "Disable SMTP" OFF)
 mark_as_advanced(CURL_DISABLE_SMTP)
 option(CURL_DISABLE_SOCKETPAIR "Disable use of socketpair for curl_multi_poll" OFF)
 mark_as_advanced(CURL_DISABLE_SOCKETPAIR)
-option(CURL_DISABLE_WEBSOCKETS "Disable WebSockets" OFF)
+option(CURL_DISABLE_WEBSOCKETS "Disable WebSocket" OFF)
 mark_as_advanced(CURL_DISABLE_WEBSOCKETS)
 option(CURL_DISABLE_TELNET "Disable Telnet" OFF)
 mark_as_advanced(CURL_DISABLE_TELNET)
@@ -1325,7 +1325,7 @@ if(_curl_ca_bundle_supported)
   set(CURL_CA_BUNDLE "auto" CACHE
     STRING "Path to the CA bundle. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
   set(CURL_CA_FALLBACK OFF CACHE BOOL
-    "Set ON to use built-in CA store of TLS backend. Defaults to OFF")
+    "Use built-in CA store of TLS backend. Defaults to OFF")
   set(CURL_CA_PATH "auto" CACHE
     STRING "Location of default CA path. Set 'none' to disable or 'auto' for auto-detection. Defaults to 'auto'.")
   set(CURL_CA_EMBED "" CACHE
index 112b251cd5e84104112da9a8bc37aa90e6c97c4a..63de4026a6d21daa363bfe286231b8de2f58ed67 100644 (file)
@@ -40,7 +40,7 @@ Disable support for the negotiate authentication methods.
 
 ## `CURL_DISABLE_AWS`
 
-Disable **AWS-SIG4** support.
+Disable **aws-sigv4** support.
 
 ## `CURL_DISABLE_CA_SEARCH`
 
index 702a9e5853a496b3021e42f517c86c5e26b9d63b..52db20d5a137ff67175c1f374fd42fcf8eb805f7 100644 (file)
@@ -138,3 +138,226 @@ assumes that CMake generates `Makefile`:
 
     $ cd ../curl-build
     $ make install
+
+# CMake build options
+
+- `BUILD_CURL_EXE`:                         Build curl executable. Default: `ON`
+- `BUILD_EXAMPLES`:                         Build libcurl examples. Default: `ON`
+- `BUILD_LIBCURL_DOCS`:                     Build libcurl man pages. Default: `ON`
+- `BUILD_MISC_DOCS`:                        Build misc man pages (e.g. `curl-config` and `mk-ca-bundle`). Default: `ON`
+- `BUILD_SHARED_LIBS`:                      Build shared libraries. Default: `ON`
+- `BUILD_STATIC_CURL`:                      Build curl executable with static libcurl. Default: `OFF`
+- `BUILD_STATIC_LIBS`:                      Build static libraries. Default: `OFF`
+- `BUILD_TESTING`:                          Build tests. Default: `ON`
+- `CURL_DEFAULT_SSL_BACKEND`:               Override default TLS backend in MultiSSL builds.
+                                            Accepted values in order of default priority:
+                                            `wolfssl`, `gnutls`, `mbedtls`, `openssl`, `secure-transport`, `schannel`, `bearssl`, `rustls`
+- `CURL_ENABLE_EXPORT_TARGET`:              Enable CMake export target. Default: `ON`
+- `CURL_HIDDEN_SYMBOLS`:                    Hide libcurl internal symbols (=hide all symbols that are not officially external). Default: `ON`
+- `CURL_LIBCURL_SOVERSION`:                 Enable libcurl SOVERSION. Default: `ON` for supported platforms
+- `CURL_LIBCURL_VERSIONED_SYMBOLS`:         Enable libcurl versioned symbols. Default: `OFF`
+- `CURL_LIBCURL_VERSIONED_SYMBOLS_PREFIX`:  Override default versioned symbol prefix. Default: `<TLS-BACKEND>_` or `MULTISSL_`
+- `CURL_LTO`:                               Enable compiler Link Time Optimizations. Default: `OFF`
+- `CURL_STATIC_CRT`:                        Build libcurl with static CRT with MSVC (`/MT`). Default: `OFF`
+- `CURL_TARGET_WINDOWS_VERSION`:            Minimum target Windows version as hex string.
+- `CURL_TEST_BUNDLES`:                      Bundle `libtest` and `unittest` tests into single binaries. Default: `OFF`
+- `CURL_WERROR`:                            Turn compiler warnings into errors. Default: `OFF`
+- `ENABLE_CURLDEBUG`:                       Enable TrackMemory feature: Default: =`ENABLE_DEBUG`
+- `ENABLE_CURL_MANUAL`:                     Build the man page for curl and enable its `-M`/`--manual` option. Default: `ON`
+- `ENABLE_DEBUG`:                           Enable curl debug features. Default: `OFF`
+- `IMPORT_LIB_SUFFIX`:                      Import library suffix. Default: `_imp`
+- `LIBCURL_OUTPUT_NAME`:                    Basename of the curl library. Default: `libcurl`
+- `PICKY_COMPILER`:                         Enable picky compiler options. Default: `ON`
+- `STATIC_LIB_SUFFIX`:                      Static library suffix. Default: (empty)
+
+## CA bundle options
+
+- `CURL_CA_BUNDLE`:                         Path to the CA bundle. Set `none` to disable or `auto` for auto-detection. Default: `auto`
+- `CURL_CA_EMBED`:                          Path to the CA bundle to embed in the curl tool. Default: (disabled)
+- `CURL_CA_FALLBACK`:                       Use built-in CA store of TLS backend. Default: `OFF`
+- `CURL_CA_PATH`:                           Location of default CA path. Set `none` to disable or `auto` for auto-detection. Default: `auto`
+- `CURL_CA_SEARCH_SAFE`:                    Enable safe CA bundle search (within the curl tool directory) on Windows. Default: `OFF`
+
+## Enabling features
+
+- `CURL_ENABLE_SSL`:                        Enable SSL support. Default: `ON`
+- `CURL_WINDOWS_SSPI`:                      Enable SSPI on Windows. Default: =`CURL_USE_SCHANNEL`
+- `ENABLE_IPV6`:                            Enable IPv6 support. Default: `ON`
+- `ENABLE_THREADED_RESOLVER`:               Enable threaded DNS lookup. Default: `ON` if c-ares is not enabled
+- `ENABLE_UNICODE`:                         Use the Unicode version of the Windows API functions. Default: `OFF`
+- `ENABLE_UNIX_SOCKETS`:                    Enable Unix domain sockets support. Default: `ON`
+- `USE_ECH`:                                Enable ECH support. Default: `OFF`
+- `USE_HTTPSRR`:                            Enable HTTPS RR support for ECH (experimental). Default: `OFF`
+- `USE_OPENSSL_QUIC`:                       Use OpenSSL and nghttp3 libraries for HTTP/3 support. Default: `OFF`
+
+## Disabling features
+
+- `CURL_DISABLE_ALTSVC`:                    Disable alt-svc support. Default: `OFF`
+- `CURL_DISABLE_AWS`:                       Disable **aws-sigv4**. Default: `OFF`
+- `CURL_DISABLE_BASIC_AUTH`:                Disable Basic authentication. Default: `OFF`
+- `CURL_DISABLE_BEARER_AUTH`:               Disable Bearer authentication. Default: `OFF`
+- `CURL_DISABLE_BINDLOCAL`:                 Disable local binding support. Default: `OFF`
+- `CURL_DISABLE_CA_SEARCH`:                 Disable unsafe CA bundle search in PATH on Windows. Default: `OFF`
+- `CURL_DISABLE_COOKIES`:                   Disable cookies support. Default: `OFF`
+- `CURL_DISABLE_DICT`:                      Disable DICT. Default: `OFF`
+- `CURL_DISABLE_DIGEST_AUTH`:               Disable Digest authentication. Default: `OFF`
+- `CURL_DISABLE_DOH`:                       Disable DNS-over-HTTPS. Default: `OFF`
+- `CURL_DISABLE_FILE`:                      Disable FILE. Default: `OFF`
+- `CURL_DISABLE_FORM_API`:                  Disable **form-api**: Default: =`CURL_DISABLE_MIME`
+- `CURL_DISABLE_FTP`:                       Disable FTP. Default: `OFF`
+- `CURL_DISABLE_GETOPTIONS`:                Disable `curl_easy_options` API for existing options to `curl_easy_setopt`. Default: `OFF`
+- `CURL_DISABLE_GOPHER`:                    Disable Gopher. Default: `OFF`
+- `CURL_DISABLE_HEADERS_API`:               Disable **headers-api** support. Default: `OFF`
+- `CURL_DISABLE_HSTS`:                      Disable HSTS support. Default: `OFF`
+- `CURL_DISABLE_HTTP`:                      Disable HTTP. Default: `OFF`
+- `CURL_DISABLE_HTTP_AUTH`:                 Disable all HTTP authentication methods. Default: `OFF`
+- `CURL_DISABLE_IMAP`:                      Disable IMAP. Default: `OFF`
+- `CURL_DISABLE_INSTALL`:                   Disable installation targets. Default: `OFF`
+- `CURL_DISABLE_IPFS`:                      Disable IPFS. Default: `OFF`
+- `CURL_DISABLE_KERBEROS_AUTH`:             Disable Kerberos authentication. Default: `OFF`
+- `CURL_DISABLE_LDAP`:                      Disable LDAP. Default: `OFF`
+- `CURL_DISABLE_LDAPS`:                     Disable LDAPS. Default: =`CURL_DISABLE_LDAP`
+- `CURL_DISABLE_LIBCURL_OPTION`:            Disable `--libcurl` option from the curl tool. Default: `OFF`
+- `CURL_DISABLE_MIME`:                      Disable MIME support. Default: `OFF`
+- `CURL_DISABLE_MQTT`:                      Disable MQTT. Default: `OFF`
+- `CURL_DISABLE_NEGOTIATE_AUTH`:            Disable negotiate authentication. Default: `OFF`
+- `CURL_DISABLE_NETRC`:                     Disable netrc parser. Default: `OFF`
+- `CURL_DISABLE_NTLM`:                      Disable NTLM support. Default: `OFF`
+- `CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG`:  Disable automatic loading of OpenSSL configuration. Default: `OFF`
+- `CURL_DISABLE_PARSEDATE`:                 Disable date parsing. Default: `OFF`
+- `CURL_DISABLE_POP3`:                      Disable POP3. Default: `OFF`
+- `CURL_DISABLE_PROGRESS_METER`:            Disable built-in progress meter. Default: `OFF`
+- `CURL_DISABLE_PROXY`:                     Disable proxy support. Default: `OFF`
+- `CURL_DISABLE_RTSP`:                      Disable RTSP. Default: `OFF`
+- `CURL_DISABLE_SHA512_256`:                Disable SHA-512/256 hash algorithm. Default: `OFF`
+- `CURL_DISABLE_SHUFFLE_DNS`:               Disable shuffle DNS feature. Default: `OFF`
+- `CURL_DISABLE_SMB`:                       Disable SMB. Default: `OFF`
+- `CURL_DISABLE_SMTP`:                      Disable SMTP. Default: `OFF`
+- `CURL_DISABLE_SOCKETPAIR`:                Disable use of socketpair for curl_multi_poll. Default: `OFF`
+- `CURL_DISABLE_SRP`:                       Disable TLS-SRP support. Default: `OFF`
+- `CURL_DISABLE_TELNET`:                    Disable Telnet. Default: `OFF`
+- `CURL_DISABLE_TFTP`:                      Disable TFTP. Default: `OFF`
+- `CURL_DISABLE_VERBOSE_STRINGS`:           Disable verbose strings. Default: `OFF`
+- `CURL_DISABLE_WEBSOCKETS`:                Disable WebSocket. Default: `OFF`
+- `HTTP_ONLY`:                              Disable all protocols except HTTP (This overrides all `CURL_DISABLE_*` options). Default: `OFF`
+
+## Environment
+
+- `CI`:                                     Assume running under CI if set.
+- `CURL_BUILDINFO`:                         Print `buildinfo.txt` if set.
+- `CURL_CI`:                                Assume running under CI if set.
+
+## CMake options
+
+- `CMAKE_DEBUG_POSTFIX`:                    Default: `-d`
+- `CMAKE_IMPORT_LIBRARY_SUFFIX`             (see CMake)
+- `CMAKE_INSTALL_BINDIR`                    (see CMake)
+- `CMAKE_INSTALL_INCLUDEDIR`                (see CMake)
+- `CMAKE_INSTALL_LIBDIR`                    (see CMake)
+- `CMAKE_INSTALL_PREFIX`                    (see CMake)
+- `CMAKE_STATIC_LIBRARY_SUFFIX`             (see CMake)
+- `CMAKE_UNITY_BUILD_BATCH_SIZE`:           Set the number of sources in a "unity" unit. Default: `0` (all)
+- `CMAKE_UNITY_BUILD`:                      Enable "unity" (aka jumbo) builds. Default: `OFF`
+
+Details via CMake
+[variables](https://cmake.org/cmake/help/latest/manual/cmake-variables.7.html) and
+[install directories](https://cmake.org/cmake/help/latest/module/GNUInstallDirs.html).
+
+## Dependencies
+
+- `CURL_BROTLI`:                            Use brotli. Default: `OFF`
+- `CURL_USE_BEARSSL`:                       Enable BearSSL for SSL/TLS. Default: `OFF`
+- `CURL_USE_GNUTLS`:                        Enable GnuTLS for SSL/TLS. Default: `OFF`
+- `CURL_USE_GSASL`:                         Use libgsasl. Default: `OFF`
+- `CURL_USE_GSSAPI`:                        Use GSSAPI implementation. Default: `OFF`
+- `CURL_USE_LIBPSL`:                        Use libpsl. Default: `ON`
+- `CURL_USE_LIBSSH2`:                       Use libssh2. Default: `ON`
+- `CURL_USE_LIBSSH`:                        Use libssh. Default: `OFF`
+- `CURL_USE_LIBUV`:                         Use libuv for event-based tests. Default: `OFF`
+- `CURL_USE_MBEDTLS`:                       Enable mbedTLS for SSL/TLS. Default: `OFF`
+- `CURL_USE_OPENSSL`:                       Enable OpenSSL for SSL/TLS. Default: `ON` if not other TLS backend was enabled
+- `CURL_USE_PKGCONFIG`:                     Enable `pkg-config` to detect dependencies. Default: `ON` for Unix, vcpkg, MinGW if not cross-compiling
+- `CURL_USE_RUSTLS`:                        Enable Rustls for SSL/TLS. Default: `OFF`
+- `CURL_USE_SCHANNEL`:                      Enable Windows native SSL/TLS (Schannel). Default: `OFF`
+- `CURL_USE_SECTRANSP`:                     Enable Apple OS native SSL/TLS (Secure Transport). Default: `OFF`
+- `CURL_USE_WOLFSSH`:                       Use wolfSSH. Default: `OFF`
+- `CURL_USE_WOLFSSL`:                       Enable wolfSSL for SSL/TLS. Default: `OFF`
+- `CURL_ZLIB`:                              Use zlib (`ON`, `OFF` or `AUTO`). Default: `AUTO`
+- `CURL_ZSTD`:                              Use zstd. Default: `OFF`
+- `ENABLE_ARES`:                            Enable c-ares support. Default: `OFF`
+- `USE_APPLE_IDN`:                          Use Apple built-in IDN support. Default: `OFF`
+- `USE_LIBIDN2`:                            Use libidn2 for IDN support. Default: `ON`
+- `USE_LIBRTMP`:                            Enable librtmp from rtmpdump. Default: `OFF`
+- `USE_MSH3`:                               Use msh3/msquic library for HTTP/3 support. Default: `OFF`
+- `USE_NGHTTP2`:                            Use nghttp2 library. Default: `ON`
+- `USE_NGTCP2`:                             Use ngtcp2 and nghttp3 libraries for HTTP/3 support. Default: `OFF`
+- `USE_QUICHE`:                             Use quiche library for HTTP/3 support. Default: `OFF`
+- `USE_WIN32_IDN`:                          Use WinIDN for IDN support. Default: `OFF`
+- `USE_WIN32_LDAP`:                         Use Windows LDAP implementation. Default: `ON`
+
+## Dependency options (via CMake)
+
+- `OPENSSL_ROOT_DIR`:                       Set this variable to the root installation of OpenSSL (and forks).
+- `ZLIB_INCLUDE_DIR`:                       The zlib include directory.
+- `ZLIB_LIBRARY`:                           Path to `zlib` library.
+
+## Dependency options
+
+- `PERL_EXECUTABLE`                         Perl binary used throughout the build and tests.
+- `BEARSSL_INCLUDE_DIR`:                    The BearSSL include directory.
+- `BEARSSL_LIBRARY`:                        Path to `bearssl` library.
+- `BROTLI_INCLUDE_DIR`:                     The brotli include directory.
+- `BROTLICOMMON_LIBRARY`:                   Path to `brotlicommon` library.
+- `BROTLIDEC_LIBRARY`:                      Path to `brotlidec` library.
+- `CARES_INCLUDE_DIR`:                      The c-ares include directory.
+- `CARES_LIBRARY`:                          Path to `cares` library.
+- `GSS_ROOT_DIR`:                           Set this variable to the root installation of GSS. (also supported as environment)
+- `LDAP_LIBRARY`:                           Name or full path to `ldap` library. Default: `ldap`
+- `LDAP_LBER_LIBRARY`:                      Name or full path to `lber` library. Default: `lber`
+- `LDAP_INCLUDE_DIR`:                       Path to LDAP include directory.
+- `LIBGSASL_INCLUDE_DIR`:                   The libgsasl include directory.
+- `LIBGSASL_LIBRARY`:                       Path to `libgsasl` library.
+- `LIBIDN2_INCLUDE_DIR`:                    The libidn2 include directory.
+- `LIBIDN2_LIBRARY`:                        Path to `libidn2` library.
+- `LIBPSL_INCLUDE_DIR`:                     The libpsl include directory.
+- `LIBPSL_LIBRARY`:                         Path to `libpsl` library.
+- `LIBSSH_INCLUDE_DIR`:                     The libssh include directory.
+- `LIBSSH_LIBRARY`:                         Path to `libssh` library.
+- `LIBSSH2_INCLUDE_DIR`:                    The libssh2 include directory.
+- `LIBSSH2_LIBRARY`:                        Path to `libssh2` library.
+- `LIBUV_INCLUDE_DIR`:                      The libuv include directory.
+- `LIBUV_LIBRARY`:                          Path to `libuv` library.
+- `MSH3_INCLUDE_DIR`:                       The msh3 include directory.
+- `MSH3_LIBRARY`:                           Path to `msh3` library.
+- `MBEDTLS_INCLUDE_DIR`:                    The mbedTLS include directory.
+- `MBEDTLS_LIBRARY`:                        Path to `mbedtls` library.
+- `MBEDX509_LIBRARY`:                       Path to `mbedx509` library.
+- `MBEDCRYPTO_LIBRARY`:                     Path to `mbedcrypto` library.
+- `NGHTTP2_INCLUDE_DIR`:                    The nghttp2 include directory.
+- `NGHTTP2_LIBRARY`:                        Path to `nghttp2` library.
+- `NGHTTP3_INCLUDE_DIR`:                    The nghttp3 include directory.
+- `NGHTTP3_LIBRARY`:                        Path to `nghttp3` library.
+- `NGTCP2_INCLUDE_DIR`:                     The ngtcp2 include directory.
+- `NGTCP2_LIBRARY`:                         Path to `ngtcp2` library.
+- `NETTLE_INCLUDE_DIR`:                     The nettle include directory.
+- `NETTLE_LIBRARY`:                         Path to `nettle` library.
+- `QUICHE_INCLUDE_DIR`:                     The quiche include directory.
+- `QUICHE_LIBRARY`:                         Path to `quiche` library.
+- `RUSTLS_INCLUDE_DIR`:                     The Rustls include directory.
+- `RUSTLS_LIBRARY`:                         Path to `rustls` library.
+- `WOLFSSH_INCLUDE_DIR`:                    The wolfSSH include directory.
+- `WOLFSSH_LIBRARY`:                        Path to `wolfssh` library.
+- `WOLFSSL_INCLUDE_DIR`:                    The wolfSSL include directory.
+- `WOLFSSL_LIBRARY`:                        Path to `wolfssl` library.
+- `ZSTD_INCLUDE_DIR`:                       The zstd include directory.
+- `ZSTD_LIBRARY`:                           Path to `zstd` library.
+
+## Test tools
+
+- `APACHECTL`:                              Default: `apache2ctl`
+- `APXS`:                                   Default: `apxs`
+- `CADDY`:                                  Default: `caddy`
+- `HTTPD_NGHTTPX`:                          Default: `nghttpx`
+- `HTTPD`:                                  Default: `apache2`
+- `TEST_NGHTTPX`:                           Default: `nghttpx`
+- `VSFTPD`:                                 Default: `vsftps`
index 321752a06b425477ee3ec5444ae607bc5e870145..1e4b9813af148ff19593fbe15c0f557f509b67b8 100644 (file)
@@ -55,7 +55,7 @@
 /* disables negotiate authentication */
 #cmakedefine CURL_DISABLE_NEGOTIATE_AUTH 1
 
-/* disables AWS-SIG4 */
+/* disables aws-sigv4 */
 #cmakedefine CURL_DISABLE_AWS 1
 
 /* disables DICT */
index 9be4312501d26272c470a947a42ec17fed181a3e..165b49dfefcab44b117e5003bb625b34d10205cf 100644 (file)
@@ -21,7 +21,7 @@
 # SPDX-License-Identifier: curl
 #
 ###########################################################################
-option(CURL_TEST_BUNDLES "Bundle libtests/unittests into single binaries" OFF)
+option(CURL_TEST_BUNDLES "Bundle libtest and unittest tests into single binaries" OFF)
 
 find_program(TEST_NGHTTPX "nghttpx")
 if(NOT TEST_NGHTTPX)