Auto-generated XML interfaces and dependencies
Thomas McGuire
thomas.mcguire at gmx.net
Fri Dec 21 15:36:23 CET 2007
Hello,
recently I changed the XML D-Bus interface from being hand-written to being
auto-generated by calling qt4_generate_dbus_interface on the kmkernel.h
header file.
Other applications in KDEPIM also use this XML interface, for example
KOrganizer does with
>qt4_add_dbus_interfaces(korganizer_eventviewer_LIB_SRCS
${CMAKE_BINARY_DIR}/kmail/org.kde.kmail.kmail.xml)
This means KOrganizer needs the XML file from KMail's build directory. It
seems that this creates problems with parallel builds, where things like
> No rule to make target `kmail/org.kde.kmail.kmail.xml', needed by
`kontact/plugins/kmail/kmailinterface.cpp
happen.
One workaround is to manually add dependencies to KMail, for example with
>add_dependencies(korganizer_eventviewer kmail)
This is not very elegant, and it reduces the parallelism.
Has anybody got a better solution for this problem? David Faure suggested to
move the call of qt4_generate_dbus_interface to the toplevel CMake file of
KDEPIM instead of KMail's. Is this a sound solution?
Regards,
Thomas
More information about the Kde-buildsystem
mailing list