How to generate the full coverage report

Requires gcovr program and gcc toolchain.

  1. Build with F3D_COVERAGE option enabled.
  2. Run all tests, xdotool needs to be installed. This will generate many .gcda files.
  3. Generate the report with: gcovr -r /path/to/sources --html --html-details -o coverage.html.

How to build and test with sanitizer

Requires clang toolchain.

  1. Build with F3D_SANITIZER option to any of the possible values.
  2. export LSAN_OPTIONS=suppressions=/path/to/f3d/.lsan.supp:use_tls=0.
  3. export TSAN_OPTIONS=suppressions=/path/to/f3d/.tsan.supp.
  4. Run all tests.

How to locally generate the Jekyll based website

  1. Install ruby and make sure ruby binaries directory is added to your PATH
  2. Install Jekyll and all dependencies: gem install jekyll jekyll-remote-theme jekyll-relative-links jekyll-seo-tag jekyll-optional-front-matter jekyll-titles-from-headings jekyll-include-cache
  3. Run Jekyll locally: jekyll server
  4. Open http://127.0.0.1:4000/ in a browser

Please note the favicon and search bar are not working locally, this is expected.

How to locally generate the doxygen documentation

  1. Install Python, pip and doxygen
  2. pip install sphinx sphinx-book-theme exhale
  3. sphinx-build -M html ./library/doxygen /path/to/build
  4. /path/to/build directory now contains a HTML website