我正在使用 cmake 生成这样的 protobuf 文件:
file(GLOB PROTO_FILES
${PROJECT_SOURCE_DIR}/*.proto
)
PROTOBUF_GENERATE_CPP(PROTO_SRCS PROTO_HDRS ${PROTO_FILES})
我的
protoc
是v3.14,所以当我使用proto3版本和可选字段时,我需要根据https://github.com/protocolbuffers/protobuf/blob/v3.12.0/docs/field_presence设置
--experimental_allow_proto3_optional
.md#协议调用,我怎样才能在cmake中做到这一点?
Cmake 3.28 为
PROTOC_OPTIONS
提供了
protobuf_generate
。
如果你使用的是较低的 cmake 版本,也许 github 上的
my_protobuf_generate
有帮助。