Boost logo

Boost :

Subject: Re: [boost] [ANN] build2 - C++ build toolchain
From: Boris Kolpackov (boris_at_[hidden])
Date: 2016-02-04 03:00:31


Hi,

Here is the answer I sent to the "How does it compare to CMake?" question
on the KDE mailing list:

I don't like to "sell" vaporware and wax poetic about how build2 will be
better than CMake in the future because right now, completeness-wise, it
is definitely inferior. But here are a few points:

1. It is not a project generator so you will have a consistent build
   interface across platforms/compilers (some may view this as a
   disadvantage though, so we are keeping an eye on the possibility
   of meta-build'ing in build2, though this is definitely not a
   priority right now).

2. It has sane buildfile syntax, more like make and less like, well,
   I don't know what CMake syntax is:

   DO_SENSIBLE_THING_FOR_AllSubDirs(Its_a_go ${all_good});

3. It has a package manager that works well with it and, in fact, informs
   the design of the build system. Though the build system can be used
   by itself, without any packaging.

4. It supports complex, C++-specific use-cases, such as automatic header
   dependency extraction in the face of auto-generated headers.

5. Cross-compilation is natural, not an afterthought. Fun fact: this
   version can cross-compile to Windows but not build natively (yet).

6. Support for project configuration is part of the build system.

7. Extra targets (operations in build2 terms): test, install, dist.

8. Subprojects and amalgamation (you can drop a prerequisite library
   into your project and the import machinery will automatically find
   it; see build2-toolchain for an example).

Well, this is what's implemented so far.

Boris


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk