Building
Build steps
git clone https://codeberg.org/perseas/perseid.git
cd perseid
cmake -B build -DCMAKE_BUILD_TYPE=Debug
cmake --build build -j$(nproc)
Build targets
Target |
Description |
|---|---|
|
Database-to-YAML CLI tool |
|
YAML-to-database CLI tool |
|
Shared command-line parsing for the CLI tools |
|
Database, Database_map, and Config classes |
|
Schema, table, column, constraint classes |
|
dbobject unit tests (boost::ut) |
|
object integration tests (Catch2) |
|
reldb integration tests (Catch2) |
|
Functional migration tests (Catch2) |
There is generally one unit test and one integration test for each kind of database object.
Test databases
Running the integration suite requires a local PostgreSQL server and a test database. Functional tests require an additional database. See testing.
Documentation
The docs target builds the documentation by default.
Building documentation
pip install -r docs/requirements.txt
cmake --build build --target docs
This runs Doxygen to extract API docs, then Sphinx to generate the
HTML site in build/docs/html/.