cmake_minimum_required(VERSION 3.10)

project(WinSock2Wrapper)

set(CMAKE_C_STANDARD 17)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_C_STANDARD_REQUIRED True)
set(CMAKE_CXX_STANDARD_REQUIRED True)

add_library(
    wrapper
    ./socket.cpp
)

target_include_directories(
    wrapper
    PUBLIC .
)

add_executable(
    test_server
    ./main.cpp
)

target_include_directories(
    test_server
    PUBLIC .
)

target_link_libraries(
    test_server
    PUBLIC wrapper
)

# ThreadPool + LockFreeQueue test (header-only, no link deps)
add_executable(
    test_pool
    ./test_pool.cpp
    ./pool.cpp
)

target_include_directories(
    test_pool
    PUBLIC .
)
