Package management in C++
summary
Compares two C++ package systems: vcpkg (about 1,910 ports) and Conan (about 1,354 packages). vcpkg is CMake‑centric, uses a vcpkg.json manifest, triplets and a heavy hash + binary cache strategy (first full build ~7–8 minutes, subsequent restores seconds); it prefers Ninja and remote NuGet/cloud storage. Conan is Python‑based, uses profiles, supports many build systems, requires a conan install step before CMake, has builtin artifactory support and wider recipe flexibility (first build ~9–10 minutes on demo). Both solve cross‑compile, versioning and private registries; pick the one matching the team’s tools and workflow.
AI-written summary · about
chapters (33)
- 0:00Introduction
- 1:10What package management is
- 2:34Dependency complexity in C++
- 7:35Manual dependency problems
- 10:23Why CMake dominates
- 11:27Modern C++ package managers
- 13:14Why C++ is challenging
- 14:59Key requirements
- 16:42Who uses package managers
- 17:03Introducing vcpkg
- 20:12vcpkg with CMake
- 21:35vcpkg triplet files
- 22:39Custom packages in vcpkg
- 25:09vcpkg experimental features
- 26:11vcpkg demo
- 28:00vcpkg performance
- 30:30CMake presets with vcpkg
- 32:59vcpkg needs assessment
- 34:27Introducing Conan
- 35:09Setting up Conan
- 35:51Conan profiles
- 37:19Conan manifest files
- 38:24Conan recipes
- 41:58Building with Conan
- 42:40Conan demo
- 44:05Conan build issues
- 45:50Conan caching
- 47:34Conan needs assessment
- 48:35vcpkg vs Conan
- 51:03Performance comparison
- 52:26Final recommendations
- 53:07Resources
- 54:10Q&A
related talks
01h 11mThe State of Package Management in C++
09mAn Overview of vcpkg in 10 Minutes
03mWhy Conan? 5 reasons to use Conan package manager
10mStay calm and stress-free by using a package manager: an overview of vcpkg
01h 12mC++ Package Manager - C++ Dependencies Don't Have To Be Painful!
01h 01mGit, CMake, Conan - How to ship and reuse our C++ projects
01h 04mDependency Management in C++
22mBuilding Portable C++ Packages: The Bliss of Unification
