KDE-buildsystem-basics package ?
Alexander Neundorf
neundorf at kde.org
Sat Jan 14 18:29:08 UTC 2012
Hi,
we have more or less the following groups of stuff in FindKDE4Internals.cmake,
KDE4Macros.cmake and KDE4Defaults.cmake:
Settings/switches/options:
* the install dirs [1]
* the cmake policy settings
* typical settings, like KDE4_BUILD_TESTS, KDE4_ENABLE_HTMLHANDBOOK,
KDE4_ENABLE_FPIE
* RPATH settings
* compiler and linker flags
* creating an uninstall target
Macros/functions:
* handling kcfg files
* handling ui files
* handling widget files
* handling ui3 files - still necessary ?
* handling documentation, docbook, manpages, ...
* handling icons
* handling kdeinit
* kde4_add_plugin, kde4_add_unit_test, kde4_add_executable
* dbus install stuff (kde4_install_auth_helper_files,
kde4_install_auth_actions)
Some of this stuff looks like it could be moved to a modularized lib:
UI: icon handling, ui, ui3 and widget file handlung
documentation: KDE4_ENABLE_HTMLHANDBOOK, handling documentation, docbook, etc.
This still leaves most of the settings from the first section, and several of
the macros from the second section. Especially things like
kde4_add_executable() and kde4_add_plugin() don't look like they belong to
some specific library.
So, I'd say we still need some place where this stuff can go:
* if there will be like one central very basic library this could be it.
* an extra kde subdirectory in extra-cmake-modules, but that doesn't feel
right
* an extra package kde-frameworks-buildsystem or something like this
Alex
[1] I posted an email about our install dir issue to the cmake-developers
list: http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/2595
Brad explained that GNUInstallDirs.cmake is explicitely implementing the
install dirs compatible to autotools, so it is meant for projects coming from
there. Since this is not what we have in KDE, we do not necessarily have to
use it. So basically he also recommends to have a separate solution for KDE
for this. I agree with him on this.
More information about the Kde-buildsystem
mailing list