build2 | C++ Build Toolchain

build2 is an open source (MIT), cross-platform toolchain for building and packaging C++ code. It includes the build system (build2), package manager (bpkg), and repository web interface (brep). There is also, a public repository of open source C++ packages.

The aim of the project is a next-generation build system and package manager for the C++ language that provide a consistent, out of the box interface across platforms/compilers. Having a sane build file syntax would be nice, too. The toolchain is written in C++14 and while not strictly C++-specific, that's the primary focus.

$ bpkg create cc config.cxx=clang++
created new configuration in ./

$ bpkg add
added repository

$ bpkg fetch
fetching (complements
10 package(s) in 4 repository(s)

$ bpkg build bpkg
  build libbutl 0.4.0 (required by bpkg libbpkg)
  build libbpkg 0.4.0 (required by bpkg)
  build bpkg 0.4.0
continue? [Y/n] y
bpkg-0.2.0.tar.gz             100% of  144 kB  130 kBps 00m01s
fetched bpkg 0.2.0
unpacked bpkg 0.2.0
configured bpkg 0.2.0
c++ bpkg-0.2.0/bpkg/cxx{bpkg}
ld bpkg-0.2.0/bpkg/exe{bpkg}

To learn more start with the FAQ then continue to the Toolchain Introduction. Alternatively, if you prefer to watch and listen, the CppCon 2016 presentation provides a good overview.