cmake: add support for CURL_DEFAULT_SSL_BACKEND

Allow overriding the default TLS backend via a CMake setting.

E.g.:
`cmake [...] -DCURL_DEFAULT_SSL_BACKEND=mbedtls`

Accepted values: bearssl, gnutls, mbedtls, openssl, rustls,
schannel, secure-transport, wolfssl

The passed string is baked into the curl/libcurl binaries.
The value is case-insensitive.

We added a similar option to autotools in 2017 via
c7170e20d0.

TODO: Convert to lowercase to improve reproducibility.

Closes #11774
This commit is contained in:
Viktor Szakats 2023-08-31 15:27:35 +00:00
parent 4727d32e2e
commit 26c7feb8b9
No known key found for this signature in database
GPG Key ID: B5ABD165E2AEF201
2 changed files with 6 additions and 0 deletions

View File

@ -1556,6 +1556,9 @@ if(_items)
endif()
string(REPLACE ";" " " SSL_BACKENDS "${_items}")
message(STATUS "Enabled SSL backends: ${SSL_BACKENDS}")
if(CURL_DEFAULT_SSL_BACKEND)
message(STATUS "Default SSL backend: ${CURL_DEFAULT_SSL_BACKEND}")
endif()
# curl-config needs the following options to be set.
set(CC "${CMAKE_C_COMPILER}")

View File

@ -32,6 +32,9 @@
/* Location of default ca path */
#cmakedefine CURL_CA_PATH "${CURL_CA_PATH}"
/* Default SSL backend */
#cmakedefine CURL_DEFAULT_SSL_BACKEND "${CURL_DEFAULT_SSL_BACKEND}"
/* disables alt-svc */
#cmakedefine CURL_DISABLE_ALTSVC 1