Compare commits
	
		
			3 Commits
		
	
	
		
			v4.0.1
			...
			feature/vc
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					1af96ed4e4 | ||
| 
						 | 
					7cb5cc05e4 | ||
| 
						 | 
					750a752ac0 | 
							
								
								
									
										32
									
								
								.travis.yml
									
									
									
									
									
								
							
							
						
						
									
										32
									
								
								.travis.yml
									
									
									
									
									
								
							@@ -36,6 +36,36 @@ 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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					install:
 | 
				
			||||||
 | 
					  # HACK: gcc 8.0.1 is missing movdirintrin.h so just download it. We need this for GLM and Vectrexy to build.
 | 
				
			||||||
 | 
					  - sudo wget https://raw.githubusercontent.com/gcc-mirror/gcc/gcc-8-branch/gcc/config/i386/movdirintrin.h -P /usr/lib/gcc/x86_64-linux-gnu/8/include/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Create deps dir
 | 
				
			||||||
 | 
					  - mkdir -p ${DEPS_DIR}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Set compiler vars
 | 
				
			||||||
 | 
					  - export CC=${CC_COMPILER}
 | 
				
			||||||
 | 
					  - export CXX=${CXX_COMPILER}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  # Install vcpkg and dependencies
 | 
				
			||||||
 | 
					  - |
 | 
				
			||||||
 | 
					    set -e
 | 
				
			||||||
 | 
					    mkdir -p ${DEPS_DIR}/vcpkg
 | 
				
			||||||
 | 
					    pushd ${DEPS_DIR}/vcpkg
 | 
				
			||||||
 | 
					    git init
 | 
				
			||||||
 | 
					    git remote add origin https://github.com/Microsoft/vcpkg.git
 | 
				
			||||||
 | 
					    git fetch origin master
 | 
				
			||||||
 | 
					    git checkout -b master origin/master
 | 
				
			||||||
 | 
					    ./bootstrap-vcpkg.sh
 | 
				
			||||||
 | 
					    # Only build release libs to save time. We inject a new line first since some cmake files don't end with one.
 | 
				
			||||||
 | 
					    echo -e '\nset(VCPKG_BUILD_TYPE release)' >> ./triplets/${VCPKG_TRIPLET}.cmake
 | 
				
			||||||
 | 
					    ./vcpkg install sdl2 sdl2-net glew glm stb imgui
 | 
				
			||||||
 | 
					    popd
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					cache:
 | 
				
			||||||
 | 
					  directories:
 | 
				
			||||||
 | 
					- ${DEPS_DIR}/vcpkg/installed
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -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
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								makefile
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								makefile
									
									
									
									
									
								
							@@ -12,7 +12,7 @@ brew:
 | 
				
			|||||||
	mkdir -p build && (cd build ; cmake -DUSE_TLS=1 -DUSE_WS=1 .. ; make -j install)
 | 
						mkdir -p build && (cd build ; cmake -DUSE_TLS=1 -DUSE_WS=1 .. ; make -j install)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ws:
 | 
					ws:
 | 
				
			||||||
	mkdir -p build && (cd build ; cmake -DUSE_TLS=1 -DUSE_WS=1 -DUSE_MBED_TLS=1 .. ; make -j)
 | 
						mkdir -p build && (cd build ; cmake -DUSE_TLS=1 -DUSE_WS=1 -DUSE_MBED_TLS=1 -DUSE_VENDORED_THIRD_PARTY=1 .. ; make -j)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
uninstall:
 | 
					uninstall:
 | 
				
			||||||
	xargs rm -fv < build/install_manifest.txt
 | 
						xargs rm -fv < build/install_manifest.txt
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user