cmake_minimum_required(VERSION 3.16) # # # Global settings # # set(CMAKE_CXX_STANDARD 23) set(CMAKE_CXX_STANDARD_REQUIRED ON) project(playground) # # # Dependencies # # # spdlog find_package(spdlog REQUIRED) # Google Test include(FetchContent) FetchContent_Declare( googletest URL https://github.com/google/googletest/archive/03597a01ee50ed33e9dfd640b249b4be3799d395.zip ) # For Windows: Prevent overriding the parent project's compiler/linker settings set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) FetchContent_MakeAvailable(googletest) # # # Executabless # # add_executable(playground src/main.cpp src/tcp.cpp) target_link_libraries(playground PRIVATE spdlog::spdlog) # # # Tests # # enable_testing() add_executable( tcp_test tests/tcp.cpp src/tcp.cpp ) target_link_libraries( tcp_test spdlog::spdlog GTest::gtest_main ) target_include_directories( tcp_test PRIVATE src ) include(GoogleTest) gtest_discover_tests(tcp_test)