Boost logo

Boost :

Subject: Re: [boost] [ot] choosing a build system
From: Olaf van der Spek (ml_at_[hidden])
Date: 2012-05-10 11:51:29


On Thu, May 10, 2012 at 10:52 AM, Beren Minor
<beren.minor+boost_at_[hidden]> wrote:
> I think Boost.Build and CMake are at a totally different level of
> abstraction: CMake is low-level when Boost.Build is high-level. For
> comparison with other build systems, Make, SCons are at the same level
> as CMake. Premake is probably closer to Boost.Build (I don't know
> enough others but there's not a lot being as high-level as BBv2).
>
> Of course SCons and CMake still have a major advantage over Make
> because of their portability. But they offer a very little abstraction
> over simple Make. Surely, there are some built-in rules to easily
> create shared/static libraries or executables, but you still have to
> define a lot of things manually. As an example, I quickly realized
> that CMake is simply unable to create both shared and static version
> of a library if you don't explicitly write the two rules to build
> them.

I've got the same problems with CMake. Something as simple as a
cross-platform build file for a Hello World app or library isn't
possible.
Need the static runtime (on VC)? Got to hack command line switches.
PCH? Not supported.
Automatic target naming for multiple library variants? Not supported.

-- 
Olaf

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