]> git.ipfire.org Git - thirdparty/curl.git/commitdiff
cmake: add support for `CURL_DEFAULT_SSL_BACKEND`
authorViktor Szakats <commit@vsz.me>
Thu, 31 Aug 2023 15:27:35 +0000 (15:27 +0000)
committerViktor Szakats <commit@vsz.me>
Thu, 31 Aug 2023 23:04:05 +0000 (23:04 +0000)
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
c7170e20d0a18ec8a514b4daa53bcdbb4dcb3a05.

TODO: Convert to lowercase to improve reproducibility.

Closes #11774

CMakeLists.txt
lib/curl_config.h.cmake

index 077d50fa16e60169c42fdeadf3dcc1f088cd40d5..cb2290d9c5163158bc5e97075e59d1d5eb08ef27 100644 (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}")
index 9c17b7360e363e7bb42bf6c17bd7de3e63313807..4cfc2ec25632997c1d9f5caa5ac89481e99330cd 100644 (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