
Inhoudsopgave
Om het script te gebruiken, moet u een bestand in uw thuismap hebben genaamd .kdesrc-buildrc
, welke beschrijft welke modules u wilt downloaden en bouwen, en welke opties of configuratiegegevens u voor deze modules wilt gebruiken.
Het configuratiebestand start met de globale optie, die als volgt is gespecificeerd:
globaloption-name option-value
[...]
end global
Het wordt dan gevolgd door een of meer module secties, gespecificeerd in een van de volgende twee vormen:
module
module-name
option-name option-value
[...]
end modulemodule-set
module-set-name
repositorykde-projects
or
use-modulesgit://host.org/path/to/repo.git
module-names
# Andere opties zijn ook instelbaar alsoption-name option-value
[...]
end module-set
Belangrijk
Merk op dat de tweede vorm, module sets, alleen werkt bij Git-gebaseerde modules.
Bij Git-modules, moet module-name
een module zijn uit de KDE Git repository (bijvoorbeeld, kdeartwork of kde-wallpapers), ofschoon het mogelijk is om dit te omzeilen als u handmatig de Git URL specificeert.
Bij Git modules, kunt u de module naam naar wens kiezen, zolang het geen duplicaat is van een andere module naam in de configuratie. Vergeet niet dat de layout van de broncode-map en de bouwmap gebaseerd zijn op de modulenaam als u de optie dest-dir niet gebruikt.
Echter, bij Git module sets moeten de module-names
overeenkomen met de daadwerkelijke git modules in de gekozen repository
. Zie git-repository-base of use-modules voor meer informatie.
In het algemeen wordt de gehele inhoud van de regel na de optienaam
gebruikt als de optiewaarde
.
Eén wijziging die kdesrc-build uitvoert is dat een reeks ${
vervangen wordt door de waarde van die optie uit de globale configuratie. Dit biedt u om naar de waarde van bestaande opties te refereren, inclusief opties die al ingesteld zijn door kdesrc-build.naam-van-optie
}
Om een voorbeeld van dit gebruik te zien, zie Voorbeeld 2.1, “Make configureren om alle beschikbare CPU's te gebruiken, met uitzonderingen”.
Er is tenslotte een laatste type entry in een configuratiebestand, options
groups, welke u kunt gebruiken waar een module
of module-set
kan worden gebruikt.
optionsmodule-name
option-name option-value
[...]
end options
In een options
group kunt u opties ingesteld hebben net zoals bij een module declaratie, en hoort bij een bestaande module. De hierin ingestelde opties overschrijven de in de bijbehorende module ingestelde opties.
Belangrijk
De bijbehorende module naam moet overeenkomen met de opgegeven naam in de options
declaratie. Let op het mistypen van de naam.
Dit is handig bij het declareren van een complete module-set
van modules, die allemaal dezelfde opties gebruiken, om daarna options
groups te gebruiken voor individuele wijzigingen.
options
groups kunt u ook toepassen op benoemde module sets. Hierdoor kunnen expert gebruikers een algemene configuratiebestand (waarin module-set
declaraties voorkomen) als startpunt gebruiken, en vervolgens wijzigingen op de opties toepassen die door die module-sets in configuratiebestanden worden gebruikt die het commando include
gebruiken om naar het basisconfiguratie te refereren.
Voorbeeld 4.1. Voorbeeld van het gebruik van options
In dit voorbeeld kiezen we ervoor om alle modules uit de KDE multimedia software groepen te bouwen. Maar we willen verschillende versies van het programma KMix (misschien voor het testen van een bug fix) gebruiken. Dat gaat dan als volgt:
module-setkde-multimedia-set
repositorykde-projects
use-moduleskde/kdemultimedia
branchmaster
end module-set # kmix is een onderdeel van kde/kdemultimedia groep, ook als we # kmix nooit eerder in dit bestand hebben genoemd, zal kdesrc-build de wijziging ontdekken. optionskmix
branchKDE/4.12
end options
Wanneer u nu kdesrc-build wilt uitvoeren, dan zullen alle KDE multimedia programma's worden gebouwd vanuit de “master” branch van de broncoderepository, maar KMix zal worden gebouwd van de oudere “KDE/4.12” branch. Door options
te gebruiken, hoeft u niet individueel alle andere KDE multimedia programma's op te noemen om ze de juiste branch optie te geven.
Opmerking
Merk op dat deze mogelijkheid pas beschikbaar is in kdesrc-build vanaf versie 1.16, of als u de development versie van kdesrc-build gebruikt van na 2014-01-12.
In een configuratiebestand, mag u verwijzen naar andere bestanden door het keyword include
met een bestand te gebruiken, zodat het zal reageren alsof het bestand waarnaar is verwezen, vanaf dat punt in het configuratiebestand is geplakt.
Bijvoorbeeld, u kunt zoiets als het volgende hebben gedaan:
global
include ~/common-kdesrc-build-options
# Voeg specifieke opties hier toe.
end global
Opmerking
Als u niet het volledige pad opgeeft naar het bestand waarvan u een verwijzing wilt opnemen, dan zal naar het bestand worden gezocht vanuit de map waarin het bestand met de broncode staat. Dit werkt ook recursief.
Hier volgt een lijst met de belangrijkste opties. klik op de optie om meer erover te lezen. Voor de volledige lijst met opties, zie de paragraaf met de naam “Tabel met beschikbare configuratieopties”.
cmake-options voor het definiëren welke flags te gebruiken bij het configureren van een module bij het gebruik van CMake.
branch, voor het uitchecken van een branch in plaats van
master
.configure-flags voor het definiëren welke flags te gebruiken bij het configureren van Qt™.
kdedir, voor het instellen naar welke map KDE wordt geïnstalleerd.
make-options, voor het instellen welke opties naar het Make programma (zoals hoeveel te gebruiken CPU's) worden doorgegeven.
qtdir, voor het instellen van het pad naar Qt™.
source-dir, voor het wijzigen van waar de broncode naar toe moet worden gedownload.