6. CMake options¶
eProsima Fast DDS provides numerous CMake options for changing the behavior and configuration of Fast DDS. These options allow the user to enable/disable certain Fast DDS settings by defining these options to ON/OFF at the CMake execution. This section is structured as follows: first, the CMake options for the general configuration of Fast DDS are described; then, the options related to the third party libraries are presented; finally, the possible options for the building of Fast DDS tests are defined.
6.1. General options¶
The Fast DDS CMake options for configuring general settings are shown below, together with their description and dependency on other options.
Option |
Description |
Possible values |
Default |
---|---|---|---|
|
Creates a build for Windows binary installers. Specifically it adds to the list of
|
|
|
|
Activates internal Fast DDS builds.
It is set to
|
|
|
|
Builds internal libraries as shared libraries, i.e. cause |
|
|
|
Activates the Fast DDS security module. Please refer to Security for more |
|
|
|
Disables Transport Layer Security (TLS) Support. Please refer to TLS over TCP |
|
|
|
Adds Shared Memory transport (SHM) to the default transports.
Please refer to |
|
|
|
Enables the Fast DDS Statistics module. Please refer to Statistics Module for |
|
|
|
Builds the Fast DDS examples. It is set to |
|
|
|
Installs the Fast DDS examples, i.e. adds the Fast DDS examples to the list of |
|
|
|
Uses doxygen to create the Fast DDS API reference documentation. It is set to |
|
|
|
Downloads Fast DDS documentation from Read the Docs media servers. The |
|
|
|
Enables a strict real-time behaviour. Please refer to the Real-Time Use Case for |
|
|
|
Builds the SQLITE3 Plugin, which enables the |
|
|
|
When |
|
|
|
When |
|
|
6.2. Log options¶
Fast DDS uses its own configurable Log module with different verbosity levels. Please, refer to Logging section for more information.
This module can be configured using Fast DDS CMake arguments regarding the following options.
Option |
Description |
Possible values |
Default |
---|---|---|---|
|
Selects the default log consumer for the logging module. |
|
|
|
Deactivates Info Log level. |
|
|
|
Enables Info Log level even on non |
|
|
|
Deactivates Warning Log level. |
|
|
|
Deactivates Error Log level. |
|
|
|
Activates compilation of log messages (See Disable Logging Module). |
|
|
6.3. Third-party libraries options¶
Fast DDS relies on the eProsima FastCDR library for serialization
mechanisms.
Moreover, Fast DDS requires two external dependencies for its proper operation: Asio and TinyXML2.
Asio is a cross-platform C++ library for network and low-level I/O programming, while TinyXML2 parses the XML profile
files, so Fast DDS can use them (see XML profiles).
These three libraries (eProsima FastCDR, Asio and TinyXML2) can be installed by the user, or downloaded on the
Fast DDS build.
In the latter case, they are referred to as Fast DDS internal third-party libraries.
This can be done by setting either THIRDPARTY
or EPROSIMA_BUILD
to ON
.
These libraries can also be configured using Fast DDS CMake options.
Option |
Description |
Possible values |
Default |
---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
android-ifaddrs is an implementation of |
|
|
|
Unless they are otherwise specified, sets value of all third-party |
|
|
|
Activates the update of all third-party git submodules. |
|
|
Note
ANDROID
is a CMake environment variable that is set to 1
if the target system
(CMAKE_SYSTEM_NAME
) is Android.
6.4. Test options¶
eProsima Fast DDS comes with a full set of tests for continuous integration. The types of tests are: unit tests, black-box tests, performance tests, profiling tests, and XTypes tests. The building and execution of these tests is specified by the Fast DDS CMake options shown in the table below.
Option |
Description |
Possible values |
Default |
---|---|---|---|
|
Activate the individual building of GoogleTest tests, since Fast DDS tests are |
|
|
|
Enables the building of black-box tests for the verification of RTPS communications |
|
|
|
Enables the building of black-box tests for the verification of DDS communications |
|
|
|
Activates the building of performance tests, except for the video test, which requires |
|
|
|
Activates the building of profiling tests using Valgrind. |
|
|
|
Activates the building of black-box, unit, xtypes, RTPS communication and |
|
|
|
If |
|
|
|
Disables UDPv6 tests. |
|
|