Skip to content

Latest commit

 

History

History
55 lines (34 loc) · 1.66 KB

File metadata and controls

55 lines (34 loc) · 1.66 KB

Building 3rd-party Dependencies

This document provides instructions for building the third-party dependencies required for DDS development.

BOOST Libraries

DDS requires BOOST 1.75 or higher with C++17 support.

BOOST on macOS

./bootstrap.sh --prefix=[INSTALL_DIR] --without-icu
./b2 --disable-icu --prefix=[INSTALL_DIR] -j8 --layout=system threading=multi link=shared,static cxxstd=17 install

cd [INSTALL_DIR]/lib
find . -name '*.dylib' -exec bash -c 'nm=$(basename $1);install_name_tool $1 -id [INSTALL_DIR]/lib/$nm' -- {} \;

BOOST on Linux

./bootstrap.sh --prefix=[INSTALL_DIR] --without-icu
./b2 --disable-icu --prefix=[INSTALL_DIR] -j8 --layout=system threading=multi link=shared,static cxxstd=17 install

Note: We recommend building boost without ICU library support to reduce the size of worker node packages.

Code Formatting

clang-format

DDS uses clang-format for consistent code formatting.

clang-format on macOS

Download from LLVM binary builds.
DDS requires LLVM version 15.0.7: Download

clang-format on Linux

Install via package manager or download from LLVM releases.

Development Tools

devtools-3 on CentOS/RHEL

For older CentOS/RHEL systems, you may need newer development tools: Software Collections Instructions

Build Requirements Summary

  • C++17 compiler (GCC 7+, Clang 5+, or equivalent)
  • CMake 3.19+
  • BOOST 1.75+ (built with C++17 support)
  • clang-format 15.0.7 (for development)