- CMake
>= 3.16
- C++ Compiler
>= C++17
- Java Runtime
>= 11
- and see Dockerfile section
# retrieve third party modules
git submodule update --init --recursive
FROM ubuntu:22.04
RUN apt update -y && apt install -y git build-essential cmake ninja-build openjdk-11-jdk libgoogle-glog-dev pkg-config uuid-dev doxygen
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
ninja
available options:
-DBUILD_SHARED_LIBS=OFF
- create static libraries instead of shared libraries-DBUILD_TESTS=OFF
- don't build test programs-DBUILD_DOCUMENTS=OFF
- don't build documents by doxygen-DBUILD_EXAMPLES=OFF
- don't build nor test example programs-DINSTALL_EXAMPLES=ON
- also install example programs-DFORCE_INSTALL_RPATH=ON
- force set RPATH for non-default library paths- for debugging only
-DENABLE_SANITIZER=OFF
- disable sanitizers (requires-DCMAKE_BUILD_TYPE=Debug
)-DENABLE_UB_SANITIZER=ON
- enable undefined behavior sanitizer (requires-DENABLE_SANITIZER=ON
)-DENABLE_COVERAGE=ON
- enable code coverage analysis (requires-DCMAKE_BUILD_TYPE=Debug
)
ninja install
ctest
ninja doxygen