Use statically linked spdlog over system spdlog/libfmt
Some checks failed
Build ptprnt / build (push) Has been cancelled

This commit is contained in:
2025-10-19 11:50:43 +02:00
parent 8865117c49
commit ff3fcaa7bf
7 changed files with 67 additions and 27 deletions

View File

@@ -18,17 +18,24 @@ ptprnt --font "NotoMono Nerd Font" --fontsize 32 --text "🖶 ptprnt v0.2.0 🥰
Arch Linux:
```bash
pacman -S libusb spdlog pango cairo meson
pacman -S libusb pango cairo meson
```
Debian/Ubuntu:
```bash
apt-get install libusb-1.0-0-dev libspdlog-dev libfmt-dev libpango1.0-dev libcairo2-dev meson
apt-get install libusb-1.0-0-dev libpango1.0-dev libcairo2-dev meson
```
Note: spdlog is built as a subproject and statically linked, so it's not required as a system dependency.
**Build and run:**
Clone this repository first and enter the directory. Then build:
```bash
# Using the build script (recommended)
./scripts/build.sh release
builddir/ptprnt --help
# Or manually with meson
meson setup builddir
ninja -C builddir
builddir/ptprnt --help
@@ -181,13 +188,43 @@ ptprnt \
This is a modern C++20 rewrite of [ptouch-print](https://git.familie-radermacher.ch/linux/ptouch-print.git). Credits to Dominic Rademacher for reverse engineering the USB protocol.
**Build script:**
```bash
# Release build
./scripts/build.sh release
# Debug build
./scripts/build.sh debug
# Debug with tests
./scripts/build.sh debug --test
# Debug with coverage
./scripts/build.sh debug --coverage
# Clean all build directories
./scripts/build.sh clean
# Show all options
./scripts/build.sh --help
```
**Running tests:**
```bash
# Using build script
./scripts/build.sh --test
# Or manually
ninja -C builddir test
```
**Coverage reports:**
```bash
# Using build script
./scripts/build.sh debug --coverage
./scripts/generate_coverage.sh
# Or manually
meson setup builddir -Db_coverage=true
ninja -C builddir
ninja -C builddir test