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 |
|
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.