In 2023, Bret Brown and Bill Hoffman gave a talk at CppCon "Libraries: First Step Toward Standard C++ Dependency Management". This was an introduction to the Common Package Specification (CPS), a specification for the declaration of meta data that can accompany prebuilt libraries with full usage specifications. Prebuilt libraries have existed for decades… they predate C++ even. After all these years, techniques to use prebuilt libraries are still ad hoc and difficult to maintain. A root cause of this variety of techniques is the variety of things that are C++ libraries: header-only libraries, statically linked archives, dynamically linked binaries, and so on. Consuming projects need to build against these libraries in consistent ways or risk catastrophic failure in production environments. This creates enormous interoperability problems across broad portions of the wide programming ecosystem, not just the C++ parts of it.
In that talk, there was a promise of using CMake's installation base and existing export/import (in the CMake language) of similar meta data to help promote and test this new specification. Progress has been moving forward, and in CMake 4.0 (released in 2025) an experimental CPS implementation can be found in CMake. This talk will explore the current implementation in CMake. The talk will also cover the ramifications of this new standard on package managers, IDE's, SBOM generation. The talk is intended for anyone who produces or consumes C++ libraries. Special knowledge of C++ tooling, build systems, or package managers is not required.
View Slides
Mr. Hoffman is a founder of Kitware and currently serves as Chairman of the Board, Vice President, and Chief Technical Officer (CTO). He is the original author and la ead architect of CMake, an open source, cross-platform build and configuration tool that is used by millions of developers around the world, and he is the co-author of the accompanying text, Mastering CMake. Using his 20+ years of experience with large software systems development, Mr. Hoffman is also a major technical contributor to Kitware’s Visualization Toolkit, Insight Toolkit, and ParaView projects.
As CTO, Mr. Hoffman’s emphasis is on software development methodologies and establishing best practices across the breadth of Kitware’s development efforts. As one of the visionaries leading the quality software process efforts at Kitware, Bill has been instrumental in adopting agile programming practices, fueling Kitware’s software development. He is a frequent speaker on these subjects at CppCon, C++Now, and other conferences.
Mr. Hoffman received a B.S. in Computer Science from the University of Central Florida and an M.S. in Computer Science from Rensselaer Polytechnic Institute (RPI). Prior to the formation of Kitware, he spent nine years at the General Electric Corporate Research and Development center, working in the Computer Vision Group. He has planned and taught several graduate-level courses at RPI as well as a course in object-oriented programming at New York University.