aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Nikulov <sergey.nikulov@gmail.com>2015-08-25 14:56:55 +0300
committerDaniel Stenberg <daniel@haxx.se>2015-08-25 22:42:28 +0200
commit2132708ac2a179502fdf39896a4984c4a8a2fbc0 (patch)
tree4bbbf745cf2f550231b99eea328c5b853bcd4a43
parent4a889441d318f9133dc9f3eba1939e360a8f7d58 (diff)
cmake: added Windows SSL support
Closes #399
-rw-r--r--CMakeLists.txt20
-rw-r--r--lib/curl_config.h.cmake3
2 files changed, 19 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 9a42cc75c..2206a6b91 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -122,10 +122,10 @@ endif()
option(CURL_HIDDEN_SYMBOLS "Set to ON to hide libcurl internal symbols (=hide all symbols that aren't officially external)." ON)
mark_as_advanced(CURL_HIDDEN_SYMBOLS)
-# IF(WIN32)
-# OPTION(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without openssl" ON)
-# MARK_AS_ADVANCED(CURL_WINDOWS_SSPI)
-# ENDIF()
+IF(WIN32)
+ OPTION(CURL_WINDOWS_SSPI "Use windows libraries to allow NTLM authentication without openssl" ON)
+ MARK_AS_ADVANCED(CURL_WINDOWS_SSPI)
+ENDIF()
option(HTTP_ONLY "disables all protocols except HTTP (This overrides all CURL_DISABLE_* options)" OFF)
mark_as_advanced(HTTP_ONLY)
@@ -558,6 +558,18 @@ if(NOT UNIX)
check_include_file_concat("winsock.h" HAVE_WINSOCK_H)
check_include_file_concat("ws2tcpip.h" HAVE_WS2TCPIP_H)
check_include_file_concat("winsock2.h" HAVE_WINSOCK2_H)
+ if(CURL_WINDOWS_SSPI)
+ set(CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS} -DSECURITY_WIN32")
+ check_include_file_concat("sspi.h" HAVE_SSPI_H)
+ if(HAVE_SSPI_H)
+ check_include_file_concat("schannel.h" HAVE_SCHANNEL_H)
+ set(USE_WINDOWS_SSPI ON)
+ if(HAVE_SCHANNEL_H)
+ set(USE_SCHANNEL ON)
+ set(SSL_ENABLED ON)
+ endif()
+ endif()
+ endif()
endif(NOT UNIX)
check_include_file_concat("stdio.h" HAVE_STDIO_H)
diff --git a/lib/curl_config.h.cmake b/lib/curl_config.h.cmake
index 5376aa7e1..1c9f47365 100644
--- a/lib/curl_config.h.cmake
+++ b/lib/curl_config.h.cmake
@@ -919,6 +919,9 @@
/* to enable SSPI support */
#cmakedefine USE_WINDOWS_SSPI 1
+/* to enable Windows SSL */
+#cmakedefine USE_SCHANNEL 1
+
/* Define to 1 if using yaSSL in OpenSSL compatibility mode. */
#cmakedefine USE_YASSLEMUL 1