Files
2025-07-15 08:46:45 -07:00

40 lines
808 B
CMake

cmake_minimum_required(VERSION 3.15)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
project(core CXX)
find_package(fmt REQUIRED)
find_package(range-v3 REQUIRED)
find_package(cxxopts REQUIRED)
find_package(Protobuf CONFIG REQUIRED)
set(CMAKE_CXX_STANDARD 17)
add_library(core STATIC
"${CMAKE_CURRENT_SOURCE_DIR}/protocol/messenger/messenger.proto"
fib.cpp
)
set(PROTO_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/generated")
target_include_directories(core
PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}
"$<BUILD_INTERFACE:${PROTO_BINARY_DIR}>"
)
target_link_libraries(core
PRIVATE
fmt::fmt
range-v3::range-v3
cxxopts::cxxopts
PUBLIC
protobuf::libprotobuf
)
protobuf_generate(
TARGET core
IMPORT_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/protocol"
PROTOC_OUT_DIR "${PROTO_BINARY_DIR}"
)