Skip to content

Instantly share code, notes, and snippets.

@QiMata
Created August 24, 2018 01:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save QiMata/7586d6e42b5efa62c2aed892d8410dd9 to your computer and use it in GitHub Desktop.
Save QiMata/7586d6e42b5efa62c2aed892d8410dd9 to your computer and use it in GitHub Desktop.
A CMake snippet for auto generating protobuf c++ files during make file generation
file(GLOB PROTOBUF_DEFINITION_FILES "*.proto")
set(PROTOBUF_INPUT_DIRECTORY "${PROJECT_SOURCE_DIR}")
set(PROTOBUF_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/Models/Proto/")
foreach(file ${PROTOBUF_DEFINITION_FILES})
set(PROTOBUF_ARGUMENTS "protoc --proto_path=\"${PROTOBUF_INPUT_DIRECTORY}\" --cpp_out=\"${PROTOBUF_OUTPUT_DIRECTORY}\" \"${file}\"")
execute_process(COMMAND ${PROTOBUF_OUTPUT_DIRECTORY}
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
RESULT_VARIABLE PROTOBUF_RESULT
OUTPUT_VARIABLE PROTOBUF_OUTPUT_VARIABLE)
endforeach()
file(GLOB PROTOBUF_MODELS_INCLUDES "Models/Proto/*.pb.cc" "Models/Proto/*.hpp")
@LWSS
Copy link

LWSS commented May 13, 2020

COMMAND isn't being passed anything but the output directory

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment