# mesytec-mnode

## How to build

Requires: git ninja cmake gcc/clang libboost-filesystem-dev libboost-system-dev libboost-program-options-dev

If building under msys2 use ucrt64.

protobuf is required. Use the same compiler for protobuf and mesytec-mnode.

```bash
git clone --depth 1 https://github.com/protocolbuffers/protobuf --branch v3.29.2 --shallow-submodules --recurse-submodules=third_party/abseil-cpp
mkdir -p protobuf/build && cd protobuf/build && cmake -GNinja -DCMAKE_BUILD_TYPE=Release -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_INSTALL_PREFIX=~/local/protobuf .. && cmake --build . -j && cmake --install .; cd -
export CMAKE_PREFIX_PATH=~/local/protobuf
```

clone mesytec-mnode and run

```bash
cd mesytec-mnode
git submodule update --init --recursive
mkdir build && cd build && cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~/local/mesytec-mnode .. && cmake --build . -j && ctest . && cmake --install .
```
