cmake

Stephan Kulow coolo at kde.org
Thu Jun 8 10:14:40 BST 2006


Am Donnerstag, 8. Juni 2006 08:53 schrieb Thomas Zander:

> I also learned that cmake is in its core nothing but a makefile-generator.
> This means that it might be a good idea to resurrect unsermake to
> sidesteps all of the design flaws cmake has (like being dogslow on big
> trees).  Any takers? :-)
Let me put some things straight: unsermake is basically a wild hack and the 
lack of people beside me understanding what it is proofs this kind of :)

_Everything_ is dog slow on big trees - most of that is eaten up by IO and 
simply generating the trees and I couldn't feel cmake being slower than
unsermake actually. What I feel though is lacking is good support for 
subtrees. Developing in kdelibs/kio will look at kdecore even though I don't 
want make to do that - just stealing my time. But this is most likely easy to 
fix and is not a "design flaw".

Beside that unsermake could do some things because it was looking at the 
highlevel description and built itself while cmake is highlevel and has to 
create rules for a pretty dumb tool called POSIX make. I started with doing 
that (replacing automake) and just gave up because of the lack of control.
I have very high respect of the cmake developers in how well the system
works[1] with POSIX make.

If just I wouldn't love spending my time on real issues, I'd write a XML 
backend for cmake that basically allows running cmake to configure and
write out high level definitions of the things to build and then you could 
write a script similar to unsermake (you'll use less than 20% of the current 
code if you don't have to care for automake conditionals :) that gives the
user better control/feedback.

And no, I don't think --prefix -> -DCMAKE_INSTALL_PREFIX will stress anyone 
being able to read. Not everyone might compile software for a living, but let 
me assure you: there are almost as many build systems out there as free 
software projects. And if there isn't even a configure script around, then 
you don't have to bear with the expectations for it to conform to autoconf
(no ./config.status --recheck? --sbindir does not work? --no-create still 
creates? ...)

So please everyone: concentrate on the real issues and forget about build 
tools being able to display progress ;)

Greetings, Stephan
1. I still dislike the syntax for if statements :)




More information about the kde-core-devel mailing list