Boost logo

Boost :

Subject: Re: [boost] [ot] choosing a build system
From: Dave Abrahams (dave_at_[hidden])
Date: 2012-05-12 08:32:41


on Sat May 12 2012, Sergey Popov <loonycyborg-AT-gmail.com> wrote:

> On Fri, 11 May 2012 21:56:47 -0600
> Dave Abrahams <dave_at_[hidden]> wrote:
>
>> I think you're not giving CMake enough credit. It has been evolving
>> quite quickly over the past few years. Its programming language may
>> be old and crusty, but it's expressive enough to get the job done.
>> Most importantly, it hits a "sweet spot" between abstract and direct
>> that makes it practical and accessible.
>>
>
> The language isn't the only problem. Remember Makefile generation? It
> absolutely isn't justified.

It's justified by two things:

1. The fact that it works well in practice

2. The fact that it's compatible with many different environments and
   usage patterns and with the desire of many programmers to work in an
   IDE.

> Autotools uses this approach only to achieve the cool trick of
> allowing you to make distribution packages that don't require anything
> other than standard unix utils to be built. It's just easier to make
> an unitary build tool than mess around with makefile generation and
> suffer all limitations of this approach.

I don't notice any particular limitations in CMake projects due to that
approach. Do you?

> What's so hard about implementing topological sort, anyway?

Not much. But that's a bad way to do things if you want to exploit
parallelism.

Many small issues like that are why I'd rather let a tool like make
handle the job.

> Make isn't magic.
>
> All in all, the fact that build tools with such ancient design are
> still seriously developed is disheartening. Pretty much shows that
> people don't care much about buildsystems.

I think you've mischaracterized it. Many people care about
buildsystems. However, some of us care more about practicality than
purity.

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