(Created page with '== Introduction == The KDE Development Platform contains a number of KDE modules that form the foundation for all KDE Software. If you are only interested in developing a KDE A...') |
|||
| (15 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
| + | |||
| + | |||
| + | {{TutorialBrowser| | ||
| + | series=Getting Started| | ||
| + | name=Building KDE4 From Source/KDE Development Platform| | ||
| + | pre=[[../KDE_Support|KDE Support]]| | ||
| + | next=[[../KDE_Workspace|KDE Workspace]]| | ||
| + | | | ||
| + | }} | ||
| + | |||
== Introduction == | == Introduction == | ||
| Line 12: | Line 22: | ||
* Installed the [[../Requirements|System Requirements]] | * Installed the [[../Requirements|System Requirements]] | ||
* Installed or Built [[../Qt|Qt and related requirements]] | * Installed or Built [[../Qt|Qt and related requirements]] | ||
| − | * Installed or Built [[../ | + | * Installed or Built [[../KDE_Support|KDE Support]] |
* Understand the [[../Requirements#Definitions|Requirements Table format]] | * Understand the [[../Requirements#Definitions|Requirements Table format]] | ||
== KDE Libraries == | == KDE Libraries == | ||
| + | |||
| + | KDE Libraries (kdelibs) is the core library of the KDE Development Platform. | ||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |- | ||
| + | | width="25%" style="background-color:#EFEFEF;" | '''Project Page''' | ||
| + | | width="75%" | [https://projects.kde.org/projects/kde/kdelibs https://projects.kde.org/projects/kde/kdelibs] | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Easy Repository''' | ||
| + | | git clone kde:kdelibs.git | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Full Repository''' | ||
| + | | git clone git://anongit.kde.org/kdelibs.git | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |+ '''KDE Libraries Build Requirements''' | ||
| + | |- | ||
| + | ! width="20%" style="background-color:#EFEFEF;" | Requirement | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Stable Requires | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Unstable Requires | ||
| + | ! width="10%" style="background-color:#EFEFEF;" | Devel Pkgs? | ||
| + | ! width="40%" style="background-color:#EFEFEF;" | Details | ||
| + | |- | ||
| + | | [http://oscaf.sourceforge.net Shared desktop ontologies] | ||
| + | | style="background-color:#FFFFFF" | ?? | ||
| + | | style="background-color:#FFFF66" | >= 0.6.50 | ||
| + | | ?? | ||
| + | | Support for the Nepomuk semantic desktop system.<br />This is needed if you intend to install ''kdepimlibs'' | ||
| + | |- | ||
| + | | [http://www.grantlee.org Grantlee] | ||
| + | | style="background-color:#FFFFFF" | ?? | ||
| + | | style="background-color:#66FF66" | >= 0.1.0 | ||
| + | | ?? | ||
| + | | Grantlee is used for generating compilable code by the ModelEventLogger.<br />Without Grantlee, the logger will do nothing. | ||
| + | |- | ||
| + | | [http://aspell.net Aspell] | ||
| + | | style="background-color:#FFFFFF" | | ||
| + | | style="background-color:#66FF66" | | ||
| + | | ?? | ||
| + | | Spell checking support via Aspell. | ||
| + | |- | ||
| + | | [http://ivrix.org.il/projects/spell-checker/ HSpell] | ||
| + | | style="background-color:#FFFFFF" | | ||
| + | | style="background-color:#66FF66" | | ||
| + | | ?? | ||
| + | | Spell checking support for Hebrew. | ||
| + | |} | ||
== KDE PIM Libraries == | == KDE PIM Libraries == | ||
| + | |||
| + | KDE PIM Libraries (kdepimlibs) is the PIM library of the KDE Development Platform. | ||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |- | ||
| + | | width="25%" style="background-color:#EFEFEF;" | '''Project Page''' | ||
| + | | width="75%" | [https://projects.kde.org/projects/kde/kdepimlibs https://projects.kde.org/projects/kde/kdepimlibs] | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Easy Repository''' | ||
| + | | git clone kde:kdepimlibs.git | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Full Repository''' | ||
| + | | git clone git://anongit.kde.org/kdepimlibs.git | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |+ '''KDE PIM Libraries Build Requirements''' | ||
| + | |- | ||
| + | ! width="20%" style="background-color:#EFEFEF;" | Requirement | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Stable Requires | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Unstable Requires | ||
| + | ! width="10%" style="background-color:#EFEFEF;" | Devel Pkgs? | ||
| + | ! width="40%" style="background-color:#EFEFEF;" | Details | ||
| + | |- | ||
| + | | [http:// Project] | ||
| + | | style="background-color:#FF6666" | | ||
| + | | style="background-color:#FF6666" | | ||
| + | | Yes | ||
| + | | A library for | ||
| + | |} | ||
| + | |||
| + | === Troubleshooting === | ||
| + | |||
| + | If cmake tells you that it can not find ''Nepomuk'', it may be that you are missing some of the nepomuk dependencies of kdelibs. | ||
| + | |||
| + | The solution is to rebuild kdelibs with the missing dependencies. | ||
== KDE Runtime == | == KDE Runtime == | ||
| + | |||
| + | KDE Runtime (kde-runtime) is the runtime component of the KDE Development Platform. | ||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |- | ||
| + | | width="25%" style="background-color:#EFEFEF;" | '''Project Page''' | ||
| + | | width="75%" | [https://projects.kde.org/projects/kde/kde-runtime/ https://projects.kde.org/projects/kde/kde-runtime/] | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Easy Repository''' | ||
| + | | git clone kde:kde-runtime.git | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Full Repository''' | ||
| + | | git clone git://anongit.kde.org/kde-runtime.git | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |+ '''Project Build Requirements''' | ||
| + | |- | ||
| + | ! width="20%" style="background-color:#EFEFEF;" | Requirement | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Stable Requires | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Unstable Requires | ||
| + | ! width="10%" style="background-color:#EFEFEF;" | Devel Pkgs? | ||
| + | ! width="40%" style="background-color:#EFEFEF;" | Details | ||
| + | |- | ||
| + | | [http:// Project] | ||
| + | | style="background-color:#FF6666" | | ||
| + | | style="background-color:#FF6666" | | ||
| + | | Yes | ||
| + | | A library for | ||
| + | |} | ||
| + | |||
| + | == KActivities == | ||
| + | |||
| + | API for using and interacting with Activities as a consumer, application adding information to them or as an activity manager. | ||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |- | ||
| + | | width="25%" style="background-color:#EFEFEF;" | '''Project Page''' | ||
| + | | width="75%" | [https://projects.kde.org/projects/kde/kdelibs/kactivities https://projects.kde.org/projects/kde/kdelibs/kactivities] | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Easy Repository''' | ||
| + | | git clone kde:kactivities | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Full Repository''' | ||
| + | | git clone git://anongit.kde.org/kactivities | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |+ '''Project Build Requirements''' | ||
| + | |- | ||
| + | ! width="20%" style="background-color:#EFEFEF;" | Requirement | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Stable Requires | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Unstable Requires | ||
| + | ! width="10%" style="background-color:#EFEFEF;" | Devel Pkgs? | ||
| + | ! width="40%" style="background-color:#EFEFEF;" | Details | ||
| + | |- | ||
| + | | [http:// Project] | ||
| + | | style="background-color:#FF6666" | | ||
| + | | style="background-color:#FF6666" | | ||
| + | | Yes | ||
| + | | A library for | ||
| + | |} | ||
| + | |||
| + | == Kate == | ||
| + | |||
| + | TODO: Does it belong here or Apps? | ||
| + | |||
| + | Kate is the text editor component for the KDE Development Platform. | ||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |- | ||
| + | | width="25%" style="background-color:#EFEFEF;" | '''Project Page''' | ||
| + | | width="75%" | [https://projects.kde.org/projects/kde/kdebase/kate https://projects.kde.org/projects/kde/kdebase/kate] | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Easy Repository''' | ||
| + | | git clone kde:kate.git | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Full Repository''' | ||
| + | | git clone git://anongit.kde.org/kate.git | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |+ '''Kate Build Requirements''' | ||
| + | |- | ||
| + | ! width="20%" style="background-color:#EFEFEF;" | Requirement | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Stable Requires | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Unstable Requires | ||
| + | ! width="10%" style="background-color:#EFEFEF;" | Devel Pkgs? | ||
| + | ! width="40%" style="background-color:#EFEFEF;" | Details | ||
| + | |- | ||
| + | | [http:// Project] | ||
| + | | style="background-color:#FF6666" | | ||
| + | | style="background-color:#FF6666" | | ||
| + | | Yes | ||
| + | | A library for | ||
| + | |} | ||
| + | |||
| + | == Konsole == | ||
| + | |||
| + | TODO: Does it belong here or Apps? | ||
| + | |||
| + | Konsole is the terminal emulator component for the KDE Development Platform. | ||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |- | ||
| + | | width="25%" style="background-color:#EFEFEF;" | '''Project Page''' | ||
| + | | width="75%" | [https://projects.kde.org/projects/kde/kdebase/konsole https://projects.kde.org/projects/kde/kdebase/konsole] | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Easy Repository''' | ||
| + | | git clone kde:konsole.git | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Full Repository''' | ||
| + | | git clone git://anongit.kde.org/konsole.git | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |+ '''Konsole Build Requirements''' | ||
| + | |- | ||
| + | ! width="20%" style="background-color:#EFEFEF;" | Requirement | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Stable Requires | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Unstable Requires | ||
| + | ! width="10%" style="background-color:#EFEFEF;" | Devel Pkgs? | ||
| + | ! width="40%" style="background-color:#EFEFEF;" | Details | ||
| + | |- | ||
| + | | [http:// Project] | ||
| + | | style="background-color:#FF6666" | | ||
| + | | style="background-color:#FF6666" | | ||
| + | | Yes | ||
| + | | A library for | ||
| + | |} | ||
== KDE SDK == | == KDE SDK == | ||
The KDE SDK Module is not strictly speaking part of the KDE Development Platform, but it contains many useful tools and scripts that make developing KDE Software a lot easier and so is recommended to always be built or installed. | The KDE SDK Module is not strictly speaking part of the KDE Development Platform, but it contains many useful tools and scripts that make developing KDE Software a lot easier and so is recommended to always be built or installed. | ||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |- | ||
| + | | width="25%" style="background-color:#EFEFEF;" | '''Project Page''' | ||
| + | | width="75%" | http://websvn.kde.org/trunk/KDE/kdesdk/ | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Easy Repository''' | ||
| + | | svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk/ | ||
| + | |- | ||
| + | | style="background-color:#EFEFEF;" | '''Full Repository''' | ||
| + | | svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk/ | ||
| + | |} | ||
| + | |||
| + | |||
| + | {| border="1" cellpadding="5" cellspacing="0" | ||
| + | |+ '''KDE SDK Build Requirements''' | ||
| + | |- | ||
| + | ! width="20%" style="background-color:#EFEFEF;" | Requirement | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Stable Requires | ||
| + | ! width="15%" style="background-color:#EFEFEF;" | Unstable Requires | ||
| + | ! width="10%" style="background-color:#EFEFEF;" | Devel Pkgs? | ||
| + | ! width="40%" style="background-color:#EFEFEF;" | Details | ||
| + | |- | ||
| + | | [http:// Project] | ||
| + | | style="background-color:#FF6666" | | ||
| + | | style="background-color:#FF6666" | | ||
| + | | Yes | ||
| + | | A library for | ||
| + | |} | ||
| Tutorial Series | Getting Started |
| Previous | KDE Support |
| What's Next | KDE Workspace |
| Further Reading | n/a |
Contents |
The KDE Development Platform contains a number of KDE modules that form the foundation for all KDE Software.
If you are only interested in developing a KDE Application and not the KDE Development Platform itself then your distribution packages may be sufficient for these requirements, but Unstable development may require the latest Unstable versions to be built from source.
You need to have completed the following steps:
KDE Libraries (kdelibs) is the core library of the KDE Development Platform.
| Project Page | https://projects.kde.org/projects/kde/kdelibs |
| Easy Repository | git clone kde:kdelibs.git |
| Full Repository | git clone git://anongit.kde.org/kdelibs.git |
| Requirement | Stable Requires | Unstable Requires | Devel Pkgs? | Details |
|---|---|---|---|---|
| Shared desktop ontologies | ?? | >= 0.6.50 | ?? | Support for the Nepomuk semantic desktop system. This is needed if you intend to install kdepimlibs |
| Grantlee | ?? | >= 0.1.0 | ?? | Grantlee is used for generating compilable code by the ModelEventLogger. Without Grantlee, the logger will do nothing. |
| Aspell | ?? | Spell checking support via Aspell. | ||
| HSpell | ?? | Spell checking support for Hebrew. |
KDE PIM Libraries (kdepimlibs) is the PIM library of the KDE Development Platform.
| Project Page | https://projects.kde.org/projects/kde/kdepimlibs |
| Easy Repository | git clone kde:kdepimlibs.git |
| Full Repository | git clone git://anongit.kde.org/kdepimlibs.git |
| Requirement | Stable Requires | Unstable Requires | Devel Pkgs? | Details |
|---|---|---|---|---|
| [http:// Project] | Yes | A library for |
If cmake tells you that it can not find Nepomuk, it may be that you are missing some of the nepomuk dependencies of kdelibs.
The solution is to rebuild kdelibs with the missing dependencies.
KDE Runtime (kde-runtime) is the runtime component of the KDE Development Platform.
| Project Page | https://projects.kde.org/projects/kde/kde-runtime/ |
| Easy Repository | git clone kde:kde-runtime.git |
| Full Repository | git clone git://anongit.kde.org/kde-runtime.git |
| Requirement | Stable Requires | Unstable Requires | Devel Pkgs? | Details |
|---|---|---|---|---|
| [http:// Project] | Yes | A library for |
API for using and interacting with Activities as a consumer, application adding information to them or as an activity manager.
| Project Page | https://projects.kde.org/projects/kde/kdelibs/kactivities |
| Easy Repository | git clone kde:kactivities |
| Full Repository | git clone git://anongit.kde.org/kactivities |
| Requirement | Stable Requires | Unstable Requires | Devel Pkgs? | Details |
|---|---|---|---|---|
| [http:// Project] | Yes | A library for |
TODO: Does it belong here or Apps?
Kate is the text editor component for the KDE Development Platform.
| Project Page | https://projects.kde.org/projects/kde/kdebase/kate |
| Easy Repository | git clone kde:kate.git |
| Full Repository | git clone git://anongit.kde.org/kate.git |
| Requirement | Stable Requires | Unstable Requires | Devel Pkgs? | Details |
|---|---|---|---|---|
| [http:// Project] | Yes | A library for |
TODO: Does it belong here or Apps?
Konsole is the terminal emulator component for the KDE Development Platform.
| Project Page | https://projects.kde.org/projects/kde/kdebase/konsole |
| Easy Repository | git clone kde:konsole.git |
| Full Repository | git clone git://anongit.kde.org/konsole.git |
| Requirement | Stable Requires | Unstable Requires | Devel Pkgs? | Details |
|---|---|---|---|---|
| [http:// Project] | Yes | A library for |
The KDE SDK Module is not strictly speaking part of the KDE Development Platform, but it contains many useful tools and scripts that make developing KDE Software a lot easier and so is recommended to always be built or installed.
| Project Page | http://websvn.kde.org/trunk/KDE/kdesdk/ |
| Easy Repository | svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk/ |
| Full Repository | svn checkout svn://anonsvn.kde.org/home/kde/trunk/KDE/kdesdk/ |
| Requirement | Stable Requires | Unstable Requires | Devel Pkgs? | Details |
|---|---|---|---|---|
| [http:// Project] | Yes | A library for |