1. Linux installation from sources

The eProsima Fast DDS QoS Profiles Manager tool suite is composed by several packages as described in the Introduction. It is organized as follows:

The tool suite can either be built using colcon or CMake. With CMake, the tool suite build and environment source processes must be done manually and following the tool package dependencies, whereas colcon automatizes these two actions with a single command. For that reason, the use of colcon is highly recommended.

1.1. Prerequisites

The installation of the tool suite in a Linux environment from sources requires some Build and development tools to be installed in the system.

1.1.1. Build and development tools

The following packages are required to build the eProsima Fast DDS QoS Profiles Manager tool suite from sources. Install CMake, g++, pip3 and git using the package manager of the appropriate Linux distribution. For example, on Ubuntu use the command:

sudo apt update
sudo apt install cmake g++ python3-pip git

1.2. Dependencies

This section deals with the required dependencies for each package included in the tool suite.

Important

The Library package is required for building the remaining tool packages.

1.2.1. Library tool

The eProsima Fast DDS QoS Profiles Manager Library requires Xerces. The package test suite depends on GTest.

1.2.1.1. Xerces

Xerces C++ is an Apache project that provides XML parsers and related components solutions for development. In Ubuntu, it can be installed running:

sudo apt install libxerces-c-dev

1.2.1.2. GTest (optional)

GTest is a unit testing library for C++. By default, eProsima Fast DDS QoS Profiles Manager does not compile tests. It is possible to activate them with the opportune CMake configuration options when calling colcon or CMake.

GTest installation can be performed either following the GTest installation instructions, or including the Gtest repository in the workspace directory, running:

git clone https://github.com/google/googletest ~/fastdds_qosprofman_ws/src/googletest-distribution

Note

If the colcon deployment is followed, and GTest has been installed in the workspace directory, the GTest dependency needs to be included in the Library colcon.pkg file. Please check the colcon build procedure for further information.

1.2.2. CLI tool

The eProsima Fast DDS QoS Profiles Manager CLI depends on the Library tool and also on the following package.

1.2.2.1. Docopt

docopt is a CLI description language that defines the interface of the command line applications and generates a parser for it automatically. In Ubuntu, the dependency can be installed running:

sudo apt install libdocopt-dev

1.2.3. GUI tool

Warning

This tool is still in development process.

1.2.4. Documentation tool

The eProsima Fast DDS QoS Profiles Manager Documentation depends on the Library tool and also on the following packages.

1.2.4.1. Doxygen

Doxygen is a C++ documentation generator. It is required to build the Library API reference. In Ubuntu, the dependency can be installed running:

sudo apt install doxygen

1.2.4.3. Python3 package dependencies

The Documentation tool has several python3 dependencies described in the requirements.txt project file.

breathe==4.35.0
doc8==0.10.1
docutils==0.16.0
setuptools==67.6.0
sphinx_rtd_theme==0.5.2
sphinx-tabs==3.2.0
sphinx==4.3.1
sphinxcontrib-imagehelper==1.1.1
sphinxcontrib-mermaid==0.8.1
sphinxcontrib-plantuml==0.22
sphinxcontrib.spelling==7.2.1

Important

Once the repository is downloaded, the requirements.txt dependencies file can be installed by running:

pip3 install -r ~/fastdds_qosprofman_ws/src/Fast-DDS-QoS-Profiles-Manager/docs/requirements.txt

1.3. Tool suite build process

Create a workspace directory and download the project:

mkdir -p ~/fastdds_qosprofman_ws/src
cd ~/fastdds_qosprofman_ws/src
git clone https://github.com/eProsima/Fast-DDS-QoS-Profiles-Manager.git

eProsima Fast DDS QoS Profiles Manager complete tool suite is build using colcon by running:

cd ~/fastdds_qosprofman_ws
colcon build

Note

Being based on CMake it is possible to pass CMake configuration options to the colcon build command. These options can be also passed through a colcon.meta file.

For instance, the Library and Documentation test suites building is enabled by building with the CMake option EPROSIMA_BUILD_TESTS. If GTest repository has been included in the workspace directory, add the GTest dependency ("googletest-distribution") in the Library colcon.pkg file. Also, colcon provides certain arguments to perform package selection, excluding undesired packages or including specific packages in the build process.

Thus, the following command would build the Library and Documentation tools with its test suite.

colcon build --packages-up-to fastdds_qos_profiles_manager_docs --cmake-args -DEPROSIMA_BUILD_TESTS=ON

1.4. Run CLI example

The fastddsqosprof executable file is generated in the installation path. In order to run the CLI, please, ensure to source the environment:

source ~/fastdds_qosprofman_ws/install/setup.bash

CLI should display its software version by running:

fastddsqosprof -v

Next steps: please look at the CLI examples.

1.5. Local documentation

The Documentation generated can be opened in a web browser locally by running:

xdg-open ~/fastdds_qosprofman_ws/install/fastdds_qos_profiles_manager_docs/docs/fastdds_qos_profiles_manager_docs/sphinx/html/index.html