Skip to content

Installation

Dependencies

Required

  • Meson and Ninja -- build system
    • Available via package managers (apt, brew, dnf) or pip install meson ninja
  • LZ4 -- compression library
    • Available via package managers; if missing, built automatically from WrapDB

Optional

  • ROOT -- only needed for HipoDataFrame extension and ROOT examples
  • fmt -- formatting library; built from WrapDB if not found

Building

Create a build directory and configure:

meson setup build --prefix=$(pwd)/install

Compile, test, and install:

meson compile -C build   # compile
meson test    -C build   # run tests
meson install -C build   # install to prefix

Build Options

Project options are defined in meson.options at the repository root. To see the current values, run meson configure in the build directory and scroll down to the "Project options" section:

meson configure build

Set an option with -D<name>=<value>:

meson configure build -Dbuild_examples=false

Using the Installed Library

After installation, source the environment script:

source install/libexec/hipo4/this_hipo.sh

Or for csh/tcsh:

source install/libexec/hipo4/this_hipo.csh

pkg-config

The installed library provides a pkg-config file:

pkg-config --cflags --libs hipo4

Building Documentation

This documentation site is built with Zensical. Install the pinned dependencies and build the static site:

pip install -r docs-requirements.txt
zensical build --clean          # output written to public/

The diagrams under docs/assets/ are pre-rendered and committed. To regenerate them after editing a figure source in figures/, you also need Typst:

sh figures/build.sh