[CMake] Waf build tool

Brandon Van Every bvanevery at gmail.com
Sat Dec 15 14:47:37 EST 2007


On Dec 15, 2007 1:55 PM, Brandon Van Every <bvanevery at gmail.com> wrote:
> On Dec 15, 2007 12:41 PM, Bill Hoffman <bill.hoffman at kitware.com> wrote:
> >
> > There are some vocal
> > complainers about the language, but I suspect there is a silent majority
> > that really don't care,
>
> CMake is a self-selecting community.  Those that really care, leave.
> I'd like to know where they went, and what competing products they're
> working on.

I've subscribed to the SCons mailing list.  The SCons community has
people who got fed up with it and started their own R&D.  It seems
that the SCons Python 1.5 limitation is a serious one, as developers
generally only know Python >= 2.2.  Waf is the offering of a fellow
who clearly thinks OO is important in a build system for some reason.
http://code.google.com/p/waf/

A recent comment of his, regarding KDE's use of CMake:
http://thread.gmane.org/gmane.comp.programming.tools.scons.user/15656/focus=15659
"* Cmake scripts are easily readable from IDEs (kdevelop); in reality
parsing-writing Cmake scripts
from ides is much more difficult than using object-oriented apis and
mapping to xml when needed"

Without evaluating the veracity of his claim, or even evaluating Waf
at all, this says something important to me.  It says that not
everybody believes in a "make" paradigm for a build system.  I think
the generational logic is understandable.  In college I did makefiles;
after college I learned IMake and Autoconf.  That's what people did in
the early 1990s.  This is now the late 2000s.  I've completely ignored
the XML universe.  Something about all those angle brackets just gives
me a rash.  But let's say I was just getting out of college right now,
and everything was new and squeaky clean to me.  Would I be trying to
do everything with XML?  Would I see OO as fundamental, "of course!"
it's easier to do a build system that way?  Would I see Make as
"fundamentally old fashioned?"  Would I have little experience with
declarative systems?  Little incentive to work with build tools based
on "old-fangled" paradigms?

Most importantly: would my prejudices cause me to use, or even
develop, OO build tools that actually get real work done?  Whether
coupled to an OO IDE or not.  The proof is in the pudding.  If there
are OO build systems that are having any success, we should pay
attention to why.  We should be wary of generational biases of what a
build system "should" or "shouldn't" look like.  Do we really know
better than everybody else?  Does our extensive engineering experience
make us more efficient, productive, and competitive?  Or does it
(also) make us blind to the technology around the corner?  I've seen
new generations sweep old generations away.

As one young buck put it in that thread:
http://thread.gmane.org/gmane.comp.programming.tools.scons.user/15656/focus=15659
"I dunno the particular situation, but for me using CMake sounds like they
didn't make the step out of the last decade :-)"


Cheers,
Brandon Van Every


More information about the CMake mailing list