doc: Add appendix discussing source modularity.

wilder
Michael Pyne 14 years ago
parent 62a263e664
commit eb7b53b3e7
  1. 66
      doc/index.docbook

@ -3601,4 +3601,70 @@ as of &kdesrc-build; version 1.6.3.
</chapter>
<appendix>
<title>&kde; modules and source code organization</title>
<sect1 id="module-concept">
<title>The <quote>Module</quote></title>
<para>&kde; groups its software into <quote>modules</quote> of various size.
This was initially a loose grouping of a few large modules, but with the
introduction of the <ulink href="http://git-scm.com/">Git</ulink>-based <ulink
href="https://projects.kde.org/">source code repositories</ulink>, these large
modules were further split into many smaller modules.
</para>
<para>&kdesrc-build; uses this module concept as well. In essence, a
<quote>module</quote> is a grouping of code that can be downloaded, built,
tested, and installed.
</para>
<sect2 id="single-modules">
<title>Individual modules</title>
<para>It is easy to set &kdesrc-build; to build a single module. The following
listing is an example of what a declaration for a Subversion-based module would
look like in <link linkend="kdesrc-buildrc">the configuration
file</link>.</para>
<programlisting>
module <replaceable>kdefoo</replaceable>
<replaceable><option>cmake-options</option> -DCMAKE_BUILD_TYPE=Debug</replaceable>
end module
</programlisting>
<tip>This is a Subversion-based module since it doesn't use a <link
linkend="conf-repository">repository</link> option. Also, the
<option>cmake-options</option> option is listed as an example only, it is not
required.</tip>
</sect2>
<sect2 id="module-groups">
<title>Groups of related modules</title>
<para>Now most &kde; source modules are Git-based &kde;, and are normally
combined into groups of modules.</para>
<para>&kdesrc-build; therefore supports groups of modules as well, using
<link linkend="module-sets">module sets</link>. An example:</para>
<programlisting>
module-set <replaceable>base-modules</replaceable>
<option>repository</option> kde-projects
<option>use-modules</option> <replaceable>kde-runtime kde-workspace kde-baseapps</replaceable>
end module-set
</programlisting>
<tip>You can leave the module set name (<replaceable>base-modules</replaceable>
in this case) empty if you like. This <option>repository</option> setting tells
&kdesrc-build; where to download the source from, but you can also use a
<symbol>git://</symbol> URL.</tip>
<para>One special feature of the <quote><option>repository</option>
<literal>kde-projects</literal></quote> is that &kdesrc-build; will
automatically include any Git modules that are grouped under the modules you
list (in the KDE Project database).</para>
</sect2>
</sect1>
</appendix>
</book>

Loading…
Cancel
Save