Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 69b7332e19cb6b9cbbea5632916d2cb40caa30e4
parent de763d333e46c4c546d4cd6c1ba24784a4fe7afe
Author: Santtu Lakkala <>
Date:   Fri, 18 Feb 2011 18:58:37 +0000

qmake and D-Bus

Aposts/ | 18++++++++++++++++++
1 file changed, 18 insertions(+), 0 deletions(-)

diff --git a/posts/ b/posts/ @@ -0,0 +1,18 @@ +# qmake and D-Bus + + Something I did not find documented anywhere: a sensible way to generate QtDBus adaptor and interface classes from introspection data with qdbusxml2cpp. I only found hacks using system() and custom targets to accomplish the feat. + + I though to myself that there must be a saner, better way, and while looking at the qmake generated Makefile, I noticed some interesting includes. After some investigation, I found "magic" variables DBUS_INTERFACES and DBUS_ADAPTORS. The introspect files should be named servicename.xml and listed in the variables, and qmake will do all the magic for you. + + With these variables, it is really easy to generate the helper classes on-demand. Just remember to include the generated header in some code file, otherwise compilation will choke. + + TEMPLATE = app + QT = core dbus + TARGET = qtdbus + DBUS_ADAPTORS = fi.inz.hello.xml + SOURCES = hello.cpp main.cpp + HEADERS = hello.h + + With this simple .pro file qmake autogenerates the adaptor on build. + + To see other files from the example, see [fi.inz.hello.xml]( [hello.cpp]( [hello.h]( [main.cpp]( [](