diff --git a/CMakeLists.txt b/CMakeLists.txt index 0b021d3..b64b0b7 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,3 @@ -#X cmake_minimum_required(VERSION 3.6) project(TeaSpeak-Shared) set(CMAKE_CXX_STANDARD 17) @@ -8,10 +7,11 @@ if(NOT WIN32) set(CMAKE_INCLUDE_CURRENT_DIR ON) endif() -if(NOT TEASPEAK_SERVER) - set(CMAKE_MODULE_PATH "C:/Users/WolverinDEV/TeaSpeak/cmake") - include(${CMAKE_MODULE_PATH}/libraries_wolverin_lap.cmake) +if(CMAKE_PLATFORM_INCLUDE AND NOT CMAKE_PLATFORM_INCLUDE STREQUAL "") + include(${CMAKE_PLATFORM_INCLUDE}) +endif() +if(NOT TEASPEAK_SERVER) find_package(TomMath REQUIRED) include_directories(${TomMath_INCLUDE_DIR}) @@ -22,20 +22,21 @@ if(NOT TEASPEAK_SERVER) include_directories(${DataPipes_INCLUDE_DIR}) message("Include: ${DataPipes_INCLUDE_DIR}") - find_package(LibEvent REQUIRED) + find_package(Libevent REQUIRED) include_directories(${LIBEVENT_INCLUDE_DIRS}) find_package(StringVariable REQUIRED) include_directories(${StringVariable_INCLUDE_DIR}) - find_package(ed25519 REQUIRED) + find_package(Ed25519 REQUIRED) include_directories(${ed25519_INCLUDE_DIR}) find_package(ThreadPool REQUIRED) include_directories(${ThreadPool_INCLUDE_DIR}) - add_definitions(-DWINDOWS) #Required for ThreadPool - - find_package(SpdLog CONFIG REQUIRED) + if(WIN32) + add_definitions(-DWINDOWS) #Required for ThreadPool + endif() + find_package(spdlog CONFIG REQUIRED) link_libraries(spdlog::spdlog) #Its a header only lib so we should be fine :) add_definitions(-DNO_OPEN_SSL) @@ -163,8 +164,9 @@ if(HAVE_OPEN_SSL) endif() if (NOT WIN32) + #TODO: Do we really need that anymroe? set(SOURCE_FILES ${SOURCE_FILES} - src/misc/TraceUtils.cpp + #src/misc/TraceUtils.cpp ) set(HEADER_FILES ${HEADER_FILES} @@ -197,34 +199,38 @@ set(TEST_LIBRARIES include_directories(src/) -add_executable(RingTest test/RingTest.cpp ${SOURCE_FILES}) -target_link_libraries(RingTest ${TEST_LIBRARIES}) -if(NOT WIN32) - add_executable(CommandTest ${SOURCE_FILES} ${HEADER_FILES} test/CommandTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) - target_link_libraries(CommandTest ${TEST_LIBRARIES}) +option(BUILD_TESTS "Enable/disable test building" ON) +if(BUILD_TESTS) + add_executable(RingTest test/RingTest.cpp ${SOURCE_FILES}) + target_link_libraries(RingTest ${TEST_LIBRARIES}) - add_executable(WebsocketTest ${SOURCE_FILES} ${HEADER_FILES} test/WSSTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) - target_link_libraries(WebsocketTest ${TEST_LIBRARIES}) + if(NOT WIN32) + add_executable(CommandTest ${SOURCE_FILES} ${HEADER_FILES} test/CommandTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) + target_link_libraries(CommandTest ${TEST_LIBRARIES}) - add_executable(SQLTest ${SOURCE_FILES} ${HEADER_FILES} test/SQLTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) - target_link_libraries(SQLTest ${TEST_LIBRARIES}) + add_executable(WebsocketTest ${SOURCE_FILES} ${HEADER_FILES} test/WSSTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) + target_link_libraries(WebsocketTest ${TEST_LIBRARIES}) - add_executable(ChannelTest ${SOURCE_FILES} ${HEADER_FILES} test/ChannelTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) - target_link_libraries(ChannelTest ${TEST_LIBRARIES}) + add_executable(SQLTest ${SOURCE_FILES} ${HEADER_FILES} test/SQLTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) + target_link_libraries(SQLTest ${TEST_LIBRARIES}) - add_executable(EndianessTest ${SOURCE_FILES} ${HEADER_FILES} test/EndianessTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) - target_link_libraries(EndianessTest ${TEST_LIBRARIES}) + add_executable(ChannelTest ${SOURCE_FILES} ${HEADER_FILES} test/ChannelTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) + target_link_libraries(ChannelTest ${TEST_LIBRARIES}) - include_directories(/usr/local/include/breakpad) - add_executable(CrashTest test/CrashTest.cpp ${SOURCE_FILES}) - target_link_libraries(CrashTest ${TEST_LIBRARIES}) + add_executable(EndianessTest ${SOURCE_FILES} ${HEADER_FILES} test/EndianessTest.cpp src/log/LogSinks.cpp src/log/LogSinks.h) + target_link_libraries(EndianessTest ${TEST_LIBRARIES}) - add_executable(PorpertyTest test/PropertyTest.cpp ${SOURCE_FILES}) - target_link_libraries(PorpertyTest ${TEST_LIBRARIES}) + include_directories(/usr/local/include/breakpad) + add_executable(CrashTest test/CrashTest.cpp ${SOURCE_FILES}) + target_link_libraries(CrashTest ${TEST_LIBRARIES}) - add_executable(BBTest test/BBTest.cpp ${SOURCE_FILES}) - target_link_libraries(BBTest ${TEST_LIBRARIES}) + add_executable(PorpertyTest test/PropertyTest.cpp ${SOURCE_FILES}) + target_link_libraries(PorpertyTest ${TEST_LIBRARIES}) - add_executable(LinkedTest test/LinkedTest.cpp ${SOURCE_FILES}) - target_link_libraries(LinkedTest ${TEST_LIBRARIES}) + add_executable(BBTest test/BBTest.cpp ${SOURCE_FILES}) + target_link_libraries(BBTest ${TEST_LIBRARIES}) + + add_executable(LinkedTest test/LinkedTest.cpp ${SOURCE_FILES}) + target_link_libraries(LinkedTest ${TEST_LIBRARIES}) + endif() endif()