From 6ce346c53c67ba970cd04f0d8436aab006dbec71 Mon Sep 17 00:00:00 2001 From: Brad King Date: Wed, 21 Jan 2015 16:42:18 -0500 Subject: [PATCH] curl: Add CURL_CA_PATH option to CMake build process Move CMAKE_USE_OPENSSL and CURL_CA_BUNDLE up to the top of CMake so that CMake's own sources can know their values. Add the CURL_CA_PATH option at the top and honor it as part of the curl build. --- CMakeLists.txt | 7 +++++++ Utilities/cmcurl/CMakeLists.txt | 9 ++++----- Utilities/cmcurl/lib/curl_config.h.cmake | 6 ------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index bdc160d65..28fd02f1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -287,6 +287,13 @@ 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) + mark_as_advanced(CMAKE_USE_OPENSSL) + if(CMAKE_USE_OPENSSL) + set(CURL_CA_BUNDLE "" CACHE FILEPATH "Path to SSL CA Certificate Bundle") + set(CURL_CA_PATH "" CACHE PATH "Path to SSL CA Certificate Directory") + mark_as_advanced(CURL_CA_BUNDLE CURL_CA_PATH) + endif() add_subdirectory(Utilities/cmcurl) CMAKE_SET_TARGET_FOLDER(cmcurl "Utilities/3rdParty") CMAKE_SET_TARGET_FOLDER(LIBCURL "Utilities/3rdParty") diff --git a/Utilities/cmcurl/CMakeLists.txt b/Utilities/cmcurl/CMakeLists.txt index 0db741e7e..08bdff57e 100644 --- a/Utilities/cmcurl/CMakeLists.txt +++ b/Utilities/cmcurl/CMakeLists.txt @@ -425,9 +425,6 @@ endif() #----------------------------------------------------------------------------- -option(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" OFF) -mark_as_advanced(CMAKE_USE_OPENSSL) - set(USE_SSLEAY OFF) set(USE_OPENSSL OFF) set(HAVE_LIBCRYPTO OFF) @@ -454,11 +451,13 @@ if(CMAKE_USE_OPENSSL) check_include_file("openssl/rand.h" HAVE_OPENSSL_RAND_H) # Optionally build with a specific CA cert bundle. - set(CURL_CA_BUNDLE "" CACHE FILEPATH "Path to SSL CA Certificate Bundle") - mark_as_advanced(CURL_CA_BUNDLE) if(CURL_CA_BUNDLE) add_definitions(-DCURL_CA_BUNDLE="${CURL_CA_BUNDLE}") endif() + # Optionally build with a specific CA cert dir. + if(CURL_CA_PATH) + add_definitions(-DCURL_CA_PATH="${CURL_CA_PATH}") + endif() endif(OPENSSL_FOUND) elseif(WIN32) # Use Windows SSL/TLS native implementation. diff --git a/Utilities/cmcurl/lib/curl_config.h.cmake b/Utilities/cmcurl/lib/curl_config.h.cmake index b5db3b6a1..a561c3d89 100644 --- a/Utilities/cmcurl/lib/curl_config.h.cmake +++ b/Utilities/cmcurl/lib/curl_config.h.cmake @@ -3,12 +3,6 @@ /* when building libcurl itself */ #cmakedefine BUILDING_LIBCURL 1 -/* Location of default ca bundle */ -#cmakedefine CURL_CA_BUNDLE ${CURL_CA_BUNDLE} - -/* Location of default ca path */ -#cmakedefine CURL_CA_PATH ${CURL_CA_PATH} - /* to disable cookies support */ #cmakedefine CURL_DISABLE_COOKIES 1