mirror of
https://github.com/google/flatbuffers.git
synced 2026-06-02 04:04:19 +00:00
Added (for compiler versions that support it): -Wmissing-declarations -Wzero-as-null-pointer-constant Then, fixes to problems identified by the extra warnings Tested only on GCC 9.4.0 Adjusted the CPP code generator to output nullptr where appropriate, to satisfy -Wzero-as-null-pointer-constant Added a lot of 'static' declarations in front of functions, to satisfy -Wmissing-declarations, and wrap static function defs in anonymous namespaces. There are advantages to both anonymous namespaces and static, it seems that marking a function as static will not publish the name in the symbol table at all, thus giving the linker less work to do.
GRPC implementation and test
NOTE: files in src/ are shared with the GRPC project, and maintained there
(any changes should be submitted to GRPC instead). These files are copied
from GRPC, and work with both the Protobuf and FlatBuffers code generator.
tests/ contains a GRPC specific test, you need to have built and installed
the GRPC libraries for this to compile. This test will build using the
FLATBUFFERS_BUILD_GRPCTEST option to the main FlatBuffers CMake project.
Building Flatbuffers with gRPC
Linux
- Download, build and install gRPC. See instructions.
- Lets say your gRPC clone is at
/your/path/to/grpc_repo. - Install gRPC in a custom directory by running
make install prefix=/your/path/to/grpc_repo/install.
- Lets say your gRPC clone is at
export GRPC_INSTALL_PATH=/your/path/to/grpc_repo/installexport PROTOBUF_DOWNLOAD_PATH=/your/path/to/grpc_repo/third_party/protobufmkdir build ; cd buildcmake -DFLATBUFFERS_BUILD_GRPCTEST=ON -DGRPC_INSTALL_PATH=${GRPC_INSTALL_PATH} -DPROTOBUF_DOWNLOAD_PATH=${PROTOBUF_DOWNLOAD_PATH} ..make
For Bazel users:
$bazel test src/compiler/...
Running FlatBuffer gRPC tests
Linux
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${GRPC_INSTALL_PATH}/libmake test ARGS=-V
For Bazel users:
$bazel test tests/...