36 lines
1.2 KiB
CMake
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()
|