We are comfortably fond of autotools here at Openismus. It’s not perfect but we can use it, it does what we need, and it doesn’t have the problems that we see in other systems.
Years ago I wrote some popular introductory web pages showing how to do the obvious important stuff. David King has updated them and put the examples in git. They are now even simpler, because autotools got even better in the meantime. I think they will be useful.
Autotools with Qt Creator
Some of us like the Qt Creator IDE. So we asked Peter Penz to create a qt-creator plugin that provides some autotools support making it easier to use qt-creator with lots more existing projects. For instance, you can now have some code-completion in qt-creator with autotools-based projects, and you can run the whole build cycle from inside the IDE. Looking at the code, it seems fairly easy to create these plugins once you know how.
It currently works with the ï»¿ï»¿ï»¿stable qt-creator 1.3 (ignore the uneven version number) though you’ll need to build it from source yourself for now. There is some interest from the qt-creator maintainers, so we hope to find time to update it for qt-creator’s master branch, which uses Qt 4.7 (currently unstable, but eventually stable with the same uneven version number), and then make a proper gitorious merge request.
By default, qt-creator uses qmake, though I think there is some CMake support. qmake is a time-wasting copy/paste-encouraging feature-lacking broken failure, so anything that helps people to avoid it must be good.
6 thoughts on “Autotools Things”
Hey, I don’t think qmake is:
it may well be copy/paste-encouraging.
We use it for projects consisting of dozens of libraries, plugins, executables and dependencies, with:
– dependencies/compile order between these automatically calculated
– modular library dependencies
– automatic testing of library presence
– automatic disabling of features where we don’t have the libraries
So, just as with people who judge autotools without knowing it, qmake is actually much more useful than what appears from the sparse documentation.
Oh, an example can be found at http://bazaar.launchpad.net/~igotu2gpx/igotu2gpx/trunk/files :-).
Would be nice though if some of these *possible* features (with a 12k qmake macro file) would make it into qmake itself, but I have the feeling Nokia is more likely to rewrite it from the ground up.
A lot of pro-autotools people keep saying that the new have problems, without mentioning them. So this becomes a bigger and bigger FUD again and again.
Please mention these issues, point to bugs and URLs of them. There are a lot of developers of non-autotools tools that want to fix them.
Not that I am particularly interested in a discussion about it.
I personally never tried Autotools. Well I’ve tried but mainly didn’t like it because the tutorials sucked arse and that it is crappy on Windows. I used CMake personally because it’s like autotools but more usable for creating IDE projects something autotools doesn’t do. And two little nitpicks the annoying verbosity and none telling of how much is left to go in the compile (major plus for CMake).
But anyways. QMake is nice for just creating simple Qt projects and what not. But when you get to creating huge projects with tons of subdirectories it gets insane. Also, how do you even do platform checks, header checks for functions unlike in CMake and Autotools?
I wish Nokia Qt would just drop QMake and just use CMake. But that will never happen lol.
Thanks a lot for the “Autotools Tutorials”. Bookmarked.