curl: Use OS X SSL/TLS native implementation

On OS X, when CMAKE_USE_OPENSSL is OFF, use the OS implementation.
This will allow the OS-configured CA list to be trusted automatically.

This is supported on OS X 10.6 and above using AppleClang, Clang, and
GNU compilers.
This commit is contained in:
Brad King 2014-12-15 14:36:59 -05:00
parent ba8c663219
commit e4563257ba
2 changed files with 28 additions and 0 deletions

View File

@ -0,0 +1,9 @@
curl-darwinssl
--------------
* On OS X, commands supporting network communication, such as
:command:`file(DOWNLOAD)`, :command:`file(UPLOAD)`, and
:command:`ctest_submit`, now support SSL/TLS even when CMake
is not built against OpenSSL. The OS X native SSL/TLS
implementation is used by default. OS-configured certificate
authorities will be trusted automatically.

View File

@ -464,6 +464,25 @@ elseif(WIN32)
# Use Windows SSL/TLS native implementation.
add_definitions(-DUSE_SCHANNEL)
set(USE_WINDOWS_SSPI 1)
elseif(APPLE)
# Use OS X SSL/TLS native implementation if available on target version.
if(CMAKE_OSX_DEPLOYMENT_TARGET)
set(OSX_VERSION ${CMAKE_OSX_DEPLOYMENT_TARGET})
else()
execute_process(
COMMAND sw_vers -productVersion
OUTPUT_VARIABLE OSX_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
endif()
if(NOT OSX_VERSION VERSION_LESS 10.6 AND
CMAKE_C_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
add_definitions(-DUSE_DARWINSSL)
list(APPEND CURL_LIBS
"-framework CoreFoundation"
"-framework Security"
)
endif()
endif()
#libSSH2