diff --git a/grpc/samples/greeter/Makefile b/grpc/samples/greeter/Makefile index 374670551..910483cac 100644 --- a/grpc/samples/greeter/Makefile +++ b/grpc/samples/greeter/Makefile @@ -4,11 +4,11 @@ LDFLAGS ?= .PHONY: all all: server client -greeter_generated.h: greeter.fbs +greeter_generated: greeter.fbs flatc --grpc --cpp $< -server: server.cpp greeter.grpc.fb.cc greeter_generated.h greeter.grpc.fb.h +server: greeter_generated server.cpp greeter.grpc.fb.cc greeter.grpc.fb.h g++ -std=c++11 -O2 $(CXXFLAGS) $(LDFLAGS) -lgpr -lgrpc -lgrpc++ server.cpp greeter.grpc.fb.cc -o $@ -client: client.cpp greeter.grpc.fb.cc greeter_generated.h greeter.grpc.fb.h +client: greeter_generated client.cpp greeter.grpc.fb.cc greeter.grpc.fb.h g++ -std=c++11 -O2 $(CXXFLAGS) $(LDFLAGS) -lgpr -lgrpc -lgrpc++ client.cpp greeter.grpc.fb.cc -o $@ diff --git a/grpc/src/compiler/cpp_generator.cc b/grpc/src/compiler/cpp_generator.cc index 3f434258d..5d3e90774 100644 --- a/grpc/src/compiler/cpp_generator.cc +++ b/grpc/src/compiler/cpp_generator.cc @@ -1155,6 +1155,7 @@ grpc::string GetSourcePrologue(grpc_generator::File *file, vars["filename"] = file->filename(); vars["filename_base"] = file->filename_without_ext(); + vars["message_header_ext"] = file->message_header_ext(); vars["service_header_ext"] = file->service_header_ext(); printer->Print(vars, "// Generated by the gRPC C++ plugin.\n"); @@ -1162,6 +1163,7 @@ grpc::string GetSourcePrologue(grpc_generator::File *file, "// If you make any local change, they will be lost.\n"); printer->Print(vars, "// source: $filename$\n\n"); + printer->Print(vars, "#include \"$filename_base$$message_header_ext$\"\n"); printer->Print(vars, "#include \"$filename_base$$service_header_ext$\"\n"); printer->Print(vars, "\n"); } diff --git a/src/idl_gen_grpc.cpp b/src/idl_gen_grpc.cpp index e54c89709..6894ffb0d 100644 --- a/src/idl_gen_grpc.cpp +++ b/src/idl_gen_grpc.cpp @@ -246,9 +246,7 @@ class FlatBufFile : public grpc_generator::File { return parser_.opts.filename_suffix + ".h"; } - std::string service_header_ext() const { - return parser_.opts.filename_suffix + ".grpc.fb.h"; - } + std::string service_header_ext() const { return ".grpc.fb.h"; } std::string package() const { return parser_.current_namespace_->GetFullyQualifiedName(""); @@ -374,14 +372,10 @@ bool GenerateCppGRPC(const Parser &parser, const std::string &path, grpc_cpp_generator::GetSourceServices(&fbfile, generator_parameters) + grpc_cpp_generator::GetSourceEpilogue(&fbfile, generator_parameters); - return flatbuffers::SaveFile( - (path + file_name + parser.opts.filename_suffix + ".grpc.fb.h") - .c_str(), - header_code, false) && - flatbuffers::SaveFile( - (path + file_name + parser.opts.filename_suffix + ".grpc.fb.cc") - .c_str(), - source_code, false); + return flatbuffers::SaveFile((path + file_name + ".grpc.fb.h").c_str(), + header_code, false) && + flatbuffers::SaveFile((path + file_name + ".grpc.fb.cc").c_str(), + source_code, false); } class JavaGRPCGenerator : public flatbuffers::BaseGenerator {