Skip to content

Installation

Prerequisites

  • C++20 compatible compiler (GCC 10+, Clang 12+, or MSVC 19.29+)
  • Meson build system (>= 0.60)
  • Ninja (recommended)

Required Dependencies

Dependency Description Required For
lz4 Compression library All tools
fmt Formatting library All tools
FTXUI Terminal UI library All tools
ROOT CERN data analysis framework hipo2root only

Automatic dependency handling

If lz4, fmt, or FTXUI are not installed on your system, Meson will automatically download and build them from source via the subprojects mechanism.

Building from Source

Basic Build

# Clone the repository
git clone git@code.jlab.org:ouillon/hipo-utils.git
cd hipo-utils

# Configure and build
meson setup build
meson compile -C build

Installation

# Install to system (may require sudo)
meson install -C build

# Or install to custom prefix
meson setup build --prefix=/path/to/install
meson compile -C build
meson install -C build

Build Options

# Debug build
meson setup build --buildtype=debug

# Release build with optimizations (default)
meson setup build --buildtype=release

Verifying Installation

# Check version
hipo-info --version

# Test with a HIPO file
hipo-info your_file.hipo

Platform-Specific Notes

macOS

# Install dependencies via Homebrew
brew install meson ninja lz4 fmt root

Ubuntu/Debian

# Install build tools
sudo apt install meson ninja-build

# Install dependencies
sudo apt install liblz4-dev libfmt-dev

# ROOT needs separate installation - see root.cern

CentOS/RHEL

# Install build tools
sudo yum install meson ninja-build

# Install dependencies
sudo yum install lz4-devel fmt-devel