cmake_minimum_required(VERSION 3.29.8) project(UpAndDown) set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) if(POLICY CMP0167) cmake_policy(SET CMP0167 OLD) endif() set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_MULTITHREADED ON) set(Boost_INCLUDE_DIR ${BOOST_ROOT}) set(Boost_LIBRARY_DIR "${BOOST_ROOT}/stage/lib") find_package(Boost 1.88.0 REQUIRED COMPONENTS filesystem json log) if (Boost_FOUND) include_directories(${Boost_INCLUDE_DIR}) endif () set(mysql-concpp_DIR "C:/Libs/MySQLConnector") find_package(mysql-concpp REQUIRED) set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) add_executable(App ./src/main.cpp ./src/helpers/helpers.h ./src/helpers/helpers.cpp ./src/endpoints_handlers/HandleRequest.h ./src/session/HttpSession.h ./src/session/HttpSession.cpp ./src/session/WebsocketSession.h ./src/session/WebsocketSession.cpp ./src/listener/Listener.h ./src/listener/Listener.cpp ) target_link_libraries(App PRIVATE Boost::boost Threads::Threads) if (MSVC) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") endif () add_executable(HelpersTests ./tests/helpers/helpers_TEST.cpp ./src/helpers/helpers.h ./src/helpers/helpers.cpp) target_link_libraries(HelpersTests PRIVATE Boost::boost) add_test(HelpersTests HelpersTests)