The issue with the install dirs...
David Faure
faure at kde.org
Fri Dec 9 10:15:24 UTC 2011
On Thursday 08 December 2011 22:33:29 Alexander Neundorf wrote:
> BIN_INSTALL_DIR (default is prefix/bin)
Should we drop that one and use CMAKE_INSTALL_BINDIR?
Wouldn't that make things more "standard"?
I see what you're saying by "minimizing the porting effort", but that can be
scripted easily, and on the other hand, it creates two worlds again, the
"cmake-kde" world vs the rest of the world. So an app which starts without any
"kde" dependency, will suddenly have to port all its install dirs to the kde
set, to avoid mixing both sets, if they need to use one of the kde features?
That doesn't sound too appealing.
> BUNDLE_INSTALL_DIR (default is /Applications/KDE4 )
> SBIN_INSTALL_DIR (default is prefix/sbin)
> LIB_INSTALL_DIR (default is prefix/lib)
> DATA_INSTALL_DIR
> HTML_INSTALL_DIR
> ICON_INSTALL_DIR (default prefix/share/icons/)
> INFO_INSTALL_DIR (default prefix/info)
Is this really used anywhere? lxr says no, you can remove it.
> DEMO_INSTALL_DIR
Completely unused AFAICS, you can remove it too.
> CONFIG_INSTALL_DIR
> KCFG_INSTALL_DIR
> KCONF_UPDATE_INSTALL_DIR
A thought: how about trying to make this modular too?
E.g. you have no use in CONFIG_INSTALL_DIR, KCFG_INSTALL_DIR or
KCONF_UPDATE_INSTALL_DIR if you're not using the kconfig library, so these vars
could come from the kconfig library.
> SERVICES_INSTALL_DIR
> SERVICETYPES_INSTALL_DIR
These could be provided by the kservice library.
> MIME_INSTALL_DIR
You can remove that one, it was for kde3 desktop files.
XDG_MIME_INSTALL_DIR below replaces it.
> LOCALE_INSTALL_DIR
> MAN_INSTALL_DIR (default prefix/man/)
> PLUGIN_INSTALL_DIR (default is ${LIB_INSTALL_DIR}/kde4)
> IMPORTS_INSTALL_DIR
> SOUND_INSTALL_DIR
> TEMPLATES_INSTALL_DIR
> WALLPAPER_INSTALL_DIR
> AUTOSTART_INSTALL_DIR
> SYSCONF_INSTALL_DIR (default /etc)
> XDG_APPS_INSTALL_DIR
> XDG_DIRECTORY_INSTALL_DIR
> XDG_MIME_INSTALL_DIR
XDG_*_DIR could be provided by cmake itself.
Not sure about some of the others though, a standard directory for sounds, file
templates, and wallpapers don't really need shared code, one is just
installing something for the desktop to pick up.
But OK, that's just a thought. It might make maintainance of the features you
mention much harder, so feel free to disregard.
For feature 3, the main use case is compiling an app using libs from the
distro, where some paths might have been adjusted. Can't this be solved with a
single ConfigFoo-like file which sets the variables? And here again, the same
issue applies to GNUInstallDirs, not just to kde-specific stuff, so merging the
two sounds like a better idea to me.... Time to move to standard ways rather
than be conservative (I don't say that often ;)
--
David Faure, faure at kde.org, http://www.davidfaure.fr
Sponsored by Nokia to work on KDE, incl. KDE Frameworks 5
More information about the Kde-buildsystem
mailing list