$ cmake-clinic

Your build is broken. Not your code - your BUILD. The compiler speaks, the linker speaks, the loader speaks, and none of them tell you what you actually did wrong.

CMake Clinic is a set of diagnosis labs. Each one hands you a small, realistically broken CMake project - the kind of breakage that eats an afternoon - and a verify.sh that goes green only when you have found and fixed the root cause. No videos. No slides. You fix real builds.

# the labs (free)

LabIncidentFailure speaker
01 The library that links but doesn't propagate compiler
02 It works in the build tree. It doesn't work installed. OS loader
03 Everything is linked. The linker disagrees. linker

Each lab ships with a scenario README, a three-rung hint ladder (the top rung never gives it away), and a solution post-mortem that teaches the general diagnosis method, not just the fix.

# use a lab

cd lab-01-transitive-link-interface
./verify.sh        # watch it fail - that failure IS the lab
# ... investigate, fix ...
./verify.sh        # PASS when the root cause is fixed

Requirements: Linux, CMake 3.16+, a C++17 compiler toolchain, bash, and Make or Ninja. No external libraries to install. The labs run offline once the toolchain is installed; no telemetry.

# download

The three labs, complete: broken projects, verifiers, hint ladders, solution post-mortems. MIT licensed.

cmake-gym-public.zip cmake-gym-public.tar.gz

# who made this

CMake Clinic offers hands-on practice diagnosing broken builds. The focus is the labs and the methods they teach.