[CMake-Promote] not so nice cmake comments

Brandon J. Van Every bvanevery at gmail.com
Mon Apr 2 15:06:50 EDT 2007


I'm learning even more and more about this.  A better profile of "what's 
going wrong" is emerging.

Brandon J. Van Every wrote:
>
> It's also becoming clear that he doesn't care much about Visual 
> Studio, has complex build needs, and was expecting a magic wand.
>
> I must admit, if you already know GNU Autoconf, and you have no 
> intention of ever shipping on VS, I don't see a justification for the 
> CMake learning curve.  But if you don't know either, and intend to 
> stay on Unix, perhaps a sales pitch for CMake can be devised.

Actually, as a company, it turns out these people do need to deal with 
both Linux and VS.  The corporate need is there.

But the *individual* assigned to do most of the evaluation, is a Linux 
bigot.  He doesn't care that much about the VS side, it's not his area 
of responsibility.  So he throws 4 days at bothering with CMake on 
Linux.  Other people on the Windows side throw 2 days at it.  Nobody 
searches the CMake archives or asks questions on the mailing list.  
They're in a hurry, they're not terribly focused on solving a real 
problem, looks like they're just evaluating stuff as part of a pilot 
project.  They decide they like cobbling their own scripts together to 
deal with everything, because hey they're getting paid to write those 
scripts, it's what they know, and they don't like learning things they 
don't know.  No manager / decisionmaker is cracking the whip saying, 
"You will provide results on this."  They're perfectly free to just get 
sick of things and blow them off, so they do so.

The antidote to this, is to show people why it's more expensive to 
cobble up your own scripts, over the long haul.  If that is indeed 
provable.  A white paper.  And, it's important to get that white paper 
in front of a manager / decisionmaker, who can hold programmers 
accountable for how they're evaluating.  That implies slicking up the 
Kitware website to be manager friendly.  It should have a "Case Studies" 
section that's easily found by top level navigation.

I recall that the Garage Games guys did something similar.  Looked at 
CMake, flailed at it slightly, went back to writing their own custom 
scripts.  They gave more intelligent reasons for why they used their own 
scripts, it had to do with console development weirdness or some such.  
But they also went through a "CMake sux!" tantrum before I prodded them 
about what their problems were.  Then they issued this wonderful 
retraction, once faced with their own responsibilities.

We're going to keep seeing this pattern.  It's clear that CMake is *not* 
pleasant to just "take for a spin."  Learning and applying CMake is real 
work.  The CMake docs could be better, but a good chunk of that work 
isn't gratuitous, it has to be done no matter what build tool you're 
using.  But, it's more fun for programmers to bitch and moan than to 
take responsibility for what they themselves have to do.  So they fall 
back on what they know and curse what they don't know.  No matter how 
inadvisable that may be over the long haul.

Meanwhile, at least it's pretty easy to debate who's responsible for 
what, and to win that debate.  Even if the people blowing off CMake 
don't come around, there's a public audience to be swayed.  "CMake sux!" 
should never go unchallenged, because the track record so far is 
developers don't like real work in things they don't know already.


Cheers,
Brandon Van Every



More information about the CMake-Promote mailing list