Building C++: It Doesn't Have to be Painful!
summary
reMarkable rewrites a monorepo into multiple repos and ships a CMake helper called rho CMake library that automates platform handling, feature flags, dependencies and installation and plugs into existing CMake projects. It uses vcpkg toolchain integration and a small boot helper, totals about 1.5k lines of CMake glue, and cuts typical CMake lists from ~50 to ~12 lines while keeping installs and find_package behavior intact. It’s in use internally, missing tests and module support but otherwise works.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 1:05CMake pain despite power
- 4:17Monorepo build challenges
- 7:50Introducing Row
- 13:16Row makes CMake ergonomic
- 18:02Row’s architecture and CMake
- 21:35Call to action for better builds
- 24:04Row’s implementation details
- 31:34Header-only library edge cases
- 33:25CMake strengths and weaknesses
- 36:35Open sourcing Row
- 37:43Comparison with other build systems like Bazel
- 40:10Why Remarkable moved from monorepo to multi-repo
- 42:44Q&A
related talks
55mBuilding C++: It Doesn't Have to be Painful!
01h 01mLessons Learned from Packaging 10,000+ C++ Projects
01h 01mWhy managing C++ dependencies is hard
42mBuilding Scalable Mobile Projects: Fast Builds, High Reusability and Clear Ownership
20mBuilding with Monorepos
01h 03m“C++ Dependency Management: from Package Consumption to Project Development”
41mHandling Monorepos Today
33mTools of the Trade
