Custom Buildsystem Support for KDevelop4

February 19, 2010 at 10:58 pm | Posted in KDevelop | Comments Off on Custom Buildsystem Support for KDevelop4

A bit of background first:

The buildsystem we (as in froglogic) use for Squish is custom written using Javascript and that means its not very nice to use KDevelop for hacking on the code. The reason is that KDevelop4 needs to know about includes and defines from the projects buildsystem to provide proper autocompletion and code-navigation.

Now the C++ support has some a small gui which allows you to store some custom include paths in a config file inside of the project. This works for small things, but Squish is buildable on various platforms and more importantly with different dependencies (Qt3 vs. Qt4, different script interpreters, tcl/tk etc.). So I have about a handful of build directories for various configurations and hence a single in-project config file for includes doesn’t work.

Initially I wanted to write a buildsystem plugin for our Javascript buildsystem, but that was simply too much work for me. So instead I’ve sat down (since january actually) and implemented a buildsystem plugin that is supposed to support any buildsystem out there by configuring the tools, includes and defines manually. Also the build directory can be configured, everything goes into a named buildsystem configuration which can be easily changed. So I can setup a separate config for each of my builddirs.

I guess now that you’ve read this, you’re eager to try it out, huh? The plugin is hosted on as I didn’t want to start it in svn, just to convert it to git in a few months. You can find checkout instructions on the page. If you find any bugs, you can keep them, or drop me a mail (I’ll consider using KDE bugzilla once the amount is large enough).

Even if there’s not much to see for such a plugin, I created a small snapshot of the configuration widget: Custom Buildsystem Config page.

PS: I know that its currently not possible to delete entries from the project
paths, includes and defines. Working on that right now (who wants to delete there anyway??).

Blog at | The Pool Theme.
Entries and comments feeds.


Get every new post delivered to your Inbox.

%d bloggers like this: