Skip to content

C++ client library to connect to the zenoh implementation of uProtocol

License

Notifications You must be signed in to change notification settings

eclipse-uprotocol/up-transport-zenoh-cpp

Repository files navigation

uProtocol C++ Zenoh Transport (up-transport-zenoh-cpp)

Welcome!

This library provides a Zenoh-based uProtocol transport for C++ uEntities.

IMPORTANT NOTE: This project is under active development

This module contains the Zenoh implementation of the Layer 1 UTransport API from up-cpp.

Getting Started

Requirements:

  • Compiler: GCC/G++ 11 or Clang 13
  • Conan : 1.59 or latest 2.X

Conan packages

Using the recipes found in up-conan-recipes, build these Conan packages:

  1. up-core-api - conan create --version 1.6.0 --build=missing up-core-api/release
  2. up-cpp - conan create --version 1.0.1-rc1 --build=missing up-cpp/release
  3. zenoh-c - conan create --version 0.11.0 zenoh-tmp/from-source

NOTE: all conan commands in this document use Conan 2.x syntax. Please adjust accordingly when using Conan 1.x.

How to Use the Library

To add up-transport-zenoh-cpp to your conan build dependencies, place following in your conanfile.txt:

[requires]
up-transport-zenoh-cpp/[>=1.0.0 <2.0.0]

[generators]
CMakeDeps
CMakeToolchain

[layout]
cmake_layout

NOTE: If using conan version 1.59 Ensure that the conan profile is configured to use ABI 11 (libstdc++11: New ABI) standards according to the Conan documentation for managing gcc ABIs.

Building locally

The following steps are only required for developers to locally build and test up-transport-zenoh-cpp, If you are making a project that uses up-transport-zenoh-cpp, follow the steps in the How to Use the Library section above.

With Conan for dependencies

cd up-client-zenoh-cpp
conan install . --build=missing
cmake --preset conan-release
cd build/Release
cmake --build . -- -j

Once the build completes, tests can be run with ctest.

With dependencies installed as system libraries

TODO Verify steps for pure cmake build without Conan.

Creating the Conan package

See: up-conan-recipes

Show your support

Give a ⭐️ if this project helped you!

About

C++ client library to connect to the zenoh implementation of uProtocol

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published