- mbedtls and zlib are searched with find_package, and we use the vendored version if nothing is found
This commit is contained in:
		| @@ -36,6 +36,6 @@ matrix: | |||||||
|         - CMAKE_PATH="/c/Program Files/CMake/bin" |         - CMAKE_PATH="/c/Program Files/CMake/bin" | ||||||
|       script:  |       script:  | ||||||
|         - export PATH=$CMAKE_PATH:$PATH |         - export PATH=$CMAKE_PATH:$PATH | ||||||
|         - cmake -DUSE_TLS=1 -DUSE_WS=1 -DUSE_MBED_TLS=1 . |         - cmake -DUSE_TLS=1 -DUSE_WS=1 -DUSE_MBED_TLS=1 -DUSE_VENDORED_THIRD_PARTY=1 . | ||||||
|         - cmake --build --parallel . |         - cmake --build --parallel . | ||||||
|         - python test/run.py |         - python test/run.py | ||||||
|   | |||||||
| @@ -3,6 +3,7 @@ All notable changes to this project will be documented in this file. | |||||||
|  |  | ||||||
| ## [unreleased] - 2019-06-09 | ## [unreleased] - 2019-06-09 | ||||||
| ### Changed | ### Changed | ||||||
|  | - mbedtls and zlib are searched with find_package, and we use the vendored version if nothing is found | ||||||
| - travis CI uses g++ on Linux | - travis CI uses g++ on Linux | ||||||
|  |  | ||||||
| ## [4.0.0] - 2019-06-09 | ## [4.0.0] - 2019-06-09 | ||||||
|   | |||||||
							
								
								
									
										13
									
								
								CMake/FindMbedTLS.cmake
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								CMake/FindMbedTLS.cmake
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | |||||||
|  | find_path(MBEDTLS_INCLUDE_DIRS mbedtls/ssl.h) | ||||||
|  |  | ||||||
|  | find_library(MBEDTLS_LIBRARY mbedtls) | ||||||
|  | find_library(MBEDX509_LIBRARY mbedx509) | ||||||
|  | find_library(MBEDCRYPTO_LIBRARY mbedcrypto) | ||||||
|  |  | ||||||
|  | set(MBEDTLS_LIBRARIES "${MBEDTLS_LIBRARY}" "${MBEDX509_LIBRARY}" "${MBEDCRYPTO_LIBRARY}") | ||||||
|  |  | ||||||
|  | include(FindPackageHandleStandardArgs) | ||||||
|  | find_package_handle_standard_args(MBEDTLS DEFAULT_MSG | ||||||
|  |     MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY) | ||||||
|  |  | ||||||
|  | mark_as_advanced(MBEDTLS_INCLUDE_DIRS MBEDTLS_LIBRARY MBEDX509_LIBRARY MBEDCRYPTO_LIBRARY) | ||||||
| @@ -4,6 +4,8 @@ | |||||||
| # | # | ||||||
|  |  | ||||||
| cmake_minimum_required(VERSION 3.4.1) | cmake_minimum_required(VERSION 3.4.1) | ||||||
|  | set(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake;${CMAKE_MODULE_PATH}") | ||||||
|  |  | ||||||
| project(ixwebsocket C CXX) | project(ixwebsocket C CXX) | ||||||
|  |  | ||||||
| set (CMAKE_CXX_STANDARD 14) | set (CMAKE_CXX_STANDARD 14) | ||||||
| @@ -20,64 +22,64 @@ if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") | |||||||
| endif() | endif() | ||||||
|  |  | ||||||
| set( IXWEBSOCKET_SOURCES | set( IXWEBSOCKET_SOURCES | ||||||
|  |     ixwebsocket/IXCancellationRequest.cpp | ||||||
|  |     ixwebsocket/IXConnectionState.cpp | ||||||
|  |     ixwebsocket/IXDNSLookup.cpp | ||||||
|  |     ixwebsocket/IXHttpClient.cpp | ||||||
|  |     ixwebsocket/IXNetSystem.cpp | ||||||
|  |     ixwebsocket/IXSelectInterrupt.cpp | ||||||
|  |     ixwebsocket/IXSelectInterruptFactory.cpp | ||||||
|     ixwebsocket/IXSocket.cpp |     ixwebsocket/IXSocket.cpp | ||||||
|     ixwebsocket/IXSocketServer.cpp |  | ||||||
|     ixwebsocket/IXSocketConnect.cpp |     ixwebsocket/IXSocketConnect.cpp | ||||||
|     ixwebsocket/IXSocketFactory.cpp |     ixwebsocket/IXSocketFactory.cpp | ||||||
|     ixwebsocket/IXDNSLookup.cpp |     ixwebsocket/IXSocketServer.cpp | ||||||
|     ixwebsocket/IXCancellationRequest.cpp |     ixwebsocket/IXUrlParser.cpp | ||||||
|     ixwebsocket/IXNetSystem.cpp |  | ||||||
|     ixwebsocket/IXWebSocket.cpp |     ixwebsocket/IXWebSocket.cpp | ||||||
|     ixwebsocket/IXWebSocketServer.cpp |     ixwebsocket/IXWebSocketCloseConstants.cpp | ||||||
|     ixwebsocket/IXWebSocketTransport.cpp |  | ||||||
|     ixwebsocket/IXWebSocketHandshake.cpp |     ixwebsocket/IXWebSocketHandshake.cpp | ||||||
|  |     ixwebsocket/IXWebSocketHttpHeaders.cpp | ||||||
|  |     ixwebsocket/IXWebSocketMessageQueue.cpp | ||||||
|     ixwebsocket/IXWebSocketPerMessageDeflate.cpp |     ixwebsocket/IXWebSocketPerMessageDeflate.cpp | ||||||
|     ixwebsocket/IXWebSocketPerMessageDeflateCodec.cpp |     ixwebsocket/IXWebSocketPerMessageDeflateCodec.cpp | ||||||
|     ixwebsocket/IXWebSocketPerMessageDeflateOptions.cpp |     ixwebsocket/IXWebSocketPerMessageDeflateOptions.cpp | ||||||
|     ixwebsocket/IXWebSocketHttpHeaders.cpp |     ixwebsocket/IXWebSocketServer.cpp | ||||||
|     ixwebsocket/IXHttpClient.cpp |     ixwebsocket/IXWebSocketTransport.cpp | ||||||
|     ixwebsocket/IXUrlParser.cpp |  | ||||||
|     ixwebsocket/LUrlParser.cpp |     ixwebsocket/LUrlParser.cpp | ||||||
|     ixwebsocket/IXSelectInterrupt.cpp |  | ||||||
|     ixwebsocket/IXSelectInterruptFactory.cpp |  | ||||||
|     ixwebsocket/IXConnectionState.cpp |  | ||||||
|     ixwebsocket/IXWebSocketCloseConstants.cpp |  | ||||||
|     ixwebsocket/IXWebSocketMessageQueue.cpp |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| set( IXWEBSOCKET_HEADERS | set( IXWEBSOCKET_HEADERS | ||||||
|     ixwebsocket/IXSocket.h |  | ||||||
|     ixwebsocket/IXSocketServer.h |  | ||||||
|     ixwebsocket/IXSocketConnect.h |  | ||||||
|     ixwebsocket/IXSocketFactory.h |  | ||||||
|     ixwebsocket/IXSetThreadName.h |  | ||||||
|     ixwebsocket/IXDNSLookup.h |  | ||||||
|     ixwebsocket/IXCancellationRequest.h |     ixwebsocket/IXCancellationRequest.h | ||||||
|  |     ixwebsocket/IXConnectionState.h | ||||||
|  |     ixwebsocket/IXDNSLookup.h | ||||||
|  |     ixwebsocket/IXHttpClient.h | ||||||
|     ixwebsocket/IXNetSystem.h |     ixwebsocket/IXNetSystem.h | ||||||
|     ixwebsocket/IXProgressCallback.h |     ixwebsocket/IXProgressCallback.h | ||||||
|  |     ixwebsocket/IXSelectInterrupt.h | ||||||
|  |     ixwebsocket/IXSelectInterruptFactory.h | ||||||
|  |     ixwebsocket/IXSetThreadName.h | ||||||
|  |     ixwebsocket/IXSocket.h | ||||||
|  |     ixwebsocket/IXSocketConnect.h | ||||||
|  |     ixwebsocket/IXSocketFactory.h | ||||||
|  |     ixwebsocket/IXSocketServer.h | ||||||
|  |     ixwebsocket/IXUrlParser.h | ||||||
|     ixwebsocket/IXWebSocket.h |     ixwebsocket/IXWebSocket.h | ||||||
|     ixwebsocket/IXWebSocketServer.h |     ixwebsocket/IXWebSocketCloseConstants.h | ||||||
|     ixwebsocket/IXWebSocketTransport.h |  | ||||||
|     ixwebsocket/IXWebSocketHandshake.h |  | ||||||
|     ixwebsocket/IXWebSocketSendInfo.h |  | ||||||
|     ixwebsocket/IXWebSocketErrorInfo.h |  | ||||||
|     ixwebsocket/IXWebSocketCloseInfo.h |     ixwebsocket/IXWebSocketCloseInfo.h | ||||||
|     ixwebsocket/IXWebSocketOpenInfo.h |     ixwebsocket/IXWebSocketErrorInfo.h | ||||||
|     ixwebsocket/IXWebSocketMessageType.h |     ixwebsocket/IXWebSocketHandshake.h | ||||||
|  |     ixwebsocket/IXWebSocketHttpHeaders.h | ||||||
|     ixwebsocket/IXWebSocketMessage.h |     ixwebsocket/IXWebSocketMessage.h | ||||||
|  |     ixwebsocket/IXWebSocketMessageQueue.h | ||||||
|  |     ixwebsocket/IXWebSocketMessageType.h | ||||||
|  |     ixwebsocket/IXWebSocketOpenInfo.h | ||||||
|     ixwebsocket/IXWebSocketPerMessageDeflate.h |     ixwebsocket/IXWebSocketPerMessageDeflate.h | ||||||
|     ixwebsocket/IXWebSocketPerMessageDeflateCodec.h |     ixwebsocket/IXWebSocketPerMessageDeflateCodec.h | ||||||
|     ixwebsocket/IXWebSocketPerMessageDeflateOptions.h |     ixwebsocket/IXWebSocketPerMessageDeflateOptions.h | ||||||
|     ixwebsocket/IXWebSocketHttpHeaders.h |     ixwebsocket/IXWebSocketSendInfo.h | ||||||
|     ixwebsocket/libwshandshake.hpp |     ixwebsocket/IXWebSocketServer.h | ||||||
|     ixwebsocket/IXHttpClient.h |     ixwebsocket/IXWebSocketTransport.h | ||||||
|     ixwebsocket/IXUrlParser.h |  | ||||||
|     ixwebsocket/LUrlParser.h |     ixwebsocket/LUrlParser.h | ||||||
|     ixwebsocket/IXSelectInterrupt.h |     ixwebsocket/libwshandshake.hpp | ||||||
|     ixwebsocket/IXSelectInterruptFactory.h |  | ||||||
|     ixwebsocket/IXConnectionState.h |  | ||||||
|     ixwebsocket/IXWebSocketCloseConstants.h |  | ||||||
|     ixwebsocket/IXWebSocketMessageQueue.h |  | ||||||
| ) | ) | ||||||
|  |  | ||||||
| if (UNIX) | if (UNIX) | ||||||
| @@ -141,25 +143,28 @@ if (USE_OPEN_SSL) | |||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (USE_MBED_TLS) | if (USE_MBED_TLS) | ||||||
|  |   if (USE_VENDORED_THIRD_PARTY) | ||||||
|     set (ENABLE_PROGRAMS OFF) |     set (ENABLE_PROGRAMS OFF) | ||||||
|     add_subdirectory(third_party/mbedtls) |     add_subdirectory(third_party/mbedtls) | ||||||
|     include_directories(third_party/mbedtls/include) |     include_directories(third_party/mbedtls/include) | ||||||
|  |  | ||||||
|     target_link_libraries(ixwebsocket mbedtls) |     target_link_libraries(ixwebsocket mbedtls) | ||||||
|  |   else() | ||||||
|  |     find_package(MbedTLS REQUIRED) | ||||||
|  |     include_directories(${MBEDTLS_INCLUDE_DIRS}) | ||||||
|  |     target_link_libraries(ixwebsocket ${MBEDTLS_LIBRARIES}) | ||||||
|  |   endif() | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| if (WIN32) | find_package(ZLIB REQUIRED) | ||||||
|  | if (ZLIB_FOUND) | ||||||
|  |   include_directories(${ZLIB_INCLUDE_DIRS}) | ||||||
|  |   target_link_libraries(ixwebsocket ${ZLIB_LIBRARIES}) | ||||||
|  | else() | ||||||
|   add_subdirectory(third_party/zlib) |   add_subdirectory(third_party/zlib) | ||||||
|   include_directories(third_party/zlib ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib) |   include_directories(third_party/zlib ${CMAKE_CURRENT_BINARY_DIR}/third_party/zlib) | ||||||
|   target_link_libraries(ixwebsocket zlibstatic wsock32 ws2_32) |   target_link_libraries(ixwebsocket zlibstatic wsock32 ws2_32) | ||||||
|   add_definitions(-D_CRT_SECURE_NO_WARNINGS) |   add_definitions(-D_CRT_SECURE_NO_WARNINGS) | ||||||
|  |  | ||||||
| else() |  | ||||||
|   # gcc/Linux needs -pthread |  | ||||||
|   find_package(Threads) |  | ||||||
|  |  | ||||||
|   target_link_libraries(ixwebsocket  |  | ||||||
|     z ${CMAKE_THREAD_LIBS_INIT}) |  | ||||||
| endif() | endif() | ||||||
|  |  | ||||||
| set( IXWEBSOCKET_INCLUDE_DIRS | set( IXWEBSOCKET_INCLUDE_DIRS | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user