CppCon 2018: Boris Kolpackov “What to Expect from a Next-Generation C++ Build System”

http://CppCon.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: https://github.com/CppCon/CppCon2018 — Few will argue that a standard build system would greatly benefit the C++ community. And the change is in the air: the upcoming C++ Modules are bound to shake things up, the need to support multiple build systems is putting pressure on our packaging efforts, and languages like Rust and Go clearly show things work much better if the build system and package manager are well integrated. Perhaps then this is the C++ community's "git moment": an opportunity to get a next-generation build system that everyone is finally happy to use. In this talk I will demonstrate key features the next-generation C++ build system should have in order to achieve that elusive happy-to-use property. It is based on our experience developing the build2 toolchain, an integrated build system and package/project dependency managers (and which already supports C++ Modules). We start with a brief discussion of overall design choices: native or project generator/meta build system, black box or a concept of build, declarative or scripted (or perhaps a hybrid), uniform or platform-specific, in which language can/should it be implemented, and, finally, what about IDE/tools integration? Next, we go over what any current-generation build system should already support: build configuration management, cross-compilation, additional operations (test, install/uninstall, dist), out of source builds, and wildcard patterns. Then on to the next-generation: high-fidelity hermetic builds, precise change detection, portable, parallel testing, project importing/composability, and support for C++ Modules which should pave the way to reliable, generally-available distribution compilation. — Boris Kolpackov, Code Synthesis Chief Hacking Officer 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 languages (DSL), C++ parsing, source-to-source translation, and code generation. His notable projects to date include ODB (ORM for C++), XSD and XSD/e (XML Schema to C++ compilers), as well as libstudxml (XML parser/serializer library for C++). — Videos Filmed & Edited by Bash Films: http://www.BashFilms.com Work at Hudson River Trading (HRT): https://tinyurl.com/safxfctf --- Videos Filmed & Edited by Bash Films: http://www.BashFilms.com

CppCon 2018: Kate Gregory “What Do We Mean When We Say Nothing At All?”
▶︎

CppCon 2018: Kate Gregory “What Do We Mean When We Say Nothing At All?”

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains
▶︎

Zig 2026: No-AI Policy, $670K Foundation, Left GitHub & Why Zig Isn’t 1.0 - Andrew Kelley Explains

CppCon 2018: Robert Schumacher “Don't package your libraries, write packagable libraries!”
▶︎

CppCon 2018: Robert Schumacher “Don't package your libraries, write packagable libraries!”

CppCon 2018: Peter Bindels “Build Systems: a Simple Solution to a Complicated Problem”
▶︎

CppCon 2018: Peter Bindels “Build Systems: a Simple Solution to a Complicated Problem”

Building the PERFECT Linux PC with Linus Torvalds
▶︎

Building the PERFECT Linux PC with Linus Torvalds

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup
▶︎

Creator of C++: Bell Labs, Negative Overhead Abstraction, Mistakes | Bjarne Stroustrup

How Netflix Uses Java - 2026 Edition
▶︎

How Netflix Uses Java - 2026 Edition

Tips for C Programming
▶︎

Tips for C Programming

CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
▶︎

CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”

They Lied to You About AI (This Study Proves It)
▶︎

They Lied to You About AI (This Study Proves It)

The Insane Genius of a Formula 1 Gearbox
▶︎

The Insane Genius of a Formula 1 Gearbox

CppCon 2018: Greg Law “Debugging Linux C++”
▶︎

CppCon 2018: Greg Law “Debugging Linux C++”

TypeScript, C# and Turbo Pascal with Anders Hejlsberg
▶︎

TypeScript, C# and Turbo Pascal with Anders Hejlsberg

CppCon 2018: “Latest and Greatest in the Visual Studio Family for C++ Developers 2018”
▶︎

CppCon 2018: “Latest and Greatest in the Visual Studio Family for C++ Developers 2018”

Conan O’Brien Delivers the Commencement Address | Harvard Commencement 2026
▶︎

Conan O’Brien Delivers the Commencement Address | Harvard Commencement 2026

CppCon 2018: Bjarne Stroustrup “Concepts: The Future of Generic Programming (the future is here)”
▶︎

CppCon 2018: Bjarne Stroustrup “Concepts: The Future of Generic Programming (the future is here)”

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan
▶︎

Andrej Karpathy: From Vibe Coding to Agentic Engineering w/ Stephanie Zhan

CppCon 2018: Alan Talbot “Moving Faster: Everyday efficiency in modern C++”
▶︎

CppCon 2018: Alan Talbot “Moving Faster: Everyday efficiency in modern C++”

CppCon 2018: Mateusz Pusz “Git, CMake, Conan - How to ship and reuse our C++ projects”
▶︎

CppCon 2018: Mateusz Pusz “Git, CMake, Conan - How to ship and reuse our C++ projects”

One Formula That Demystifies 3D Graphics
▶︎

One Formula That Demystifies 3D Graphics