diff options
| author | Paul Buetow <paul@buetow.org> | 2026-07-12 17:20:15 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-07-12 17:20:15 +0300 |
| commit | 1770b12d5d95476310c27ccf39a91b5ba4a3f119 (patch) | |
| tree | c81bf1d97b5f71140acc73e970abf406f9f64fe7 /meson_options.txt | |
| parent | f2b8ed6d2ea0744cfd1a36a6fbd1763926b873bb (diff) | |
bootstrap: meson build, test harness, CI, conventions, README/AGENTS (et0)
Phase 0 (task et0): lays the build/test/CI/convention groundwork before any
feature code.
- meson.build: project ggaze C11 -Wall -Wextra; deps gtk4/glib/gio/libadwaita;
feature options gegl/jxl/avif/heif (auto); generated ggaze-config.h with
app id, version, GGAZE_HAVE_* feature flags.
- tests: GLib g_test harness with separate unit/integration suites
(--suite unit / --suite integration); test_bootstrap sanity test proves
the harness compiles and the config header is reachable; -Db_coverage=true
coverage target wired.
- CI: .woodpecker/ci.yml three lanes (minimal, gegl, asan) with xvfb for the
integration track and a coverage lane that warns until M10.
- conventions: .clang-format (3-space, 80-col, K&R, *-on-var, return type on
its own line) + .editorconfig matching docs/coding-conventions.md; CI
clang-format --dry-run -Werror gate.
- top-level README.md (humans) and AGENTS.md (agents) pointing into docs/.
- LICENSE (GPL-3.0-or-later), .gitignore, dir placeholders.
Acceptance: meson setup build && ninja -C build && meson test -C build green;
clang-format --dry-run --Werror clean.
Diffstat (limited to 'meson_options.txt')
| -rw-r--r-- | meson_options.txt | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000..153a3e3 --- /dev/null +++ b/meson_options.txt @@ -0,0 +1,21 @@ +# ggaze meson options. See docs/tech-stack.md and docs/IMPLEMENTATION.md. +# +# Optional loader / image-processing backends. Each is a meson `feature`: +# auto detect if installed, build if found (default; minimal CI lane +# forces disabled) +# disabled skip +# enabled require, fail if missing +# +# The core culling viewer never needs these; a GdkPixbuf-only build is valid. + +option('gegl', type : 'feature', value : 'auto', + description : 'GEGL quick-enhance, crop/straighten/rotate, ICC color mgmt') + +option('jxl', type : 'feature', value : 'auto', + description : 'JPEG XL loader backend (libjxl)') + +option('avif', type : 'feature', value : 'auto', + description : 'AVIF loader backend (libavif)') + +option('heif', type : 'feature', value : 'auto', + description : 'HEIF/HEIC loader backend (libheif)')
\ No newline at end of file |
