Generate from proto and include as static library in client and server

This commit is contained in:
2026-02-02 20:39:11 +01:00
parent e63ee7103b
commit 3b6727a808
3 changed files with 17 additions and 8 deletions

View File

@@ -24,7 +24,7 @@ target_include_directories(chat_client
target_link_libraries(chat_client target_link_libraries(chat_client
PRIVATE PRIVATE
proto_interface proto_static
Qt::Core Qt::Core
Qt::Widgets Qt::Widgets
) )

View File

@@ -1,6 +1,10 @@
cmake_minimum_required(VERSION 3.23) cmake_minimum_required(VERSION 3.23)
project(proto LANGUAGES CXX) project(proto LANGUAGES CXX)
find_package(protobuf CONFIG REQUIRED)
find_package(gRPC CONFIG REQUIRED)
find_program(PROTOC_EXECUTABLE protoc) find_program(PROTOC_EXECUTABLE protoc)
find_program(GRPC_CPP_PLUGIN_EXECUTABLE grpc_cpp_plugin) find_program(GRPC_CPP_PLUGIN_EXECUTABLE grpc_cpp_plugin)
@@ -47,4 +51,14 @@ add_custom_command(
set_source_files_properties(${GENERATED_FILES} PROPERTIES GENERATED TRUE) set_source_files_properties(${GENERATED_FILES} PROPERTIES GENERATED TRUE)
add_library(proto_interface INTERFACE ${GENERATED_FILES}) add_library(proto_static STATIC ${GENERATED_FILES})
target_include_directories(proto_static PUBLIC
${PROTO_OUT}
)
target_link_libraries(proto_static PRIVATE
protobuf::libprotobuf
gRPC::grpc
gRPC::grpc++
)

View File

@@ -1,9 +1,6 @@
cmake_minimum_required(VERSION 3.23) cmake_minimum_required(VERSION 3.23)
project(chat_server LANGUAGES CXX) project(chat_server LANGUAGES CXX)
find_package(protobuf CONFIG REQUIRED)
find_package(gRPC CONFIG REQUIRED)
file(GLOB_RECURSE SOURCES "src/*.ui" "src/*.cpp" "inc/*.h" "res/*.qrc") file(GLOB_RECURSE SOURCES "src/*.ui" "src/*.cpp" "inc/*.h" "res/*.qrc")
add_executable(chat_server add_executable(chat_server
@@ -13,7 +10,5 @@ add_executable(chat_server
target_link_libraries(chat_server target_link_libraries(chat_server
PRIVATE PRIVATE
protobuf::libprotobuf proto_static
gRPC::grpc
gRPC::grpc++
) )