Advent of Code 2025, done in C++
1# Advent of Code 2025 (C++)
2
3A Meson + Just playground tailored for day-by-day AoC work. Each day is its own executable that knows where to find its data without manual path plumbing.
4
5## Workflow
6
7```sh
8nix develop # optional if tooling is installed already; brings in clang/meson/just
9just # runs sync + build
10just test 5 # run tests for day 05
11just run # run today's solution on "real" data (release build)
12```
13
14`just test`/`run` default to today's day-of-month; pass an explicit day to override. `just run` uses a separate Meson release build dir (`build-release`); tests use the debug dir (`build`). Meson owns the build/run logic; Just only wires day selection and delegates.
15
16## Layout
17
18- `src/<day>/solution.cxx` — main for each day (`src/00/solution.cxx` is a stub).
19- `data/<day>/` — input directory for that day.
20- `DATA_FOLDER` — compile-time string macro injected by Meson pointing at `data/<day>/`.
21
22Add new days by creating a `src/<day>/solution.cxx` (use two-digit day numbers) and a matching `data/<day>/` folder. Re-run `just sync` after adding new days so Meson picks them up.