Jump to content

Frameworks/Epics/Modularization

From KDE Community Wiki

Standalone Builds

Introduction

It must be possible to build frameworks standalone. This is a necessary step before we can split frameworks in their own git repositories.

The goal of this epic is to ensure all frameworks currently split in the tier1, tier2, tier3 and tier4 repositories build standalone.

Building a framework standalone

To test if a framework builds standalone, one must run cmake pointing to the framework dir, as opposed to running it on the kdelibs top-level dir. Here is how one can build ki18n standalone:

 mkdir build
 cd build
 cmake <relevant-cmake-options> /path/to/kdelibs/tier2/ki18n
 make
 make install

Superbuild

Superbuild is a tool provided by kdelibs to make it easy to build all frameworks standalone, you can learn more about it from its README file.

Frameworks which build standalone must be added to kdelibs/superbuild/CMakeLists.txt.

Tier 2

Status Module Coordination
IN PROGRESS dnssd narvaez
DONE kauth agateau
DONE kcompletion agateau
DONE kcrash agateau
DONE kdoctools agateau
DONE ki18n agateau
IN PROGRESS kjobwidgets narvaez
DONE knotifications agateau
IN PROGRESS kwallet narvaez

Tier 3

Status Module Coordination
IN PROGRESS kbookmarks (waiting for xmlgui) agateau
DONE kconfigwidgets agateau
TO DO kdeclarative (waiting for staging/kiowidgets) <{{{3}}}>
TO DO kded (waiting for kinit) <{{{3}}}>
TO DO kdesu (waiting for kpty) <{{{3}}}>
TO DO kdewebkit <{{{3}}}>
TO DO kdewidgets (waiting for staging/kiofilewidgets, depends on kde4support!) <{{{3}}}>
TO DO kemoticons <{{{3}}}>
DONE kiconthemes agateau
TO DO kinit (waiting for staging/kiowidgets) <{{{3}}}>
TO DO kjsembed <{{{3}}}>
TO DO knewstuff <{{{3}}}>
TO DO knotifyconfig <{{{3}}}>
TO DO kparts <{{{3}}}>
TO DO kprintutils <{{{3}}}>
TO DO kpty <{{{3}}}>
TO DO kross <{{{3}}}>
DONE kservice agateau
DONE ktextwidgets agateau
TO DO kunitconversion apol <{{{3}}}>
TO DO xmlgui (waiting for ktextwidgets (may be possible to turn into an optional dependency)) <{{{3}}}>

Tier 4

Status Module Coordination
TO DO frameworkintegration <{{{3}}}>
TO DO kcmutils <{{{3}}}>
TO DO kde4support <{{{3}}}>
TO DO khtml <{{{3}}}>