Files
Ivan I. Ovchinnikov 7d71515d22 vibes
2026-05-28 22:26:46 +03:00

36 lines
1.2 KiB
CMake

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
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
$<INSTALL_INTERFACE:include>
)
# Линковка системных библиотек для сокетов
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()