chore: initial commit
Some checks failed
Code Analysis / analysis (push) Failing after 2m59s

This commit is contained in:
2025-12-30 22:34:58 +07:00
commit 35a6349071
63 changed files with 2675 additions and 0 deletions

View File

@@ -0,0 +1,63 @@
add_library(frontend STATIC
# IntService.cpp
# BoolService.cpp
# FloatService.cpp
# StringService.cpp
CallData.cpp
server.hpp
RequestManager.hpp
)
# Find packages
find_package(Protobuf REQUIRED CONFIG)
find_package(gRPC REQUIRED CONFIG)
set(PROTO_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../proto")
# Define the proto files
set(PROTO_FILES
"${PROTO_ROOT_DIR}/v1/collections/common.proto"
"${PROTO_ROOT_DIR}/v1/collections/element_kind.proto"
"${PROTO_ROOT_DIR}/v1/collections/list.proto"
"${PROTO_ROOT_DIR}/v1/object/object.proto"
"${PROTO_ROOT_DIR}/v1/primitives/bool.proto"
"${PROTO_ROOT_DIR}/v1/primitives/float.proto"
"${PROTO_ROOT_DIR}/v1/primitives/int.proto"
"${PROTO_ROOT_DIR}/v1/primitives/string.proto"
)
# This allows protobuf_generate to find them when inspecting the target.
target_sources(frontend PRIVATE ${PROTO_FILES})
# Include directories
# We include the binary dir (for generated .pb.h files) and the root (for imports)
target_include_directories(frontend PUBLIC
"${CMAKE_CURRENT_BINARY_DIR}"
"${PROTO_ROOT_DIR}"
)
# Generate Standard Protobuf files (.pb.cc / .pb.h)
# We use 'protobuf_generate' instead of the legacy 'protobuf_generate_cpp'.
# It automatically adds the generated C++ files back into the 'frontend' target.
protobuf_generate(
TARGET frontend
LANGUAGE cpp
IMPORT_DIRS "${PROTO_ROOT_DIR}"
PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}"
)
# Generate gRPC specific files (.grpc.pb.cc / .grpc.pb.h)
protobuf_generate(
TARGET frontend
LANGUAGE grpc
GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc
PLUGIN "protoc-gen-grpc=$<TARGET_FILE:gRPC::grpc_cpp_plugin>"
IMPORT_DIRS "${PROTO_ROOT_DIR}"
PROTOC_OUT_DIR "${CMAKE_CURRENT_BINARY_DIR}"
)
target_link_libraries(frontend
PUBLIC
gRPC::grpc++
protobuf::libprotobuf
)