CMake (was More about x-packages)

Kai-Uwe Behrmann ku.b at gmx.de
Sat Dec 22 01:09:17 PST 2007


More to the Cons:

Cmake is complicated or at least non intiutive to debug. 
to elaborate:
One of the projects, I like to build, got backslashes in the final 
compiler line. I could see them with cmake Verbose=1. Ok, cmake created a 
Makefile. In a few second I hoped to find the line and all is ok. Opened
a Makefile and seen lots of cmake specific CMAKE_COMMAND and the 
like calls. I did not expect this kind of nativeness in Makefile. At some 
point I stalled the build due to lack of time to invest further. 

CMake feels not like unix:
o no make uninstall target by default as with autotools
o no environment variables
o no config.site scripts(?)
o omitting the fun of posix scripting

The above sentences reflect my state of knowledge. Clearly from a pov of a 
cmake outsider, as generaly most people for build tools are.

That, less people love libtool, does not automatic imply to omit autotools 
completely and use cmake. 

Cmake has the same disadvantage like autotools, to have a intermediate 
step like libtool to hide many details. But want I'd want is to see 
and being able to directly react to the details. A long search where some 
options come from is a terrible wast of time.

For autotools based build systems I'd say, just omit libtool and stay with 
the shell scripts and makefile combo. Put most host specifics into one 
file by configure and include that in every Makefile. There are projects 
out to work like this in an easy manner. Ok the autotools documentation 
could be improved to better reflect alternative ways of utilisation.

A comparision using FLTK (fltk-1.1.x-r5989), which I enjoy to learn from 
its clear build system:
CMake:       1min 18seconds
make:        1min  3seconds

That Make was quicker, is probably due to not compile the local zlib, png 
and jpeg versions. But this are probably just 10 seconds. configure 
detected the libs and omited automatically.


One question: What is the difference of installing Cmake in opposite to 
MinGW in order to compile a software project? 


kind regards
Kai-Uwe Behrmann
--
developing for colour management 
www.behrmann.name + www.oyranos.org




More information about the xorg mailing list