cached services install dir is wrong [with fixup script]

Alexander Neundorf neundorf at kde.org
Wed Oct 10 22:18:40 BST 2007


On Tuesday 09 October 2007 17:42, David Faure wrote:
> Warning, a change in FindKDE4Internal.cmake which I made some time ago left
> some old value for SERVICES_INSTALL_DIR in the CMakeCache.txt of the kde
> modules, unless you rebuilt them from scratch at some point.
>
> kdebase/CMakeCache.txt:SERVICES_INSTALL_DIR:PATH=/d/kde/inst/kde4/share/ser
>vices
> kdeedu/CMakeCache.txt:SERVICES_INSTALL_DIR:PATH=/d/kde/inst/kde4/share/serv
>ices
> kdegames/CMakeCache.txt:SERVICES_INSTALL_DIR:PATH=/d/kde/inst/kde4/share/se
>rvices [..etc..]
> while kdelibs/cmake/modules/FindKDE4Internal.cmake says
> _set_fancy(SERVICES_INSTALL_DIR     "${SHARE_INSTALL_PREFIX}/kde4/services"
> so the correct paths should be <prefix>/share/kde4/services, instead of
> <prefix>/share/services: the "kde4/" is missing. This makes .desktop files
> be installed into a directory where kbuildsycoca isn't looking at them,
> which breaks things.
>
> The _set_fancy logic makes the cache value preferred above the correct
> value, which is the right behavior in the long term, but broke the change
> of default value in the cmake file. We can't change default values anymore,
> so no need to change _set_fancy I guess.
>
> Executive summary: run http://web.davidfaure.fr/kde/fix_services_dir from
> your toplevel builddir :)

With cmake cvs you "cmake -U SERVICES_INSTALL_DIR ." in the build dir should 
also work, this will undefine SERVICES_INSTALL_DIR before the cmake files are 
processed (and so SERVICES_INSTALL_DIR should be calculated from scratch with 
the new correct value).

Alex




More information about the kde-core-devel mailing list