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} "$" ) 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}" )