Don't Package Your Libraries, Write Packagable Libraries! (Part 2)
summary
Covers concrete rules that make C++ libraries easy to package: how componentized builds, clear public headers, single LICENSE file and SPDX metadata speed packaging and avoid fragile heuristics; draws on experience helping pack 1,000 libraries into vcpkg catalog (now ~1,100) and real fixes for Qt, folly and others; shows that optional docs, unconditional Werror causes build failures, and tangled file-layouts force large build replacements, while toolchain files and per-component globs let packages be built reproducibly.
AI-written summary · about
chapters (16)
- 0:00Introduction to packagable libraries
- 1:59Four quadrants of package management
- 3:45Avoid building unnecessary components
- 5:31Don't use Werror by default
- 7:18Be compiler-friendly
- 8:01Clarify your interface
- 10:11Organize code into components
- 11:36Angle project example
- 13:03Licenses as part of interface
- 14:06Support and release strategy
- 15:53Ship fixes frequently
- 17:39VC package ecosystem overview
- 18:19Build system replacement discussion
- 21:22Should package management be standardized?
- 23:38Toolchain files for build settings
- 25:25Q&A session
related talks
01h 00mAdvanced Levelization Techniques (part 3 of 3)
01h 32mMistakes to Avoid When Writing C++ Projects
01h 30mC++ Modules and Large-Scale Development
59mC++ Modules and Large-Scale Development
01h 30mC++ Modules and Large-Scale Development
01h 03m“C++ Dependency Management: from Package Consumption to Project Development”
01h 37mC++ And Beyond: Discussion
57mWriting Great Libraries: 89 Easy Steps
