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-frameworks-devel mailing list