CppCon 2016 has ended
Thursday, September 22 • 4:45pm - 5:45pm
Using build2, C++ Build Toolchain

Log in to save this to your schedule, view media, leave feedback and see who's attending!

It all started with a CppCon 2014 lightning talk where I tried to convince the audience we needed a C++ package manager. Turned out, no convincing was necessary. Fast forward two years and we have a new build system, a package manager, and cppget.org, a repository of open source C++ packages. In this talk I would like to give a practical overview of what it's all about.

We start with a brief discussion of what exactly are we trying to achieve, how it is "better" than other solutions, and why we need yet another build system.

Then, we put on the "consumer" hat and see how to find packages that we are interested in and use the package manager to build/upgrade/downgrade them and their dependencies using multiple build configurations.

In the second half we look into more interesting features of the build system: out-of-source, persistent build configurations (don't you wish you could just edit them with a text editor), high-fidelity builds (what happens if I upgrade my compiler or change compile options), command-line configuration overrides (what if I want to quickly rebuild my project with clang++ instead of g++), cross-compilation (something is wrong if it's harder to cross-compile than to build natively on Windows), subprojects and amalgamation (what if I really don't like external dependencies).

Build systems also rarely handle just building. There is testing, installation (do we really have to run the whole process as sudo), and preparation of distributions (no, shipping your .gitignore files is not cool).

We finish with a brief discussion of cppget.org: what's its future, who should control it, and what should its policies be (acceptable licenses, name disputes, etc)?

avatar for Boris Kolpackov

Boris Kolpackov

Chief Hacking Officer, Code Synthesis
Boris Kolpackov is a founder and CHO (Chief Hacking Officer) at Code Synthesis, a company focusing on the development of open-source tools and libraries for C++. For the past 10 years Boris has been working on solving interesting problems in the context of C++ using domain-specific... Read More →

Thursday September 22, 2016 4:45pm - 5:45pm PDT
Vanity (Room 404) Meydenbauer Center