aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Maltese <michaeljosephmaltese@gmail.com>2017-01-25 16:05:07 -0800
committerPeter Wu <peter@lekensteyn.nl>2017-03-05 14:42:53 +0100
commiteb19e89f2e9325b75e0e9ec05da37dc4d9f6fd7f (patch)
tree5c92a1e40fdb1b3a29c496a8dc9712aaac737598
parentf85ff14d5283bd023155fb84292265a9db8afc7f (diff)
CMake: Add DarwinSSL support
Assisted-by: Simon Warta <simon@kullo.net> Ref: https://github.com/curl/curl/pull/1228
-rw-r--r--CMakeLists.txt12
-rw-r--r--lib/curl_config.h.cmake3
2 files changed, 11 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 922e11386..47d4cecd6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -295,8 +295,11 @@ if(WIN32)
endif()
# check SSL libraries
-# TODO support GNUTLS, NSS, POLARSSL, AXTLS, CYASSL, DARWINSSL
+# TODO support GNUTLS, NSS, POLARSSL, AXTLS, CYASSL
+if(APPLE)
+ option(CMAKE_USE_DARWINSSL "enable Apple OS native SSL/TLS" OFF)
+endif()
if(WIN32)
option(CMAKE_USE_WINSSL "enable Windows native SSL/TLS" OFF)
cmake_dependent_option(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without openssl" ON
@@ -320,7 +323,7 @@ if(CURL_WINDOWS_SSPI)
set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -DSECURITY_WIN32")
endif()
-if(CMAKE_USE_DARWINSSL)
+if(CMAKE_USE_DARWINSSL AND NOT SSL_ENABLED)
find_library(COREFOUNDATION_FRAMEWORK "CoreFoundation")
if(NOT COREFOUNDATION_FRAMEWORK)
message(FATAL_ERROR "CoreFoundation framework not found")
@@ -1083,6 +1086,7 @@ endfunction()
set(_items)
_add_if("WinSSL" SSL_ENABLED AND USE_WINDOWS_SSPI)
_add_if("OpenSSL" SSL_ENABLED AND USE_OPENSSL)
+_add_if("DarwinSSL" SSL_ENABLED AND USE_DARWINSSL)
_add_if("IPv6" ENABLE_IPV6)
_add_if("unix-sockets" USE_UNIX_SOCKETS)
_add_if("libz" HAVE_LIBZ)
@@ -1099,9 +1103,9 @@ _add_if("SPNEGO" NOT CURL_DISABLE_CRYPTO_AUTH AND
_add_if("Kerberos" NOT CURL_DISABLE_CRYPTO_AUTH AND
(HAVE_GSSAPI OR USE_WINDOWS_SSPI))
# NTLM support requires crypto function adaptions from various SSL libs
-# TODO alternative SSL libs tests for SSP1, GNUTLS, NSS, DARWINSSL
+# TODO alternative SSL libs tests for SSP1, GNUTLS, NSS
if(NOT CURL_DISABLE_CRYPTO_AUTH AND (USE_OPENSSL OR
- USE_WINDOWS_SSPI OR GNUTLS_ENABLED OR NSS_ENABLED OR DARWINSSL_ENABLED))
+ USE_WINDOWS_SSPI OR GNUTLS_ENABLED OR NSS_ENABLED OR USE_DARWINSSL))
_add_if("NTLM" 1)
# TODO missing option (autoconf: --enable-ntlm-wb)
_add_if("NTLM_WB" NOT CURL_DISABLE_HTTP AND NTLM_WB_ENABLED)
diff --git a/lib/curl_config.h.cmake b/lib/curl_config.h.cmake
index 49c1b8a2d..9fcdd97f9 100644
--- a/lib/curl_config.h.cmake
+++ b/lib/curl_config.h.cmake
@@ -927,6 +927,9 @@
/* if PolarSSL is enabled */
#cmakedefine USE_POLARSSL 1
+/* if DarwinSSL is enabled */
+#cmakedefine USE_DARWINSSL 1
+
/* if mbedTLS is enabled */
#cmakedefine USE_MBEDTLS 1