Boost logo

Boost :

Subject: Re: [boost] [ot] choosing a build system
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-05-11 16:35:34


on Thu May 10 2012, Olaf van der Spek <ml-AT-vdspek.org> wrote:

> 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.

That's obviously wrong; we are building all of Boost (including its
executables) cross-platform with single build files and little or no
platform switching.

-- 
Dave Abrahams
BoostPro Computing
http://www.boostpro.com

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