CMake build configuration

The following table lists some configuration options specified using CMake defines (in addition to the standard options such as CMAKE_BUILD_TYPE):


Build the included examples


Build the test suite (forces exporting all symbols from the library)


Disable building the IDL compiler (affects building examples, tests and ddsperf)


Disable building the The ddsperf tool (GitHub ddsperf) tool for performance measurement.


Do not look for OpenSSL, remove TLS/TCP support and avoid building the plugins that implement authentication and encryption (default is AUTO to enable them if OpenSSL is found)


Do not look for Eclipse iceoryx and disable Shared memory exchange (default is AUTO to enable it if iceoryx is found)


Do not build the security interfaces and hooks in the core code, nor the plugins (you can enable security without OpenSSL present, you’ll just have to find plugins elsewhere in that case)


Exclude support for finite lifespans QoS


Exclude support for finite deadline QoS settings


Exclude support for the type library, requires also disabling type and topic discovery using -DENABLE_TYPE_DISCOVERY=NO and -DENABLE_TOPIC_DISCOVERY=NO


Exclude support for type discovery and checking type compatibility (effectively most of XTypes), requires also disabling topic discovery using -DENABLE_TOPIC_DISCOVERY=NO


Exclude support for topic discovery


Disable support for source-specific multicast (disabling this and -DENABLE_IPV6=NO may be needed for QNX builds)


Disable ipv6 support (disabling this and -DENABLE_SOURCE_SPECIFIC_MULTICAST=NO may be needed for QNX builds)


Include a set of tests for the IDL compiler that use the C back-end to compile an IDL file at (test) runtime, and use the C compiler to build a test application for the generated types, that is executed to do the actual testing (not supported on Windows)