Subject: Re: [boost] [ot] choosing a build system
From: Sergey Popov (loonycyborg_at_[hidden])
Date: 2012-05-13 06:35:46
On Sat, 12 May 2012 17:08:26 -0600
Dave Abrahams <dave_at_[hidden]> wrote:
> >> I don't notice any particular limitations in CMake projects due to
> >> that approach. Do you?
> > Yes. E.g. it's impossible to use any other method of determining
> > whether targets are up-to-date than timestamps and have more
> > abstract targets than files/aliases.
> I don't know enough about cmake to know whether I should argue with
> you on these points, but let's stipulate to them. But what kind of
> job does that prevent you from getting done?
Well.. Using md5 checksums is more robust than Make's timestamp
comparisons, I have no idea why would you want to resist progress
here :P No point in getting broken builds just because your system
clock got screwed or getting a spurious rebuild if a file's timestamp
got bumped with no changes to file itself.
And scons Value() nodes allow me to very simply generate files from
'thin air', without any file sources. Something absolutely impossible
in Make. I know, I tried.
> > Also, the extra step is simply annoying.
> Matter of taste, I guess. It annoys me that Boost.Build does a
> configure every single time I build.
There's no such thing as 'configure'. It just doesn't exist. Those
steps should be parts of DAG and bb seems to move in that direction
> > It doesn't matter that you can hide it with scripts and what-not.
> > It's still there, making your life harder and the overall system
> > more complex.
> Seems to simplify things from my POV. Separation of concerns and all
Nope. This particular separation happens to be fake. Besides, no sane
modern software system's communications are based on generating files
for each other. They prefer using apis, either by linking directly or
via D-Bus or something. Generating (Make)files is just a hack.
> If you want to build multiple things in parallel, just processing
> things in toposort order will be slower than exploiting the full
Sorry. Failed to parse. No idea what point you're making here. Don't
see how composite Make-based system would ever have inherent advantage,
say, over Waf.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk