Skip to content

Developer Notes

wissem chiha edited this page Oct 7, 2026 · 5 revisions

This page is mainly for project developers and/or contributors

How to install Google Test on ubuntu

for gtest installation : https://gist.github.com/Cartexius/4c437c084d6e388288201aadf9c8cdd5?permalink_comment_id=2822039#gistcomment-2822039

sudo apt-get install libgtest-dev
cd /usr/src/googletest/googletest
sudo mkdir build
cd build
sudo cmake ..
sudo make
sudo cp lib/libgtest* /usr/lib/
cd ..
sudo rm -rf build

Then do:

sudo mkdir /usr/local/lib/googletest
sudo ln -s /usr/lib/libgtest.a /usr/local/lib/googletest/libgtest.a
sudo ln -s /usr/lib/libgtest_main.a /usr/local/lib/googletest/libgtest_main.a

How to install Ninja

  • On Windows (via Chocolatey):

    choco install ninja
  • On linux

    sudo apt-get install ninja-build

Sanitizers

Starting from version 0.1.2, we added support for AddressSanitizer, MemorySanitizer, and UnifiedBehaviorSanitizer in CMake scripts and GitHub Actions CI. Support with Bazel and Windows platforms (Bazel + CMake) is not yet ready. We faced a lot of hassle with sanitizers on Windows platforms, whether using Clang or MSVC toolchains.

We recommend using Unix‑based platforms when debugging sanitizer issues.

sudo apt-get install libc++1-11

https://ubuntu.pkgs.org/22.04/ubuntu-universe-amd64/libc++1-11_11.1.0-6_amd64.deb.html

Formatter and Static Analyzer

Tooling

Clang-Format: Formatting tool for your C/C++ code:

  • Documentation for Clang-Format: Link

Clang-Tidy: Static linting tool for your C/C++ code:

  • Documentation for Clang-Tidy: Link

Cmake-Format:

pip install cmake-format # python 3.7+

Coverage Tools

sudo apt-get install gcovr
pip install -U gcovr

Install Clang Tools

It's included in the LLVM toolchain, but also installable by apt, brew, winget etc.

https://github.com/llvm/llvm-project/releases/tag/llvmorg-16.0.0

Clone this wiki locally