[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