2025-02-23 16:52:39 +01:00
|
|
|
The program is build with Qt 6.8 using QtCreator and the Visual Studio 2022 C++ compiler.
|
2022-09-05 18:14:58 +00:00
|
|
|
Only 64-bits builds are actively maintained.
|
|
|
|
|
|
|
|
|
|
[Documentation](https://eelke.gitlab.io/pgLab/) is generated automatically when a commit is tagged. It also includes releasenotes.
|
|
|
|
|
The release notes use collected from git using [reno](https://docs.openstack.org/reno/latest/index.html).
|
|
|
|
|
|
|
|
|
|
## Dependencies
|
|
|
|
|
|
|
|
|
|
- boost
|
|
|
|
|
- botan
|
|
|
|
|
- googletest
|
|
|
|
|
- libpq
|
|
|
|
|
|
2026-10-17 16:21:22 +02:00
|
|
|
Boost, Botan, libpq and googletest are provided by vcpkg through the manifest in `vcpkg.json`, so you do not install them manually.
|
|
|
|
|
|
|
|
|
|
## Required tools
|
|
|
|
|
|
|
|
|
|
- CMake 3.21 or newer
|
|
|
|
|
- A C++20 compiler (GCC or Clang on Linux, Visual Studio 2022 on Windows)
|
|
|
|
|
- Qt 6 with the Core, Gui, Widgets, Sql and Concurrent components
|
|
|
|
|
- vcpkg, with the `VCPKG_ROOT` environment variable pointing to its checkout
|
|
|
|
|
- Ninja or make (optional, for faster builds)
|
|
|
|
|
- A PostgreSQL server (only needed to run the application against a database)
|
|
|
|
|
|
|
|
|
|
## Building
|
|
|
|
|
|
|
|
|
|
Configure with the vcpkg toolchain file. The first configure downloads and builds the dependencies, which takes a while:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
|
|
|
|
|
cmake --build build
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
To skip the test executables, add `-DBUILD_TESTS=OFF` to the configure command.
|
|
|
|
|
|
|
|
|
|
## Running the tests
|
|
|
|
|
|
|
|
|
|
From the build directory, run:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
ctest --output-on-failure
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Running the application
|
|
|
|
|
|
|
|
|
|
The executable is built to `build/pglab/pglab`. On a machine without a display, set `QT_QPA_PLATFORM=offscreen`:
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
./build/pglab/pglab
|
|
|
|
|
```
|
|
|
|
|
|