Advent of Code 2025, done in C++
1set shell := ["bash", "-eu", "-o", "pipefail", "-c"]
2
3default_day := `date +'%d'`
4
5default: sync build
6
7# Run this whenever you change build files. This generates the latest build config.
8sync:
9 meson setup --reconfigure build/
10
11# Build everything Meson knows about.
12build:
13 meson compile -C build/
14
15# Run tests for a specific day. Defaults to today's day-of-month.
16test day=default_day: sync
17 day=$(printf '%02d' "{{day}}"); meson test -C build "day${day}"
18
19# Run a day's solution on the "real" data set.
20run day=default_day: sync
21 day=$(printf '%02d' "{{day}}"); meson compile -C build "run-day${day}"
22
23# Clean the build folder. Useful... sometimes.
24clean:
25 meson setup --wipe build/