From 15e10df4e469a71ebaf7962f550f0547b7669223 Mon Sep 17 00:00:00 2001 From: Wend4r <47463683+Wend4r@users.noreply.github.com> Date: Tue, 3 Sep 2024 15:34:11 +0300 Subject: [PATCH] Push `usermessages` proto --- CMakeLists.txt | 6 ++++++ cmake/sourcesdk/proto.cmake | 30 ++++++++++++++++++++++++++---- game/shared/.gitignore | 2 ++ 3 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 game/shared/.gitignore diff --git a/CMakeLists.txt b/CMakeLists.txt index d5abeca78..9e9362556 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -24,6 +24,11 @@ string(TIMESTAMP PROJECT_BUILD_TIME "%H:%M:%S") set(SOURCESDK_DIR "${CMAKE_CURRENT_SOURCE_DIR}") +set(SOURCESDK_PROTO_DIRS + common + game/shared +) + set(SOURCESDK_PROTO_FILES common/connectionless_netmessages common/engine_gcmessages @@ -34,6 +39,7 @@ set(SOURCESDK_PROTO_FILES common/steamnetworkingsockets_messages_udp common/steamnetworkingsockets_messages common/valveextensions + game/shared/usermessages ) set(SOURCESDK_ENTITY2_DIR "${SOURCESDK_DIR}/entity2") diff --git a/cmake/sourcesdk/proto.cmake b/cmake/sourcesdk/proto.cmake index f059a7680..b808cb046 100644 --- a/cmake/sourcesdk/proto.cmake +++ b/cmake/sourcesdk/proto.cmake @@ -27,12 +27,34 @@ foreach(PROTO_FILE IN LISTS SOURCESDK_PROTO_FILES) list(APPEND SOURCESDK_PROTO_FILENAME_FILES "${PROTO_FILE}.proto") endforeach() -execute_process( - COMMAND ${CMAKE_COMMAND} -E echo "Generating Protobuf files" - COMMAND ${SOURCESDK_PROTOC_EXECUTABLE} --proto_path=${SOURCESDK_PROTOBUF_SOURCE_DIR} --proto_path=common --cpp_out=common ${SOURCESDK_PROTO_FILENAME_FILES} - WORKING_DIRECTORY ${SOURCESDK_DIR} +set(SOURCESDK_PROTO_PATH_ARGS + ${SOURCESDK_PROTO_PATH_ARGS} ) +list(APPEND SOURCESDK_PROTO_DIRS ${SOURCESDK_PROTOBUF_SOURCE_DIR}) + +foreach(PROTO_DIR IN LISTS SOURCESDK_PROTO_DIRS) + message(STATUS "PROTO_DIR = ${PROTO_DIR}") + + list(APPEND SOURCESDK_PROTO_PATH_ARGS + "--proto_path=${PROTO_DIR}" + ) +endforeach() + +foreach(PROTO_FILENAME IN LISTS SOURCESDK_PROTO_FILENAME_FILES) + get_filename_component(PROTO_DIR "${PROTO_FILENAME}" DIRECTORY) + + execute_process( + COMMAND ${CMAKE_COMMAND} -E echo "Generating Protobuf file - ${PROTO_FILENAME}" + COMMAND ${SOURCESDK_PROTOC_EXECUTABLE} ${SOURCESDK_PROTO_PATH_ARGS} --cpp_out=${PROTO_DIR} ${PROTO_FILENAME} + WORKING_DIRECTORY ${SOURCESDK_DIR} + ) +endforeach() + +foreach(PROTO_FILE IN LISTS SOURCESDK_PROTO_FILES) + list(APPEND SOURCESDK_PROTO_FILENAME_FILES "${PROTO_FILE}.proto") +endforeach() + set(SOURCESDK_PROTO_SOURCE_FILES ${SOURCESDK_PROTO_SOURCE_FILES} ) diff --git a/game/shared/.gitignore b/game/shared/.gitignore new file mode 100644 index 000000000..301ac3c83 --- /dev/null +++ b/game/shared/.gitignore @@ -0,0 +1,2 @@ +# Generated ones by protoc +*.pb.*