Tsunami Lab — Project Reports

Documentation and reports for the Tsunami Lab at Friedrich Schiller University Jena.

Code Documentation

The source code documentation is generated using Doxygen and hosted online:

Build Process

The project uses SCons as its build tool and Nix to provide a reproducible development environment.

Setup (first time):

curl --proto '=https' --tlsv1.2 -sSf -L https://install.determinate.systems/nix | sh -s -- install

Then restart your terminal.

Local build:

nix-shell
scons mode=debug
./build/tests

Style check:

find src/ -name "*.cpp" -o -name "*.h" | xargs clang-format --dry-run --Werror

To fix style violations automatically:

find src/ -name "*.cpp" -o -name "*.h" | xargs clang-format -i

CI/CD:

Every push and pull request to main triggers the GitHub Actions pipeline, which runs style checking (clang-format), static analysis (cppcheck), unit tests, sanitizer builds, and Valgrind memory checks.