[CMake] Re: CMake Marketing

Karr, David A. David.Karr at titan.com
Wed Dec 21 10:28:49 EST 2005


> I also love CMake's out-of-source build feature. I hate mixing my
> source and object files. But strangely, when I describe this feature
> to others, I seem to get puzzled looks.

I have observed similar initial reactions.  But I've also observed 
that people love this feature once they're able to use it.  I have 
a script that you execute in a directory "alongside" the source 
directory, which executes CMake correctly for an out-of-source build, 
so one doesn't have to know much of anything about CMake in order 
to get started.

A neat interaction with ClearCase is that my source tree contains only
three kinds of files: files that are already under ClearCase control,
new files that I've created that I might want put under ClearCase, and
temporary files that ClearCase creates while managing the first set of
files.  The last set of files is relatively easy to filter out based on
the filename extensions, and ClearCase itself filters the first set for
me, so it's easy to see what files I might still need to put under
ClearCase control.  I don't have to filter out all the many file types
that a full build creates.  Now if only I knew how to make ClearCase use
out-of-source storage for its "keep" and "contrib" files, it would be
even easier to manage my source files; but that just goes to show how
useful the "out-of-source" concept is.

In my opinion, the out-of-source build capability is a killer app.  
I'd be very hesitant to switch to a utility that didn't have it.

> From SCons users, I have heard that they hate the CMake language and
> couldn't figure it out, and they've had problems with CMake's
> dependency chain...things about the cache getting stale or corrupt too
> frequently. I don't have any more specifics on this.

I remember having trouble with the cache too.  I ended up making my 
script simply delete the cache files every time it runs, so each 
build starts fresh.  That was so long ago that I don't remember what 
the specific problem was.

David Karr






More information about the CMake mailing list