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¶
Platform-Specific Notes¶
macOS¶
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