On Sat, Nov 7, 2015 at 12:29 AM, Russel Winder <[email protected]> wrote:

> On Mon, 2015-10-26 at 22:16 -0700, Jeff Hammond wrote:
> > Please do not use CMake.  My experiences with it in HPC production
> > use over
> > the past 5 years are so bad that I fear I may need a trigger warning
> > from
> > now on.  I tolerate CMake in one and only one project that I cannot
> > live
> > without*, but in any case where a software project adopts CMake and I
> > can
> > increase my overall happiness by never use that software again, I
> > will do
> > so.
>
> But what is it about CMake that you find so objectionable?
>
>
1) Search for "cmake infinite loop" online.
2) Extensive problems with trivial cross-compilation and static linking on
Cray machines.
3) The lack of self-documentation of relevant options (i.e. no equivalent
of ./configure --help)
4) That it took me an entire day to port CMake to Blue Gene/Q.
5) Search for "cmake" on http://suckless.org/sucks/ (I just found this
tonight, FWIW)
6) The aggregate wisdom of brilliant Argonne colleagues, some of whom are
prone to fits of rage at the mere mention of migrating to CMake.

As for Scons, since I see on suckless.org that it is implemented in Python,
that is a deal-breaker for me, because I need to be able to use machines
where Python is not available.  You probably live in a happy Linux
production world all the time, but I frequently use pre-alpha HW and SW as
well as environments where POSIX and shared libraries are at best a
pleasant surprise.  Because configure is a shell script, it runs on every
functional computing system I have ever used (I guess it does not work on
Windows, but this is not an exception to my thesis).

As far as I can tell, nothing would stop Chapel from working in those
environments, other than the build system, if it were CMake.  You think I
am joking, but the primary bottleneck in porting Elemental to a new machine
is getting bloody CMake to work, at which point, assuming there is a C++11
compiler, Elemental builds trivially.

Anyways, feel free to call me a troll or a luddite or flat-earth society
whatever for my love of configure, but I think CMake is rubbish that
doesn't solve a problem that doesn't exist.

Jeff


> I find the description language to be appalling, but CMake still beats
> Autotools hands down. With JetBrains choosing it as the build framework
> for CLion projects, and it allowing sane builds on OSX and Windows as
> well as Linux, it is curently the least worst choice other than SCons.
>
> Obviously there is also Tup, and now Bazel, but neither of these are
> yet mainstream. Though I suspect Bazel will bully its way to being so
> simply because it is a Google product.
>
> --
> Russel.
>
> =============================================================================
> Dr Russel Winder      t: +44 20 7585 2200   voip:
> sip:[email protected]
> 41 Buckmaster Road    m: +44 7770 465 077   xmpp: [email protected]
> London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
>
>


-- 
Jeff Hammond
[email protected]
http://jeffhammond.github.io/
------------------------------------------------------------------------------
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to