A monitor (GUI + probe) to inspect the real-time behavior of your code
A few dependencies are required for building:
- the GUI
- the units test
To do so, you can either install them by calling conan directly or by using the helper script setup_build.sh
This project uses Conan to manage its dependencies.
- Conan (>= 2.10)
- CMake (>= 3.28)
- C++17 compatible compiler:
- Linux: GCC >= 13 (recommended)
- macOS: Apple Clang (comes with Xcode Command Line Tools)
To initialize the build directory, use the provided setup_build.sh script. This script sets up all Conan dependencies inside the build directory. It also creates a toolchain.cmake file in the build directory that shall be used with cmake.
The build directory is created if needed.
Usage:
./setup_build.sh buildSystem Dependencies:
The GUI is based on GLFW, which requires platform-specific dependencies:
-
Linux: The following system libraries are required:
sudo apt-get install libwayland-dev libxkbcommon-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl-dev
(On Debian/Ubuntu systems)
-
MacOS: The required frameworks (Metal, MetalKit, QuartzCore) are part of the macOS SDK and require Xcode Command Line Tools to be installed:
xcode-select --install
-
Setup dependencies (if not already done):
./setup_build.sh build
-
Configure and build:
cmake -B build -DCMAKE_TOOLCHAIN_FILE=build/toolchain.cmake -DCMAKE_BUILD_TYPE=Release cmake --build build
Or using the traditional approach:
cd build cmake .. -DCMAKE_TOOLCHAIN_FILE=toolchain.cmake -DCMAKE_BUILD_TYPE=Release make
The project uses scikit-build-core for Python bindings. For an efficient build process (to avoid rebuilding from scratch every time), run:
# First, setup the build directory
./setup_build.sh /tmp/build
# Then install with uv
uv pip install --no-build-isolation -Cbuild-dir=/tmp/build -v .Note: This requires uv to be installed. The build process will automatically handle Conan dependencies through the setup script.