cmake_minimum_required(VERSION 3.28) project(iovi_space_network LANGUAGES CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) # Исходники и заголовки set(HEADERS include/iovi_space/network/server_socket/ServerSocketListener.h include/iovi_space/network/server_socket/ServerSocketWrapper.h include/iovi_space/network/server_socket/ServerSocket.h ) set(SOURCES src/ServerSocketWrapper.cpp src/ServerSocket.cpp ) # Создаём статическую библиотеку add_library(iovi_space_network STATIC ${SOURCES} ${HEADERS}) # Публичные заголовки для подключения извне target_include_directories(iovi_space_network PUBLIC $ $ ) # Линковка системных библиотек для сокетов if(WIN32) target_link_libraries(iovi_space_network PRIVATE ws2_32) target_compile_definitions(iovi_space_network PRIVATE _WINSOCK_DEPRECATED_NO_WARNINGS) elseif(UNIX AND NOT APPLE) target_link_libraries(iovi_space_network PRIVATE pthread) endif()