Saturday, April 15, 2006

over the cmake speedbump

i finally got things building in the kde4 branch again. qmake was reporting a different version number than everything else, so i rm'd the binary and it rebuilt properly. i discovered this was the problem after building a new rev of kdelibs and getting an odd error during configuration about the qt version being wrong. after digging through cmake files, i found the actual command that is run to check this and thereby finally discovered the problem. kdebase didn't even fail, however, it just silently built makefiles that didn't work. urg. better failure messages along with documentation to make up for the newness of cmake will make the transition period much easier on everyone.

so ... moving away from autohell was probably a good idea. cmake was probably our best choice. and it's currently a painful process. i don't like losing days of productivity to it, and i really don't like the thought of others going through the same. but ...

... i'm fairly confident that it'll work out in the end; i have great faith in the people who work on this project. we're not "in the end" yet, more in the middle. and along the way i think it is healthy to discuss what is working and what isn't working along the way.

2 comments:

Leif said...

I've had my share of frustrations with the auto-tools, however I'm curious what problems you (KDE) guys had with it that caused you to try cmake? I use the auto-tools at my workplace and I've found *most* of the issues we've had with it were just a lack of understanding of the system. I found myself that I jumped into all the auto jazz hoping I could just poke it and make it work...wooh boy was I wrong. Anyway about a year later I'm feeling better about the whole process but not great. Did the KDE folks have a pros/cons list that is available to others who are curious about making the switch?

Aaron J. Seigo said...

portability, maintainability, the annoyance that is recursive make jobs, the god awful syntax used in configure scripts, the size of the build system (in application releases, the build infrastructure in admin/ was often larger than the source code, icons and data files put together) were all amongst the issues that pushed us away from auto*