dbus service install on windows

Ralf Habacker ralf.habacker at googlemail.com
Tue Oct 25 07:13:53 UTC 2011


Am 24.10.2011 21:33, schrieb Alexander Neundorf:
> On Tuesday 18 October 2011, Ralf Habacker wrote:
>> Hi all,
>>
>> with the recent kde-runtime (and other) buildsystems there are problems
>> installing dbus service files, which need to be fixed.
>>
>> In
>> https://projects.kde.org/projects/kde/kde-runtime/repository/revisions/mast
>> er/entry/knotify/org.kde.knotify.service.cmake there is
>> CMAKE_INSTALL_PREFIX/bin prefix used, which do not work in windows
>> enviroment, where the build install root is not equal to the client
>> install root.
> So the problem is that CMAKE_INSTALL_PREFIX is not necessarily used at install
> time ?
yes
>> On recent windows builds dbus services executables are installed in the
>> same location as dbus-daemon and other executables, so a './' prefix
>> should work.
>>
>> Are there any objections to add an additional KDE_... DIR variable in
>> KDE4Internal.cmake for this, something like
>>
>> KDE4_DBUS_SERVICE_BIN_DIR         - the directory where dbus services
>> are installed which could be used in the service files.
>>
>> which has to be set to
>>
>>       if (WIN32)
>>           set (KDE_DBUS_SERVICE_BIN_DIR .)
>>       else(WIN32)
>>           set (KDE_DBUS_SERVICE_BIN_DIR ${CMAKE_INSTALL_PREFIX}/bin)
>>       endif(WIN32)
>>
>> and to use in service files like shown below:
>>
>> *[D-BUS Service]
>> Name=org.kde.knotify
>> Exec=@*KDE4_DBUS_SERVICE_BIN_DIR@/*knotify4
> Don't know.
> So the problem is that under UNIX we need the full path there, while under
> Windows we would need the full path at install time there, which is unknown at
> package-generation time.
the best solution would be to use a relative path to avoid path 
relocations on install time.
Install location for windows are currently all relative to install root.

from kde4internal.cmake
...
if (WIN32)
# use relative install prefix to avoid hardcoded install paths in 
cmake_install.cmake files
>
> And under Windows org.kde.knotify.service.cmake is installed into the bin/
> directory ?
no, the executable referenced by this service is installed in the bin dir


Ralf



More information about the Kde-buildsystem mailing list