42 lines
1.4 KiB
Markdown
42 lines
1.4 KiB
Markdown
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
|
|
|
|
1. Download, build and install gRPC. See [instructions](https://github.com/grpc/grpc/tree/master/src/cpp).
|
|
* 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`.
|
|
2. `export GRPC_INSTALL_PATH=/your/path/to/grpc_repo/install`
|
|
3. `export PROTOBUF_DOWNLOAD_PATH=/your/path/to/grpc_repo/third_party/protobuf`
|
|
4. `mkdir build ; cd build`
|
|
5. `cmake -DFLATBUFFERS_BUILD_GRPCTEST=ON -DGRPC_INSTALL_PATH=${GRPC_INSTALL_PATH} -DPROTOBUF_DOWNLOAD_PATH=${PROTOBUF_DOWNLOAD_PATH} ..`
|
|
6. `make`
|
|
|
|
For Bazel users:
|
|
|
|
```shell
|
|
$bazel test src/compiler/...
|
|
```
|
|
|
|
## Running FlatBuffer gRPC tests
|
|
|
|
### Linux
|
|
|
|
1. `export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:${GRPC_INSTALL_PATH}/lib`
|
|
2. `make test ARGS=-V`
|
|
|
|
For Bazel users:
|
|
|
|
```shell
|
|
$bazel test tests/...
|
|
``` |