IXWebSocket/test/CMakeLists.txt

77 lines
1.8 KiB
CMake
Raw Normal View History

2018-12-30 03:33:15 +01:00
#
# Author: Benjamin Sergeant
# Copyright (c) 2018 Machine Zone, Inc. All rights reserved.
#
2019-01-08 03:04:28 +01:00
cmake_minimum_required (VERSION 3.4.1)
project (ixwebsocket_unittest)
2018-12-30 03:33:15 +01:00
set (CMAKE_CXX_STANDARD 14)
2018-12-30 03:33:15 +01:00
2019-01-05 02:28:13 +01:00
if (NOT WIN32)
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../third_party/sanitizers-cmake/cmake" ${CMAKE_MODULE_PATH})
find_package(Sanitizers)
2019-05-06 18:13:42 +02:00
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread")
set(CMAKE_LD_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=thread")
2019-01-05 02:28:13 +01:00
option(USE_TLS "Add TLS support" ON)
endif()
2018-12-30 03:33:15 +01:00
add_subdirectory(${PROJECT_SOURCE_DIR}/.. ixwebsocket)
include_directories(
${PROJECT_SOURCE_DIR}/Catch2/single_include
../third_party/msgpack11
../third_party/spdlog/include
../ws
2018-12-30 03:33:15 +01:00
)
2019-01-05 23:40:17 +01:00
# Shared sources
set (SOURCES
2018-12-30 03:33:15 +01:00
test_runner.cpp
IXTest.cpp
../third_party/msgpack11/msgpack11.cpp
../ws/ixcore/utils/IXCoreLogger.cpp
2019-01-06 02:02:39 +01:00
IXSocketTest.cpp
2019-03-21 18:06:59 +01:00
IXSocketConnectTest.cpp
IXWebSocketServerTest.cpp
IXWebSocketTestConnectionDisconnection.cpp
IXUrlParserTest.cpp
IXWebSocketServerTest.cpp
IXHttpClientTest.cpp
2018-12-30 03:33:15 +01:00
)
2019-01-05 23:40:17 +01:00
# Some unittest don't work on windows yet
if (UNIX)
list(APPEND SOURCES
IXDNSLookupTest.cpp
2019-01-05 23:40:17 +01:00
cmd_websocket_chat.cpp
IXWebSocketCloseTest.cpp
2019-01-05 23:40:17 +01:00
)
endif()
# Some unittest fail for dubious reason on Ubuntu Xenial with TSAN
if (MAC OR WIN32)
list(APPEND SOURCES
IXWebSocketMessageQTest.cpp
)
endif()
# Ping test fails intermittently, disabling them for now
# IXWebSocketPingTest.cpp
# IXWebSocketPingTimeoutTest.cpp
# Disable tests for now that are failing or not reliable
2019-01-05 23:40:17 +01:00
add_executable(ixwebsocket_unittest ${SOURCES})
if (NOT WIN32)
add_sanitizers(ixwebsocket_unittest)
endif()
2019-01-05 23:40:17 +01:00
2018-12-30 03:33:15 +01:00
if (APPLE AND USE_TLS)
target_link_libraries(ixwebsocket_unittest "-framework foundation" "-framework security")
endif()
target_link_libraries(ixwebsocket_unittest ixwebsocket)
install(TARGETS ixwebsocket_unittest DESTINATION bin)