42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
# StreamGenerator
|
|
|
|
Clone the repository to a local directory via:
|
|
|
|
```
|
|
git clone --recurse-submodules -j8 git@gitea.psi.ch:lin-instrument-computers/StreamGenerator.git
|
|
```
|
|
|
|
## Dependencies
|
|
|
|
Currently, this project requires a system install of librdkafka. On Redhat,
|
|
this means you should run:
|
|
|
|
```bash
|
|
dnf install -y librdkafka-devel
|
|
```
|
|
|
|
Additionally, you must first build Google's *flatbuffers* and ESS's
|
|
**streaming-data-types** libraries, which are both included in this project as
|
|
submodules under the `dep` directory and which are both necessary to build this
|
|
project.
|
|
|
|
First, you should enter the *flatbuffers* directory and run the following:
|
|
|
|
```bash
|
|
cmake -G "Unix Makefiles"
|
|
make -j
|
|
```
|
|
|
|
After these steps, you will find the program `flatc` has been built and placed
|
|
in the directory.
|
|
|
|
Next, you should return to the top of this project's directory tree, and create
|
|
the flatbuffers from ESS's schema files. This you can do as follows:
|
|
|
|
```bash
|
|
./dep/flatbuffers/flatc -o schemas/ --cpp --gen-mutable --gen-name-strings --scoped-enums ./dep/streaming-data-types/schemas/*
|
|
```
|
|
|
|
This generates header files from each of ESS's schemas and places them in a
|
|
schemas directory.
|