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 cppget.org, a public repository of open source C++ packages.

The aim of the project is a modern 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++11 and while not strictly C++-specific, that's the primary focus.

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

$ bpkg add https://pkg.cppget.org/1/alpha
added repository cppget.org/alpha

$ bpkg fetch
fetching cppget.org/alpha
fetching cppget.org/beta (complements cppget.org/alpha)
[...]
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.