Our Other C++ Interfaces
summary
Explains concrete project contracts: explicit preconditions (Ubuntu package names, ninja on PATH), a reproducible provision → resolve → build → package workflow, and specific identities for package, CMake target and library filenames so linking never surprises. Demonstrates CMake 4.0’s CPS JSON (exemplar.cps) that encodes include dirs, component type and version, and a new verify interface header sets feature that forces headers to parse as first-class artifacts. Shows minimal CMake layout that installs headers and a uniquely named lib to avoid collisions.
AI-written summary · about
chapters (8)
- 0:00C++ project interfaces
- 7:08Design by contract
- 17:59Four interface domains
- 28:19Clear contract principles
- 38:45Mistakes in interfaces
- 53:34Overspecified build rules
- 1:03:15Beam Exemplar project
- 1:16:45Modern CMake and CPS
related talks
01h 32mMistakes to Avoid When Writing C++ Projects
01h 01mGit, CMake, Conan - How to ship and reuse our C++ projects
22mBuilding Portable C++ Packages: The Bliss of Unification
01h 34mThings I Learnt While Trying to Avoid Becoming a CMake Expert
54mCMake for the Impatient
01h 11mThe State of Package Management in C++
01h 04mDependency Management in C++
57mKeynote: How To Address 7 Major C++ Pain Points with Tools
