CMake and Conan: Past, Present and Future - From Legacy Dependencies to Common Package Specification
Meeting Cpp via YouTube
Overview
Explore the evolution of dependency management in CMake and Conan in this comprehensive conference talk from Meeting C++ 2023. Trace the journey from legacy variable-based dependencies to the emerging Common Package Specification (CPS). Discover how CMake has progressed from using variables in find modules to employing usage requirements in imported targets defined in config files. Learn about recent advancements such as toolchain files, CMake presets, and new dependency providers that are creating novel integration possibilities. Examine how the Conan package manager and its CMake integrations have adapted over time to offer improved transparency and enhanced developer experience. Review past approaches and their limitations, then delve into modern CMake and Conan integrations, including the shift from variables to targets, better configuration alignment using CMake toolchains, and improved developer workflows with CMake presets. Gain insights into the new CMake-Conan integration utilizing CMake's dependency providers feature for seamless dependency installation. Conclude with an overview of the ongoing work on the Common Package Specification (CPS) proposal, its early implementations in CMake and Conan, and a glimpse into future developments in this critical area of C++ development.
Syllabus
CMake and Conan: past, present and future - Diego Rodriguez-Losada - Meeting C++ 2023
Taught by
Meeting Cpp