<chapter id="features">
<title
>Mogelijkheden van het script</title>

<sect1 id="features-overview">
<title
>Overzicht van de mogelijkheden</title>

<para
>&kdesrc-build; heeft de volgende mogelijkheden: </para>

<itemizedlist>

<listitem
><para
>U kunt <quote
>net doen als of</quote
> u de operaties uitvoert. Als u <option
>--pretend</option
> of <option
>-p</option
> op de commandoregel meegeeft, dan zal het script een uitvoerige omschrijving van de commando's geven die het gaat uitvoeren, zonder ze daadwerkelijk uit te voeren. Maar als u nog nooit &kdesrc-build; heeft uitgevoerd, dan wilt u waarschijnlijk eerst het commando <command
>kdesrc-build <option
><link linkend="cmdline-metadata-only"
>--metadata-only</link
></option
></command
> uitvoeren voordat u <option
>--pretend</option
> uitvoert. <tip
><para
>Als u een nog uitvoeriger omschrijving wilt hebben van wat &kdesrc-build; aan het doen is, dan kunt u het gebruik van de optie <option
>--debug</option
> uitproberen. </para
></tip>

</para
></listitem>

<listitem
><para
>&kdesrc-build; biedt u snel een checkout van modulen te doen. Als de module die u wilt uitchecken al eerder is uitgecheckt, dan zal &kdesrc-build; alleen wat is toegevoegd en nog niet op uw computer is downloaden. </para>

<tip
><para
>In het algemeen zijn er geen speciale voorbereidingen nodig om de eerste checkout van een Git module uit te kunnen voeren, omdat de hele Git repository toch moet worden gedownload, het is dus voor de server makkelijk vast te stellen wat het moet versturen.</para
></tip>

<para
>Dit is voor u sneller, en helpt om de belasting van de kde.org anonymous &git; servers te verminderen.</para>
</listitem>

<listitem
><para
>Een andere manier van sneller werken krijgt u door het bouwproces van een module onmiddellijk te starten nadat de broncode van die module is gedownload. (beschikbaar vanaf versie 1.6) </para
></listitem>

<listitem
><para
>Uitgebreide ondersteuning voor het bouwen van de &Qt; library (in het geval dat de &kde; software die u probeert te bouwen, afhankelijk is van een recente &Qt; die beschikbaar is bij uw distributie). </para
></listitem>

<listitem
><para
>&kdesrc-build; vereist niet dat een <acronym
>GUI</acronym
> aanwezig is om te kunnen werken. Daardoor kunt u &kde; software bouwen zonder dat u een alternatieve grafische omgeving nodig heeft. </para
></listitem>

<listitem
><para
>Ondersteunt het instellen van standaard opties voor alle modules (zoals de compilatie-instellingen of de configuratie-instellingen). Dergelijke opties kunt u normaal gesproken ook voor specifieke modules instellen.</para>

<para
>Daarnaast zal &kdesrc-build; indien van toepassing <link linkend="kdesrc-build-std-flags"
>standaard flags toevoegen</link
> om het u makkelijker te maken en mogelijke typefouten te voorkomen als u ze zelf invoert. Opmerking: dit is niet van toepassing wanneer een (aangepaste) toolchain is geconfigureerd via bijv.: <link linkend="conf-cmake-toolchain"
>cmake-toolchain</link
> </para
></listitem>

<listitem
><para
>&kdesrc-build; kan een specifieke <link linkend="using-branches"
>branch of tag</link
> van een module uitchecken. U kunt daarmee ervoor zorgen dat een specifieke <link linkend="conf-revision"
>revisie</link
> van een module is uitgecheckt. </para
></listitem>

<listitem
><para
>&kdesrc-build; kan automatisch van broncoderepository omschakelen om van een andere repository, branch, of tag uit te checken. Dit gebeurt automatisch als u een optie wijzigt die invloed heeft op wat de repository &url; zou moeten zijn, maar u moet de optie <link linkend="cmdline-src-only"
>--src-only</link
> gebruiken op het &kdesrc-build; te laten weten dat het acceptabel is om de switch uit te voeren. </para
></listitem>

<listitem
><para
>&kdesrc-build; kan <link linkend="partial-builds"
>alleen gedeeltes van een module uitchecken</link
>, in die situaties dat u alleen een programma uit een grote module nodig heeft. </para
></listitem>

<listitem
><para
>Voor ontwikkelaars: &kdesrc-build; zal <link linkend="ssh-agent-reminder"
>u er aan herinneren</link
> als u git+ssh:// gebruikt terwijl <application
>ssh-agent</application
> niet is opgestart, omdat dit er toe zal leiden tot herhaaldelijke verzoeken om het wachtwoord van &ssh;. </para
></listitem>

<listitem
><para
>Kan <link linkend="deleting-build-dir"
>de build-map verwijderen</link
> van een module na een installatie om ruimte te besparen, ten koste van toekomstige compilatie tijd. </para
></listitem>

<listitem
><para
>De locaties van door &kdesrc-build; gebruikte mappen zijn instelbaar (zelfs per module). </para
></listitem>

<listitem
><para
>Kan &sudo; gebruiken, of een andere user-specified commando voor het <link linkend="root-installation"
>installeren van modules</link
> zo dat &kdesrc-build; niet als de super user hoeft te worden opgestart. </para
></listitem>

<listitem
><para
>&kdesrc-build; start standaard <link linkend="build-priority"
>met lagere prioriteit</link
> zodat u uw computer nog steeds kan gebruiken terwijl &kdesrc-build; aan het werk is. </para
></listitem>

<listitem
><para
>Kan gebruik maken van &kde;'s <link linkend="using-branches"
>tags en branches</link
>. </para
></listitem>

<listitem
><para
>Het is mogelijk om <link linkend="resuming"
>een bouw te vervolgen</link
> van een bepaalde module. U kunt zelfs tijdelijk <link linkend="ignoring-modules"
>enkele modules negeren</link
> voor een bepaalde bouw. </para
></listitem>

<listitem
><para
>&kdesrc-build; zal de <link linkend="build-progress"
>voortgang van uw bouwproces</link
>tonen als het &cmake; gebruikt, en zal altijd de tijd opnemen van het bouwproces zodat u later weet hoelang het heeft geduurd. </para
></listitem>

<listitem
><para
>Komt met een handige set van standaardinstellingen geschikt om een basis &kde; installatie voor een enkele gebruiker te bouwen vanuit anonieme broncoderepositories. </para
></listitem>

<listitem
><para
>Tilde-expansie voor uw configuratie-opties. U kunt bijvoorbeeld opgegeven: <programlisting
>install-dir ~/kde/usr</programlisting>
</para
></listitem>

<listitem
><para
>Stelt automatisch een bouwstrategie op, waarbij de broncode-map niet dezelfde is als de bouw-map, om de broncode-map maagdelijk te houden. </para
></listitem>

<listitem
><para
>U kunt globale opties opgeven die geldig is voor elke module die u uitcheckt, maar u kunt ook opties opgeven die voor individuele modules gelden. </para
></listitem>

<listitem
><para
>Forceer volledige rebuilds, als u &kdesrc-build; opstart met de optie <option
>--refresh-build</option
>. </para
></listitem>

<listitem
><para
>U kunt verschillende omgevingsvariabelen voor de bouw opgeven, waaronder <envar
>DO_NOT_COMPILE</envar
> en <envar
>CXXFLAGS</envar
>. </para
></listitem>

<listitem
><para
>Commando logging. Logs zijn gedateerd en genummerd zodat u altijd een log heeft van een script run. Daarnaast is er een speciale symlink genaamd latest die altijd naar de meest recente log entry in de log-map wijst. </para
></listitem>

</itemizedlist>

</sect1
>&kdesrc-build-logging; </chapter>
