RSA
RTMP
rtmp
+rtmpdump
RTMPE
RTMPS
RTMPT
SOCKSv
Solaris
SONAME
+SOVERSION
Soref
SPARC
SPDX
# 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.")
#
# 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)
#
# 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)
#
# 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")
#
# 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
#
# 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
#
# 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)
#
# 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
#
# 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)
#
# 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
#
# 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
# 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.")
#
# 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)
#
# 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)
# 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)
#
# 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
#
# 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
# 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
# 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")
# 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.")
#
# 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.")
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)
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)
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
## `CURL_DISABLE_AWS`
-Disable **AWS-SIG4** support.
+Disable **aws-sigv4** support.
## `CURL_DISABLE_CA_SEARCH`
$ 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`
/* disables negotiate authentication */
#cmakedefine CURL_DISABLE_NEGOTIATE_AUTH 1
-/* disables AWS-SIG4 */
+/* disables aws-sigv4 */
#cmakedefine CURL_DISABLE_AWS 1
/* disables DICT */
# 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)