ENH: allow for shared build of libcurl and fix build with openssl option (ssl tested on linux and windows
This commit is contained in:
parent
3c0e239346
commit
5783d5aab1
|
@ -266,7 +266,10 @@ MACRO (CMAKE_BUILD_UTILITIES)
|
|||
SET(CURL_SPECIAL_ZLIB_H ${CMAKE_ZLIB_HEADER})
|
||||
SET(CURL_SPECIAL_LIBZ_INCLUDES ${CMAKE_ZLIB_INCLUDES})
|
||||
SET(CURL_SPECIAL_LIBZ ${CMAKE_ZLIB_LIBRARIES})
|
||||
ADD_DEFINITIONS(-DCURL_STATICLIB)
|
||||
OPTION(CMAKE_BUILD_CURL_SHARED "Should curl be built shared" FALSE)
|
||||
IF(NOT CMAKE_BUILD_CURL_SHARED)
|
||||
ADD_DEFINITIONS(-DCURL_STATICLIB)
|
||||
ENDIF(NOT CMAKE_BUILD_CURL_SHARED)
|
||||
SET(CMAKE_CURL_INCLUDES)
|
||||
SET(CMAKE_CURL_LIBRARIES cmcurl)
|
||||
IF(CMAKE_USE_NEW_CURL)
|
||||
|
|
|
@ -180,11 +180,22 @@ IF(NOT CURL_SPECIAL_LIBZ)
|
|||
CHECK_LIBRARY_EXISTS_CONCAT("z" inflateEnd HAVE_LIBZ)
|
||||
ENDIF(NOT CURL_SPECIAL_LIBZ)
|
||||
|
||||
OPTION(CMAKE_USE_OPENSSL "Use OpenSSL code. Experimental" ON)
|
||||
OPTION(CMAKE_USE_OPENSSL "Use OpenSSL code." OFF)
|
||||
MARK_AS_ADVANCED(CMAKE_USE_OPENSSL)
|
||||
IF(CMAKE_USE_OPENSSL)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT("crypto" CRYPTO_lock HAVE_LIBCRYPTO)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT("ssl" SSL_connect HAVE_LIBSSL)
|
||||
SET(USE_SSLEAY TRUE)
|
||||
SET(USE_OPENSSL TRUE)
|
||||
IF(WIN32)
|
||||
FIND_PATH(SSLINCLUDE openssl/crypto.h
|
||||
PATHS c:/hoffman/Tools/openssl_w32vc6-0.9.8g/inc32)
|
||||
INCLUDE_DIRECTORIES(${SSLINCLUDE})
|
||||
FIND_LIBRARY(LIBEAY NAMES libeay32)
|
||||
FIND_LIBRARY(SSLEAY NAMES ssleay32)
|
||||
SET(CURL_LIBS ${CURL_LIBS} ${LIBEAY} ${SSLEAY} )
|
||||
ELSE(WIN32)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT("crypto" CRYPTO_lock HAVE_LIBCRYPTO)
|
||||
CHECK_LIBRARY_EXISTS_CONCAT("ssl" SSL_connect HAVE_LIBSSL)
|
||||
ENDIF(WIN32)
|
||||
ENDIF(CMAKE_USE_OPENSSL)
|
||||
|
||||
# Check for idn
|
||||
|
@ -396,6 +407,11 @@ ENDIF(NOT HAVE_STRNCMPI)
|
|||
CHECK_SYMBOL_EXISTS(gethostbyaddr "${CURL_INCLUDES}" HAVE_GETHOSTBYADDR)
|
||||
CHECK_SYMBOL_EXISTS(gettimeofday "${CURL_INCLUDES}" HAVE_GETTIMEOFDAY)
|
||||
CHECK_SYMBOL_EXISTS(inet_addr "${CURL_INCLUDES}" HAVE_INET_ADDR)
|
||||
# windows only has this for vista, but will link with it and say
|
||||
# that it has it at link time! So, force it off
|
||||
IF(WIN32)
|
||||
SET(HAVE_INET_PTON 0 CACHE "" INTERNAL )
|
||||
ENDIF(WIN32)
|
||||
CHECK_SYMBOL_EXISTS(inet_pton "${CURL_INCLUDES}" HAVE_INET_PTON)
|
||||
CHECK_SYMBOL_EXISTS(inet_ntoa "${CURL_INCLUDES}" HAVE_INET_NTOA)
|
||||
CHECK_SYMBOL_EXISTS(inet_ntoa_r "${CURL_INCLUDES}" HAVE_INET_NTOA_R)
|
||||
|
@ -701,13 +717,26 @@ INCLUDE(CMake/OtherTests.cmake)
|
|||
|
||||
INCLUDE_DIRECTORIES(${LIBCURL_SOURCE_DIR})
|
||||
INCLUDE_DIRECTORIES(${LIBCURL_BINARY_DIR})
|
||||
ADD_DEFINITIONS(-DHAVE_CONFIG_H
|
||||
-DCURL_STATICLIB)
|
||||
OPTION(CMAKE_BUILD_CURL_SHARED "Should curl be built shared" TRUE)
|
||||
IF(CMAKE_BUILD_CURL_SHARED)
|
||||
SET(LIBRARY_TYPE SHARED)
|
||||
ADD_DEFINITIONS(-DHAVE_CONFIG_H)
|
||||
ELSE(CMAKE_BUILD_CURL_SHARED)
|
||||
ADD_DEFINITIONS(-DHAVE_CONFIG_H
|
||||
-DCURL_STATICLIB)
|
||||
ENDIF(CMAKE_BUILD_CURL_SHARED)
|
||||
SET(CURL_STATICLIB)
|
||||
CONFIGURE_FILE(${LIBCURL_SOURCE_DIR}/config.h.in
|
||||
${LIBCURL_BINARY_DIR}/config.h)
|
||||
|
||||
ADD_LIBRARY(cmcurl ${libCurl_SRCS})
|
||||
|
||||
ADD_LIBRARY(cmcurl ${LIBRARY_TYPE} ${libCurl_SRCS})
|
||||
TARGET_LINK_LIBRARIES(cmcurl ${CURL_LIBS})
|
||||
IF(CMAKE_BUILD_CURL_SHARED)
|
||||
SET_TARGET_PROPERTIES(cmcurl PROPERTIES DEFINE_SYMBOL BUILDING_LIBCURL
|
||||
RUNTIME_OUTPUT_DIRECTORY ${EXECUTABLE_OUTPUT_PATH})
|
||||
INSTALL_TARGETS(/bin cmcurl)
|
||||
ENDIF(CMAKE_BUILD_CURL_SHARED)
|
||||
|
||||
OPTION(CURL_TESTING "Do libCurl testing" OFF)
|
||||
IF(CURL_TESTING)
|
||||
|
|
Loading…
Reference in New Issue