Skip to content

Commit

Permalink
Bring zenoh router via vendor. (#63)
Browse files Browse the repository at this point in the history
* Bring zenoh router via vendor.

Signed-off-by: Franco Cipollone <[email protected]>
  • Loading branch information
francocipollone authored and Yadunund committed Jan 12, 2024
1 parent e41765a commit cecdac4
Show file tree
Hide file tree
Showing 4 changed files with 51 additions and 7 deletions.
7 changes: 0 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,6 @@ Install latest rustc.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

Install zenohd router
> Note: The manual zenoh router installation won't be required in the future.
```bash
echo "deb [trusted=yes] https://download.eclipse.org/zenoh/debian-repo/ /" | sudo tee -a /etc/apt/sources.list > /dev/null
sudo apt update && sudo apt install zenoh -y
```

Build `rmw_zenoh_cpp`

```bash
Expand Down
1 change: 1 addition & 0 deletions rmw_zenoh_cpp/package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
<buildtool_depend>ament_cmake</buildtool_depend>

<build_depend>zenoh_c_vendor</build_depend>
<build_depend>zenohd_vendor</build_depend>

<depend>ament_index_cpp</depend>
<depend>fastcdr</depend>
Expand Down
33 changes: 33 additions & 0 deletions zenohd_vendor/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
cmake_minimum_required(VERSION 3.16)
project(zenohd_vendor)

# Default to C++17
if(NOT CMAKE_CXX_STANDARD)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
endif()

find_package(ament_cmake REQUIRED)

include(ExternalProject)

ExternalProject_Add(
zenoh
PREFIX ${CMAKE_BINARY_DIR}/_cargo_deps
GIT_REPOSITORY https://github.com/eclipse-zenoh/zenoh.git
GIT_TAG master
BUILD_COMMAND cargo build --package zenohd --release
CONFIGURE_COMMAND "" # Disable the configure step
INSTALL_COMMAND ""
BUILD_IN_SOURCE 1
)

# Install the zenohd executable from the rust crate
install(
PROGRAMS ${CMAKE_BINARY_DIR}/_cargo_deps/src/zenoh/target/release/zenohd
DESTINATION bin
)

# TODO(francocipollone): Install zenoh router plugins

ament_package()
17 changes: 17 additions & 0 deletions zenohd_vendor/package.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0"?>
<?xml-model href="http://download.ros.org/schema/package_format3.xsd" schematypens="http://www.w3.org/2001/XMLSchema"?>
<package format="3">
<name>zenohd_vendor</name>
<version>0.0.1</version>
<description>Vendor pkg to install zenoh router</description>
<maintainer email="[email protected]">FrancoCipollone</maintainer>
<license>Apache License 2.0</license>

<buildtool_depend>ament_cmake</buildtool_depend>

<!-- <build_depend>cargo</build_depend> -->

<export>
<build_type>ament_cmake</build_type>
</export>
</package>

0 comments on commit cecdac4

Please sign in to comment.