Subject: Re: [boost] Switch to CMake -- Analysis
From: paul (pfultz2_at_[hidden])
Date: 2017-07-24 20:43:13
On Mon, 2017-07-24 at 22:18 +0200, Ion GaztaÃ±aga via Boost wrote:
> On 24/07/2017 16:08, Tim Blechmann via Boost wrote:
> > >
> > > Just to disagree, I think it's a deficiency (one of the biggest one) of
> > > CMake because CMake, as a "build" tool, does not support parallel builds
> > > because it depends on other build tools, including bad ones. I really
> > > don't understand why CMake can't build things directly, it's one of its
> > > biggest deficiencies.
> > >
> > > One of the most important requirements of a build tool is to build
> > > software *fast* and *portably*, without having to rely on other
> > > programs.
> > fwiw, systems like ninja  are designed to support fast and parallel
> > builds, the syntax is designed for that use-case, and it is designed to
> > be generated (by cmake or gyp).
> > otoh, fast compile times are not necessarily the only requirement:
> > parallel builds with ninja render windows unresponsive, so it are much
> > more suited for buildservers (macos is better, linux doesn't have this
> > issues). so as developer your productivity may be lower, even if the
> > compile times are faster.
> I usually run my library tests for dozens of configurations with aÂ
> script that is launched with lower than normal priority and with -jNÂ
> with N being 1.5 times the number of CPUs (I find compiling is manyÂ
> times IO-bounded). At least with a SSD disk, I can still do my low-cpuÂ
> tasks like e-mail and browsing without any problem. I'm using windows,Â
> no idea if other OS/desktops have that problem.
> I wasn't talking about a build system that freezes your computer, butÂ
> something that builds in parallel and always builds similarly in everyÂ
> OS. I'm afraid that if i need to have a different "build folder" forÂ
> each configuration, project/make/ninja generation will take aÂ
> considerable time that could be used just to compile and run my tests.Â
The configuration is only ran once, initially, and doesn't take considerable
> Of course I don't consider any option that would force me to copyÂ
> sources (say, the boost tree) to a different sandbox to avoidÂ
> project/make/ninja generation conflicts, that would be simply crazy.
Yea, no one is talking about copying the sources. This is about multiple build
directories, but the source tree is the same.