CMake for D2 ready for testers

Russel Winder russel at russel.org.uk
Sat Oct 9 02:56:45 PDT 2010


On Sat, 2010-10-09 at 00:16 +0200, Gour D. wrote:
[ . . . ]
> Here is the waf list:
> 
> http://code.google.com/p/waf/wiki/ProjectsUsingWaf

The SCons list is at  http://www.scons.org/wiki/SconsProjects  but I
think there are some big users who haven't signed up there.  Intel for
one who use SCons with their "huge modules" support system Parts that is
a bolt on to SCons.  So user lists are only as good as the marketing
department of the product and Waf and SCons have none whilst Kitware
does!

[ . . . ]

> Waf really looks good and, afaics, it's more extensible than Scons.

I would put them both the same.  The Waf plugin API is though a little
more sophisticated.

> Here is the table with some comparisons:
> 
> http://code.google.com/p/waf/wiki/WafAndOtherBuildSystems

One or two of those categories have been neatly crafted so as to ensure
Waf comes out on top.  Also sadly there are a number of error in the
table, some boxes have a No in them where they should have a Yes.  Also
the table fails to mention Gradle.  Moreover Ant is evolving and Maven 3
likewise so that Groovy (a dynamic programming language) can be used to
replace XML at the front end, and used with Java and Scala to create
plugins.

The line that is serious though is the Dependencies line.  Make uses
timestamps which can mean incomplete builds or over building.  Using
hashes as Waf and SCons do means you always get the right about of work
done.  Both allow you to switch off the hashes and use timestamps (which
are generally quicker) but CMake doesn't allow you to use hashes to get
correct builds.  This was the single biggest factor for the large
companies that use Waf and SCons as they have 56hour builds and so
minimizing the work done whilst ensuring correctness of the work done is
critical.  Hence hashes, hence Waf and SCons,. 

[ . . . ]
> 
> Only dist for tarballs, afaict.

I thought Waf did zipfiles as well, SCons certainly does both.  Is there
a need for anything else beyond those?

> Jens> * Publishing build/test results
> 
> No idea.

Depends what is meant.  If Waf and SCons don't have it then a few
minutes and a Python plugin later you have the facility.

> Jens> * No dependencies besides a C++ compiler for installation.
> 
> This is one advantage of waf that it only requires ~80K python script
> which is, usually, distributed with the sources.

SCons can do the same but this is rarely done where it is the standard
form for Waf.  This shows the different philosophies behind Waf and
SCons and consequently can be the deciding factor often.

[ . . . ]
> In any case, it's interesting and we'll put it on our evaluation-list.

Happy evoluation :-)

-- 
Russel.
=============================================================================
Dr Russel Winder      t: +44 20 7585 2200   voip: sip:russel.winder at ekiga.net
41 Buckmaster Road    m: +44 7770 465 077   xmpp: russel at russel.org.uk
London SW11 1EN, UK   w: www.russel.org.uk  skype: russel_winder
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20101009/c589ac06/attachment.pgp>


More information about the Digitalmars-d mailing list