At CppCon 2014 I gave a lightning talk trying to convince the audience that C++ needed a package manager. As it turned out, no convincing was necessary. I was also surprised by the number of people who told me after the presentation how desperately they needed this. In particular, it made me realize that this is not only a problem for a relatively few cross-platform library developers but also for organizations that struggle to manage their build configurations on a single platform using one C++ compiler.
Once you start thinking about a cross-platform C++ package manager, it won't be long before you realize that you also need a cross-platform build system to match. And when it comes to the existing tools, things don't look very promising. The more I thought about this the clearer it became that in order to create a C++ package manager we will first need to solve the build system problem.
So in this talk I would like to present the design of the new C++ build system I am working on and show lots of examples. As it is still work in progress, I am looking to get feedback and hear your ideas as much as to show what I have done so far. The discussion and choice of a build system can often have a religious aspect to it. But we are not going to hide from that. So if you don't think we need yet another build system, come and convince us why the whole thing is a bad idea.Slides