diff --git a/CMakeLists.txt b/CMakeLists.txt index 9381f357f..787f3193a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -327,7 +327,15 @@ macro (CMAKE_BUILD_UTILITIES) if(CMAKE_TESTS_CDASH_SERVER) set(CMAKE_CURL_TEST_URL "${CMAKE_TESTS_CDASH_SERVER}/user.php") endif() - option(CMAKE_USE_OPENSSL "Use OpenSSL." OFF) + set(_CMAKE_USE_OPENSSL_DEFAULT OFF) + if(NOT DEFINED CMAKE_USE_OPENSSL AND NOT WIN32 AND NOT APPLE + AND CMAKE_SYSTEM_NAME MATCHES "(Linux|FreeBSD)") + find_package(OpenSSL QUIET) + if(OPENSSL_FOUND) + set(_CMAKE_USE_OPENSSL_DEFAULT ON) + endif() + endif() + option(CMAKE_USE_OPENSSL "Use OpenSSL." ${_CMAKE_USE_OPENSSL_DEFAULT}) mark_as_advanced(CMAKE_USE_OPENSSL) if(CMAKE_USE_OPENSSL) set(CURL_CA_BUNDLE "" CACHE FILEPATH "Path to SSL CA Certificate Bundle") diff --git a/Help/release/dev/enable-ssl-automatically.rst b/Help/release/dev/enable-ssl-automatically.rst new file mode 100644 index 000000000..8ded656b6 --- /dev/null +++ b/Help/release/dev/enable-ssl-automatically.rst @@ -0,0 +1,8 @@ +enable-ssl-automatically +------------------------ + +* On Linux and FreeBSD platforms, when building CMake itself from source and + not using a system-provided libcurl, OpenSSL is now used by default if it is + found on the system. This enables SSL/TLS support for commands supporting + network communication via ``https``, such as :command:`file(DOWNLOAD)`, + :command:`file(UPLOAD)`, and :command:`ctest_submit`.