Skip to content

Commit

Permalink
Added build instructions in README and added build to workflow.
Browse files Browse the repository at this point in the history
  • Loading branch information
gmartin82 committed Aug 11, 2023
1 parent f4d1fdd commit d6f2185
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 4 deletions.
16 changes: 14 additions & 2 deletions .github/workflows/rust.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ jobs:

- name: Install ACL
if: startsWith(matrix.os,'ubuntu')
run: sudo apt-get -y install acl-dev
run: sudo apt-get -y install libacl1-dev

- name: Install Rust toolchain
uses: actions-rs/toolchain@v1
Expand All @@ -61,11 +61,23 @@ jobs:
command: build
args: -p zenoh-plugin-dds --verbose --all-targets

- name: Build zenoh-plugin-dds (with dds_shm)
uses: actions-rs/cargo@v1
with:
command: build
args: -p zenoh-plugin-dds --features dds_shm --verbose --all-targets

- name: Build zenoh-bridge-dds
uses: actions-rs/cargo@v1
with:
command: build
args: -p zenoh-bridge-dds --verbose --all-targets
args: -p zenoh-bridge-dds --verbose --all-targets

- name: Build zenoh-bridge-dds (with dds_shm)
uses: actions-rs/cargo@v1
with:
command: build
args: -p zenoh-bridge-dds --features dds_shm --verbose --all-targets

- name: Run tests
uses: actions-rs/cargo@v1
Expand Down
21 changes: 19 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,24 @@ $ cargo build --release -p zenoh-bridge-dds
The **`zenoh-bridge-dds`** binary will be generated in the `target/release` sub-directory.
### Enabling Cyclone DDS Shared Memory Support
Cyclone DDS Shared memory support is provided by the [Iceoryx library](https://iceoryx.io/). Iceoryx introduces additional system requirements which are documented [here](https://iceoryx.io/v2.0.1/getting-started/installation/#dependencies).
To build the zenoh bridge for DDS with support for shared memory the `dds_shm` optional feature must be enabled during the build process as follows:
- plugin library:
```bash
$ cargo build --release -p zenoh-plugin-dds --features dds_shm
```
- standalone executable binary:
```bash
$ cargo build --release -p zenoh-bridge-dds --features dds_shm
```
See [here](https://cyclonedds.io/docs/cyclonedds/latest/shared_memory/shared_memory.html) for more details of shared memory support in Cyclone DDS.
### ROS2 package
If you're a ROS2 user, you can also build `zenoh-bridge-dds` as a ROS package running:
```bash
Expand Down Expand Up @@ -247,8 +265,7 @@ The `"dds"` part of this same configuration file can also be used in the configu
- **`-d, --domain <ID>`** : The DDS Domain ID. By default set to `0`, or to `"$ROS_DOMAIN_ID"` is this environment variable is defined.
- **`--dds-localhost-only`** : If set, the DDS discovery and traffic will occur only on the localhost interface (127.0.0.1).
By default set to false, unless the "ROS_LOCALHOST_ONLY=1" environment variable is defined.
- **`--dds-enable-shm`** : If set, DDS will be configured to use shared memory. Only available if the `dds_shm` feature enabled when building the crate.
See [here](https://cyclonedds.io/docs/cyclonedds/latest/shared_memory.html) for more details of shared memory support in Cyclone DDS.
- **`--dds-enable-shm`** : If set, DDS will be configured to use shared memory.
By default set to false.
- **`-f, --fwd-discovery`** : When set, rather than creating a local route when discovering a local DDS entity, this discovery info is forwarded to the remote plugins/bridges. Those will create the routes, including a replica of the discovered entity. More details [here](#full-support-of-ros-graph-and-topic-lists-via-the-forward-discovery-mode)
- **`-s, --scope <String>`** : A string used as prefix to scope DDS traffic when mapped to zenoh keys.
Expand Down

0 comments on commit d6f2185

Please sign in to comment.