diff options
| -rw-r--r-- | xmake/rules/protobuf/proto.lua | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/xmake/rules/protobuf/proto.lua b/xmake/rules/protobuf/proto.lua index bebeb3105..76b471948 100644 --- a/xmake/rules/protobuf/proto.lua +++ b/xmake/rules/protobuf/proto.lua @@ -108,6 +108,7 @@ function buildcmd_pfile(target, batchcmds, sourcefile_proto, sourcekind, opt) local autogendir local public local grpc_cpp_plugin + local proto_args local fileconfig = target:fileconfig(sourcefile_proto) if fileconfig then public = fileconfig.proto_public @@ -116,6 +117,8 @@ function buildcmd_pfile(target, batchcmds, sourcefile_proto, sourcekind, opt) -- @see https://github.com/xmake-io/xmake/issues/3678 autogendir = fileconfig.proto_autogendir grpc_cpp_plugin = fileconfig.proto_grpc_cpp_plugin + -- custom args, pass through to protoc + proto_args = fileconfig.proto_args end local rootdir = autogendir and autogendir or path.join(target:autogendir(), "rules", "protobuf") local filename = path.basename(sourcefile_proto) .. ".pb" .. (sourcekind == "cxx" and ".cc" or "-c.c") @@ -143,6 +146,16 @@ function buildcmd_pfile(target, batchcmds, sourcefile_proto, sourcekind, opt) table.insert(protoc_args, path(sourcefile_dir, function (p) return ("--grpc_out=") .. p end)) end + if proto_args then + if type(proto_args) == "string" then + table.insert(protoc_args, proto_args) + else + for _, v in ipairs(proto_args) do + table.insert(protoc_args, v) + end + end + end + -- add commands batchcmds:mkdir(sourcefile_dir) batchcmds:show_progress( |
