Installation

This section provides an overview of the build and test environment for Perseid developers. For detailed build commands, see Building. For running tests, see Testing.

Core build requirements

  • C++23 compiler (clang++ 19 or later)

  • CMake 3.31+

  • PostgreSQL development libraries (libpq)

  • yaml-cpp 0.9+

  • argparse (p-ranav/argparse)

The reltypes and reldb classes come from the reldbase project (codeberg.org/perseas/reldbase), fetched automatically via CMake’s FetchContent and pinned to a known-good commit.

Documentation requirements (optional)

  • Doxygen

  • Python 3 with the Sphinx packages listed in docs/requirements.txt

Testing requirements

  • boost::ut for unit tests

  • Catch2 for integration tests

Dependencies

Library

Version

Purpose

libpq

18+

PostgreSQL client library

yaml-cpp

0.9+

YAML parsing and emission

reldbase

pinned via FetchContent

reltypes and reldb classes

argparse

3.2+

Command-line argument parsing

Catch2

3.15+

Testing framework (tests only)

Boost::ut

2.3+

Testing framework (tests only)

Installing dependencies on Debian/Ubuntu

sudo apt-get install libpq-dev

yaml-cpp, argparse, and the test frameworks can be installed locally or fetched via CMake’s FetchContent. reldbase is always fetched via FetchContent.