sword_game/CMakeLists.txt

40 lines
1 KiB
CMake

cmake_minimum_required(VERSION 3.10)
project(SocketServer VERSION 1.0)
set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED True)
add_compile_options(-Wall -Wextra -Wpedantic)
# Boost 및 의존성 찾기
find_package(Boost REQUIRED COMPONENTS system)
find_package(OpenSSL REQUIRED)
find_package(Protobuf REQUIRED)
# 컴파일 명령 추출 활성화 (LSP/IDE 용)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
# proto 컴파일
file(GLOB PROTO_FILES "${CMAKE_CURRENT_SOURCE_DIR}/proto/*.proto")
protobuf_generate_cpp(PROTO_SRCS PROTO_HDRS ${PROTO_FILES})
add_custom_target(generate_proto DEPENDS ${PROTO_SRCS} ${PROTO_HDRS})
add_executable(Server
server/main.cpp
server/NetworkService.cpp
server/Session.cpp
server/PacketHandler.cpp
server/SessionManager.cpp
server/DatabaseManager.cpp
${PROTO_SRCS} ${PROTO_HDRS}
)
target_include_directories(Server PRIVATE include ${CMAKE_CURRENT_BINARY_DIR})
target_link_libraries(Server PRIVATE
Boost::system
OpenSSL::SSL
OpenSSL::Crypto
protobuf::libprotobuf
)