Added GRPC code generator to flatc.
Also added simple (in-process) test.
Change-Id: I38580d554dd52f590e3396ec4846e07546dcf07d
Tested: on Linux.
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b1e56d6..c2dd950 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,7 @@
option(FLATBUFFERS_BUILD_FLATLIB "Enable the build of the flatbuffers library" ON)
option(FLATBUFFERS_BUILD_FLATC "Enable the build of the flatbuffers compiler" ON)
option(FLATBUFFERS_BUILD_FLATHASH "Enable the build of flathash" ON)
+option(FLATBUFFERS_BUILD_GRPCTEST "Enable the build of grpctest" OFF)
if(NOT FLATBUFFERS_BUILD_FLATC AND FLATBUFFERS_BUILD_TESTS)
message(WARNING
@@ -39,7 +40,10 @@
src/idl_gen_php.cpp
src/idl_gen_python.cpp
src/idl_gen_fbs.cpp
+ src/idl_gen_grpc.cpp
src/flatc.cpp
+ grpc/src/compiler/cpp_generator.h
+ grpc/src/compiler/cpp_generator.cc
)
set(FlatHash_SRCS
@@ -76,6 +80,16 @@
${CMAKE_CURRENT_BINARY_DIR}/samples/monster_generated.h
)
+set(FlatBuffers_GRPCTest_SRCS
+ include/flatbuffers/flatbuffers.h
+ include/flatbuffers/grpc.h
+ tests/monster_test.grpc.fb.h
+ tests/monster_test.grpc.fb.cc
+ grpc/tests/grpctest.cpp
+ # file generated by running compiler on samples/monster.fbs
+ ${CMAKE_CURRENT_BINARY_DIR}/samples/monster_generated.h
+)
+
# source_group(Compiler FILES ${FlatBuffers_Compiler_SRCS})
# source_group(Tests FILES ${FlatBuffers_Tests_SRCS})
@@ -129,6 +143,7 @@
endif()
include_directories(include)
+include_directories(grpc)
if(FLATBUFFERS_BUILD_FLATLIB)
add_library(flatbuffers STATIC ${FlatBuffers_Library_SRCS})
@@ -174,6 +189,14 @@
add_executable(flatsampletext ${FlatBuffers_Sample_Text_SRCS})
endif()
+if(FLATBUFFERS_BUILD_GRPCTEST)
+ if(CMAKE_COMPILER_IS_GNUCXX)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
+ endif()
+ add_executable(grpctest ${FlatBuffers_GRPCTest_SRCS})
+ target_link_libraries(grpctest grpc++_unsecure grpc pthread dl)
+endif()
+
if(FLATBUFFERS_INSTALL)
install(DIRECTORY include/flatbuffers DESTINATION include)
if(FLATBUFFERS_BUILD_FLATLIB)