Compare commits
6 Commits
Author | SHA1 | Date | |
---|---|---|---|
fbca513008 | |||
33ebd00932 | |||
fbe5e74109 | |||
a9f5d5353f | |||
22e0083832 | |||
5632360fbd |
106
CMakeLists.txt
106
CMakeLists.txt
@ -114,18 +114,15 @@ endif()
|
|||||||
option(USE_TLS "Enable TLS support" FALSE)
|
option(USE_TLS "Enable TLS support" FALSE)
|
||||||
|
|
||||||
if (USE_TLS)
|
if (USE_TLS)
|
||||||
option(USE_MBED_TLS "Use Mbed TLS" OFF)
|
# default to securetranport on Apple if nothing is configured
|
||||||
option(USE_OPEN_SSL "Use OpenSSL" OFF)
|
if (APPLE)
|
||||||
option(USE_SECURE_TRANSPORT "Use Secure Transport" OFF)
|
if (NOT USE_MBED_TLS AND NOT USE_OPEN_SSL) # unless we want something else
|
||||||
|
set(USE_SECURE_TRANSPORT ON)
|
||||||
# default to OpenSSL on windows if nothing is configured
|
endif()
|
||||||
if (WIN32 AND NOT USE_MBED_TLS)
|
else() # default to OpenSSL on all other platforms
|
||||||
option(USE_OPEN_SSL "Use OpenSSL" ON)
|
if (NOT USE_MBED_TLS) # Unless mbedtls is requested
|
||||||
endif()
|
set(USE_OPEN_SSL ON)
|
||||||
|
endif()
|
||||||
# default to securetranport on windows if nothing is configured
|
|
||||||
if (APPLE AND NOT USE_OPEN_SSL AND NOT USE_MBED_TLS)
|
|
||||||
option(USE_SECURE_TRANSPORT "Use Secure Transport" ON)
|
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (USE_MBED_TLS)
|
if (USE_MBED_TLS)
|
||||||
@ -134,10 +131,11 @@ if (USE_TLS)
|
|||||||
elseif (USE_SECURE_TRANSPORT)
|
elseif (USE_SECURE_TRANSPORT)
|
||||||
list( APPEND IXWEBSOCKET_HEADERS ixwebsocket/IXSocketAppleSSL.h)
|
list( APPEND IXWEBSOCKET_HEADERS ixwebsocket/IXSocketAppleSSL.h)
|
||||||
list( APPEND IXWEBSOCKET_SOURCES ixwebsocket/IXSocketAppleSSL.cpp)
|
list( APPEND IXWEBSOCKET_SOURCES ixwebsocket/IXSocketAppleSSL.cpp)
|
||||||
else()
|
elseif (USE_OPEN_SSL)
|
||||||
set(USE_OPEN_SSL ON)
|
|
||||||
list( APPEND IXWEBSOCKET_HEADERS ixwebsocket/IXSocketOpenSSL.h)
|
list( APPEND IXWEBSOCKET_HEADERS ixwebsocket/IXSocketOpenSSL.h)
|
||||||
list( APPEND IXWEBSOCKET_SOURCES ixwebsocket/IXSocketOpenSSL.cpp)
|
list( APPEND IXWEBSOCKET_SOURCES ixwebsocket/IXSocketOpenSSL.cpp)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "TLS Configuration error: unknown backend")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
@ -154,11 +152,53 @@ if (USE_TLS)
|
|||||||
target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_OPEN_SSL)
|
target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_OPEN_SSL)
|
||||||
elseif (USE_SECURE_TRANSPORT)
|
elseif (USE_SECURE_TRANSPORT)
|
||||||
target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_SECURE_TRANSPORT)
|
target_compile_definitions(ixwebsocket PUBLIC IXWEBSOCKET_USE_SECURE_TRANSPORT)
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "TLS Configuration error: unknown backend")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (APPLE AND USE_TLS AND NOT USE_MBED_TLS AND NOT USE_OPEN_SSL)
|
if (USE_TLS)
|
||||||
target_link_libraries(ixwebsocket "-framework foundation" "-framework security")
|
if (USE_OPEN_SSL)
|
||||||
|
message(STATUS "TLS configured to use openssl")
|
||||||
|
|
||||||
|
# Help finding Homebrew's OpenSSL on macOS
|
||||||
|
if (APPLE)
|
||||||
|
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /usr/local/opt/openssl/lib)
|
||||||
|
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} /usr/local/opt/openssl/include)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# This OPENSSL_FOUND check is to help find a cmake manually configured OpenSSL
|
||||||
|
if (NOT OPENSSL_FOUND)
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
|
endif()
|
||||||
|
message(STATUS "OpenSSL: " ${OPENSSL_VERSION})
|
||||||
|
|
||||||
|
add_definitions(${OPENSSL_DEFINITIONS})
|
||||||
|
target_include_directories(ixwebsocket PUBLIC ${OPENSSL_INCLUDE_DIR})
|
||||||
|
target_link_libraries(ixwebsocket ${OPENSSL_LIBRARIES})
|
||||||
|
elseif (USE_MBED_TLS)
|
||||||
|
message(STATUS "TLS configured to use mbedtls")
|
||||||
|
|
||||||
|
find_package(MbedTLS REQUIRED)
|
||||||
|
target_include_directories(ixwebsocket PUBLIC ${MBEDTLS_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(ixwebsocket ${MBEDTLS_LIBRARIES})
|
||||||
|
elseif (USE_SECURE_TRANSPORT)
|
||||||
|
message(STATUS "TLS configured to use secure transport")
|
||||||
|
target_link_libraries(ixwebsocket "-framework foundation" "-framework security")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# This ZLIB_FOUND check is to help find a cmake manually configured zlib
|
||||||
|
if (NOT ZLIB_FOUND)
|
||||||
|
find_package(ZLIB)
|
||||||
|
endif()
|
||||||
|
if (ZLIB_FOUND)
|
||||||
|
include_directories(${ZLIB_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(ixwebsocket ${ZLIB_LIBRARIES})
|
||||||
|
else()
|
||||||
|
include_directories(third_party/zlib ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib)
|
||||||
|
add_subdirectory(third_party/zlib)
|
||||||
|
target_link_libraries(ixwebsocket zlibstatic)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
@ -175,40 +215,6 @@ if (UNIX)
|
|||||||
target_link_libraries(ixwebsocket ${CMAKE_THREAD_LIBS_INIT})
|
target_link_libraries(ixwebsocket ${CMAKE_THREAD_LIBS_INIT})
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (USE_TLS AND USE_OPEN_SSL)
|
|
||||||
|
|
||||||
# Help finding Homebrew's OpenSSL on macOS
|
|
||||||
if (APPLE)
|
|
||||||
set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} /usr/local/opt/openssl/lib)
|
|
||||||
set(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} /usr/local/opt/openssl/include)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if(NOT OPENSSL_FOUND)
|
|
||||||
find_package(OpenSSL REQUIRED)
|
|
||||||
endif()
|
|
||||||
add_definitions(${OPENSSL_DEFINITIONS})
|
|
||||||
message(STATUS "OpenSSL: " ${OPENSSL_VERSION})
|
|
||||||
include_directories(${OPENSSL_INCLUDE_DIR})
|
|
||||||
target_link_libraries(ixwebsocket ${OPENSSL_LIBRARIES})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (USE_TLS AND USE_MBED_TLS)
|
|
||||||
find_package(MbedTLS REQUIRED)
|
|
||||||
target_include_directories(ixwebsocket PUBLIC ${MBEDTLS_INCLUDE_DIRS})
|
|
||||||
target_link_libraries(ixwebsocket ${MBEDTLS_LIBRARIES})
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT ZLIB_FOUND)
|
|
||||||
find_package(ZLIB)
|
|
||||||
endif()
|
|
||||||
if (ZLIB_FOUND)
|
|
||||||
include_directories(${ZLIB_INCLUDE_DIRS})
|
|
||||||
target_link_libraries(ixwebsocket ${ZLIB_LIBRARIES})
|
|
||||||
else()
|
|
||||||
include_directories(third_party/zlib ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib)
|
|
||||||
add_subdirectory(third_party/zlib)
|
|
||||||
target_link_libraries(ixwebsocket zlibstatic)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set( IXWEBSOCKET_INCLUDE_DIRS
|
set( IXWEBSOCKET_INCLUDE_DIRS
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
All changes to this project will be documented in this file.
|
All changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
## [9.5.2] - 2020-04-27
|
||||||
|
|
||||||
|
(cmake) fix cmake broken tls option parsing
|
||||||
|
|
||||||
|
## [9.5.1] - 2020-04-27
|
||||||
|
|
||||||
|
(http client) Set default values for most HttpRequestArgs struct members (fix #185)
|
||||||
|
|
||||||
## [9.5.0] - 2020-04-25
|
## [9.5.0] - 2020-04-25
|
||||||
|
|
||||||
(ssl) Default to OpenSSL on Windows, since it can load the system certificates by default
|
(ssl) Default to OpenSSL on Windows, since it can load the system certificates by default
|
||||||
|
@ -78,12 +78,12 @@ namespace ix
|
|||||||
WebSocketHttpHeaders extraHeaders;
|
WebSocketHttpHeaders extraHeaders;
|
||||||
std::string body;
|
std::string body;
|
||||||
std::string multipartBoundary;
|
std::string multipartBoundary;
|
||||||
int connectTimeout;
|
int connectTimeout = 60;
|
||||||
int transferTimeout;
|
int transferTimeout = 1800;
|
||||||
bool followRedirects;
|
bool followRedirects = true;
|
||||||
int maxRedirects;
|
int maxRedirects = 5;
|
||||||
bool verbose;
|
bool verbose = false;
|
||||||
bool compress;
|
bool compress = true;
|
||||||
Logger logger;
|
Logger logger;
|
||||||
OnProgressCallback onProgressCallback;
|
OnProgressCallback onProgressCallback;
|
||||||
};
|
};
|
||||||
|
@ -6,4 +6,4 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#define IX_WEBSOCKET_VERSION "9.5.0"
|
#define IX_WEBSOCKET_VERSION "9.5.2"
|
||||||
|
Reference in New Issue
Block a user