“C++ Dependency Management: from Package Consumption to Project Development”
summary
Demonstrates build2 by building a portable UUID library and executable using concrete commands: bdep new, bdep init, bdep update, then CI with bdep ci and publishing with bdep publish. Shows platform results across 12 configurations (Linux, macOS, Windows/VS, MinGW, FreeBSD), two test types (simple and scripted) and recursive “deep” tests. Uses source-based packages, archive (cppget.org) and VCS repos, package signing and trust fingerprints, and automatic continuous versioning (commit timestamp+id) plus auto-synchronization of metadata.
AI-written summary · about
chapters (22)
- 0:00Introduction to C++ dependency management
- 1:04Problems with C++ package managers
- 2:27Introducing build2 toolchain
- 3:32Creating a UUID generator project
- 6:03Setting up build infrastructure
- 8:18Build systemless model in build2
- 12:36Implementing UUID generation
- 14:28Fixing platform-specific linking
- 15:10Adding tests to the project
- 17:14Versioning strategies in C++
- 19:41Continuous versioning in build2
- 22:09Publishing project to GitHub
- 23:49Testing with build2 CI service
- 27:45Onboarding a Windows collaborator
- 30:38Factoring code into a library
- 34:22Using the library in another project
- 37:15Package repositories explained
- 42:20Publishing to cppget.org
- 46:56Submission process to cppget.org
- 56:23Summary of the workflow
- 57:05Key features of build2
- 58:54Q&A session
related talks
01h 01mLessons Learned from Packaging 10,000+ C++ Projects
01h 01mWhy managing C++ dependencies is hard
58mDependency Management at the End of the Rainbow
41mDesigning a modern build system and dependency manager, how hard can it be?
01h 00mCross-Platform Pitfalls and How to Avoid Them
05mC++ Dependency Management the Meson Way
55mOvercoming C++ Embedded Development Tooling Challenges
01h 00mCollaborative C++ Development with Visual Studio Code
