- all:
- changed-files:
- any-glob-to-all-files:
- - '{CMake/FindBearSSL.cmake,CMake/FindMbedTLS.cmake,CMake/FindWolfSSL.cmake,docs/examples/ssl*,docs/examples/*ssl.*,docs/examples/*tls.*,docs/SSL*,docs/libcurl/curl_global_sslset*,docs/libcurl/opts/CURLINFO_CA*,docs/libcurl/opts/CURLINFO_CERT*,docs/libcurl/opts/CURLINFO_SSL*,docs/libcurl/opts/CURLINFO_TLS*,docs/libcurl/opts/CURLOPT_CA*,docs/libcurl/opts/CURLOPT_CERT*,docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*,docs/libcurl/opts/CURLOPT_SSL*,docs/libcurl/opts/CURLOPT_TLS*,docs/libcurl/opts/CURLOPT_USE_SSL*,lib/vtls/**,m4/curl-bearssl.m4,m4/curl-gnutls.m4,m4/curl-mbedtls.m4,m4/curl-openssl.m4,m4/curl-rustls.m4,m4/curl-schannel.m4,m4/curl-sectransp.m4,m4/curl-wolfssl.m4}'
+ - '{CMake/FindBearSSL.cmake,CMake/FindMbedTLS.cmake,CMake/FindWolfSSL.cmake,CMake/Findrustls.cmake,docs/examples/ssl*,docs/examples/*ssl.*,docs/examples/*tls.*,docs/SSL*,docs/libcurl/curl_global_sslset*,docs/libcurl/opts/CURLINFO_CA*,docs/libcurl/opts/CURLINFO_CERT*,docs/libcurl/opts/CURLINFO_SSL*,docs/libcurl/opts/CURLINFO_TLS*,docs/libcurl/opts/CURLOPT_CA*,docs/libcurl/opts/CURLOPT_CERT*,docs/libcurl/opts/CURLOPT_PINNEDPUBLICKEY*,docs/libcurl/opts/CURLOPT_SSL*,docs/libcurl/opts/CURLOPT_TLS*,docs/libcurl/opts/CURLOPT_USE_SSL*,lib/vtls/**,m4/curl-bearssl.m4,m4/curl-gnutls.m4,m4/curl-mbedtls.m4,m4/curl-openssl.m4,m4/curl-rustls.m4,m4/curl-schannel.m4,m4/curl-sectransp.m4,m4/curl-wolfssl.m4}'
URL:
- all:
--- /dev/null
+#***************************************************************************
+# _ _ ____ _
+# Project ___| | | | _ \| |
+# / __| | | | |_) | |
+# | (__| |_| | _ <| |___
+# \___|\___/|_| \_\_____|
+#
+# Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al.
+#
+# This software is licensed as described in the file COPYING, which
+# you should have received as part of this distribution. The terms
+# are also available at https://curl.se/docs/copyright.html.
+#
+# You may opt to use, copy, modify, merge, publish, distribute and/or sell
+# copies of the Software, and permit persons to whom the Software is
+# furnished to do so, under the terms of the COPYING file.
+#
+# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
+# KIND, either express or implied.
+#
+# SPDX-License-Identifier: curl
+#
+###########################################################################
+# Find the rustls library
+#
+# Result Variables:
+#
+# RUSTLS_FOUND System has rustls
+# RUSTLS_INCLUDE_DIRS The rustls include directories
+# RUSTLS_LIBRARIES The rustls library names
+
+find_path(RUSTLS_INCLUDE_DIR "rustls.h")
+
+find_library(RUSTLS_LIBRARY "rustls")
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(rustls
+ REQUIRED_VARS
+ RUSTLS_INCLUDE_DIR
+ RUSTLS_LIBRARY
+)
+
+if(RUSTLS_FOUND)
+ set(RUSTLS_INCLUDE_DIRS ${RUSTLS_INCLUDE_DIR})
+ set(RUSTLS_LIBRARIES ${RUSTLS_LIBRARY})
+endif()
+
+mark_as_advanced(RUSTLS_INCLUDE_DIR RUSTLS_LIBRARY)
cmake_dependent_option(CURL_USE_BEARSSL "Enable BearSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
cmake_dependent_option(CURL_USE_WOLFSSL "Enable wolfSSL for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
cmake_dependent_option(CURL_USE_GNUTLS "Enable GnuTLS for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
+cmake_dependent_option(CURL_USE_RUSTLS "Enable rustls for SSL/TLS" OFF CURL_ENABLE_SSL OFF)
set(_openssl_default ON)
if(WIN32 OR CURL_USE_SECTRANSP OR CURL_USE_SCHANNEL OR CURL_USE_MBEDTLS OR CURL_USE_WOLFSSL)
CURL_USE_BEARSSL
CURL_USE_WOLFSSL
CURL_USE_GNUTLS
+ CURL_USE_RUSTLS
)
if(_enabled_ssl_options_count GREATER 1)
set(CURL_WITH_MULTI_SSL ON)
endif()
endif()
+if(CURL_USE_RUSTLS)
+ find_package(rustls REQUIRED)
+ set(_ssl_enabled ON)
+ set(USE_RUSTLS ON)
+ list(APPEND CURL_LIBS ${RUSTLS_LIBRARIES})
+ list(APPEND LIBCURL_PC_REQUIRES_PRIVATE "rustls")
+ include_directories(${RUSTLS_INCLUDE_DIRS})
+
+ if(CURL_DEFAULT_SSL_BACKEND AND CURL_DEFAULT_SSL_BACKEND STREQUAL "rustls")
+ set(valid_default_ssl_backend TRUE)
+ endif()
+ set(curl_ca_bundle_supported TRUE)
+endif()
+
if(CURL_DEFAULT_SSL_BACKEND AND NOT _valid_default_ssl_backend)
message(FATAL_ERROR "CURL_DEFAULT_SSL_BACKEND '${CURL_DEFAULT_SSL_BACKEND}' not enabled.")
endif()
_add_if("BearSSL" _ssl_enabled AND USE_BEARSSL)
_add_if("wolfSSL" _ssl_enabled AND USE_WOLFSSL)
_add_if("GnuTLS" _ssl_enabled AND USE_GNUTLS)
+ _add_if("rustls" _ssl_enabled AND USE_RUSTLS)
if(_items)
if(NOT CMAKE_VERSION VERSION_LESS 3.13)
CMake/FindQUICHE.cmake \
CMake/FindWolfSSL.cmake \
CMake/FindZstd.cmake \
+ CMake/Findrustls.cmake \
CMake/Macros.cmake \
CMake/OtherTests.cmake \
CMake/PickyWarnings.cmake \
/* if BearSSL is enabled */
#cmakedefine USE_BEARSSL 1
+/* if rustls is enabled */
+#cmakedefine USE_RUSTLS 1
+
/* if wolfSSL is enabled */
#cmakedefine USE_WOLFSSL 1