Build error in kdeplasma-addons
Alexander Neundorf
neundorf at kde.org
Tue May 4 22:36:01 CEST 2010
Hi Ivan,
the lancelot-datamodels library currently doesn't compile if not all KDE
modules have been installed to the same prefix:
http://my.cdash.org/viewBuildError.php?buildid=64257
The problem is that you have the following code in your CMakeLists.txt:
set(screensaver_xml
${KDE4WORKSPACE_DBUS_INTERFACES_DIR}/org.freedesktop.ScreenSaver.xml)
...
set(kmail_xml ${DBUS_INTERFACES_INSTALL_DIR}/org.kde.kmail.kmail.xml)
...
set(kmail_folder_xml ${DBUS_INTERFACES_INSTALL_DIR}/org.kde.kmail.folder.xml)
...
set(kopete_xml ${DBUS_INTERFACES_INSTALL_DIR}/org.kde.Kopete.xml)
...
These xml files are installed by kdebase/workspace, and I guess kdepim and
kdenetwork. ${DBUS_INTERFACES_INSTALL_DIR} is the directory where dbus xml
files of the current project (i.e. kdeplasma) will be installed to. If you
set CMAKE_INSTALL_PREFIX to some other directory than your kdelibs install
dir, then DBUS_INTERFACES_INSTALL_DIR will point to that other directory.
What you would have to do correctly is to check whether the respective
packages are installed, and then use the variables provided by these
find-modules to refer to the xml files.
So for the screensaver this would be:
find_package(KDE4Workspace)
set(screensaver_xml
${KDE4WORKSPACE_DBUS_INTERFACES_DIR}/org.freedesktop.ScreenSaver.xml)
Similarly for the other three files.
I'm not sure there is already a FindKDENetwork.cmake file. kmail.xml probably
comes from kdepim(libs), but somehow I couldn't just find it there.
Alex
More information about the Kde-buildsystem
mailing list