## Keyboard shortcuts

Press `←` or `→` to navigate between chapters

Press `S` or `/` to search in the book

Press `?` to show this help

Press `Esc` to hide this help

# Compilation

The framework is built with CMake on Windows and Linux. The build produces the `IMPETUS example user material` shared library for the active platform and embeds `user-material/manifest.json` into that library.

## Configure

Open a terminal in the project root and configure a build directory:

    cmake -S . -B build

With multi-configuration generators such as Visual Studio, the build type is selected during the build step instead of with `CMAKE_BUILD_TYPE`.

## Build

Build the configured project in Release mode:

    cmake --build build --config Release

For single-configuration generators such as Ninja, select the build type during configuration and build without `--config`:

    cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Release
    cmake --build build

The compiled library and its GUI sidecar documentation are written under the CMake build tree:

    build/deliverables/Release/IMPETUS example user material.dll
    build/deliverables/Release/IMPETUS example user material.xml

For single-configuration generators the same files are written directly under `build/deliverables`. On Linux the binary extension is `.so`.

## Optional Manifest Probe

If Python is available, the embedded manifest ABI can be checked after building:

    python tests/probe_umat_manifest.py "build/deliverables/Release/IMPETUS example user material.dll"

Use the built `.so` path instead of the `.dll` path on Linux.