Tabel met beschikbare configuratieopties

Hier zijn tabellen met verschillende opties, die de volgende informatie bevatten:

  • Naam van optie

  • De scope van de optie: globaal, module of module-set. Van opties in module of/en module-set kan de scope ook gedefinieerd worden in optiesecties.

  • Speciale opmerkingen over het doel en het gebruik van de optie.

Tabel 4.1. Opties alleen voor globale scope

Naam van optieBeschrijving
async
TypeBooleaanse waarde
StandaardwaardeWaar
Beschikbare sinds1.6

Deze optie maakt een asynchrone operatiemodus mogelijk, waar het parallel uitvoeren van de update van de broncode en het bouwproces mogelijk is, in plaats dat er gewacht op dat alle broncode bijgewerkt is voordat het bouwproces start.

Gerelateerde opties voor de opdrachtregel: --async, --no-async

colorful-output
TypeBooleaanse waarde
StandaardwaardeWaar

Stel deze optie in op false om de gekleurde uitvoer van kdesrc-build uit te schakelen. Merk op dat kdesrc-build de kleurcodes alleen naar het terminalvenster (zoals xterm, Konsole, of de normale Linux® console) uitvoert.

Gerelateerde opties voor de opdrachtregel: --color (of --colorful-output), --no-color (of --no-colorful-output)

disable-agent-check
TypeBooleaanse waarde
StandaardwaardeOnwaar

Als u SSH gebruikt om de broncode uit Git te downloaden (alsof u het git+ssh protocol gebruikt), deze optie bestuurt of kdesrc-build zal proberen en er voor zorgen dat als u ssh-agent gebruikt, het daadwerkelijk enkele SSH-identiteiten gebruikt. Dit is om te voorkomen dat SSH voor elke module weer om uw wachtwoord vraagt.

Gerelateerde opties voor de opdrachtregel: --disable-agent-check, --no-disable-agent-check

git-desired-protocol
TypeTekenreeks
Standaardwaardegit
Informatie over geschiedenisDeze optie is toegevoegd in kdesrc-build 1.16. Vóór 20.06 werd deze optie gebruikt om ophaal-URL te configuren in plaats van de opstuur-URL. Vanaf 20.06 wordt https altijd gebruikt bij het bijwerken van KDE-projecten.

Deze optie is alleen van toepassing op modules van een KDE project repository.

Wat deze optie eigenlijk doet is het instellen van welk netwerk-protocol de voorkeur heeft bij het opsturen van de broncode voor deze modules. Normaal gesproken wordt het zeer efficiënte git protocol gebruikt, maar bij sommige netwerken (b.v. intranetten van bedrijven, publieke Wi-Fi) kan deze geblokkeerd worden. Een alternatief protocol welke veel beter wordt ondersteund is het https protocol gebruikt voor Internet web sites.

Als u een van deze beperkende netwerken moet gebruiken dan kunt u deze optie op http instellen om aan https communicatie de voorkeur te geven.

Tip

U heeft wellicht ook de optie http-proxy nodig omdat ook een HTTP proxy nodig is voor netwerkverkeer.

In alle andere situaties zou u deze optie niet moeten instellen omdat het standaardprotocol het meeste efficient is.

git-repository-base
TypeTekenreeks
Beschikbare sinds1.12.1

Deze optie gebruikt u voor het creëren van een verkorte naam om naar een specifieke Git-repository gebaseerde URL te refereren in latere module set declaraties, wat handig is bij het snel declareren van veel te bouwen Git modules.

U moet twee dingen (gescheiden door een spatie) specificeren: De naam waaraan de basis URL wordt toegekend en de actuele basis URL zelf. Bijvoorbeeld:

global
   # andere opties
   # Dit is het algemene pad naar alle anonieme Git server modules.
   git-repository-base kde-git kde:
end global

# Module declaraties

module-set
   # Nu kunt u de alias gebruiken die u eerder definieerde, maar alleen
   # in een module-set.
   repository kde-git
   use-modules module1.git module2.git
end module-set

De module-instelling use-modules optie creëerde twee modules intern, waardoor kdesrc-build zich gedraagt alsof het heeft ingelezen:

module module1
    repository kde:module1.git
end module

module module2
    repository kde:module2.git
end module

Het hierboven gebruikte Git repository voorvoegsel kde: is een afkorting die automatisch door kdesrc-build wordt opgezet. Zie het artikel URL Renaming in de TechBase voor meer informatie. Merk op dat in tegenstelling tot andere opties, u deze optie meerdere keren kan specificeren om net zoveel aliassen als nodig te creëren.

Tip

Het is geen vereiste om deze optie te gebruiken om de module-set handig te gebruiken, deze optie bestaat om makkelijk dezelfde repository in veel verschillende module sets te gebruiken.

install-environment-driver
TypeBooleaanse waarde
StandaardwaardeWaar
Beschikbare sinds17.08

Installeer een shell script dat u kunt gebruiken in setup scripts voor een gebruikers-profiel om makkelijk de nodige omgevingsvariabelen in te stellen om de door kdesrc-build gebouwde Plasma desktop te gebruiken.

Dit stuurprogramma zal de volgende bestanden veranderen:

  • $XDG_CONFIG_HOME/kde-env-master.sh (normaal gesproken gevonden als ~/.config/kde-env-master.sh).

  • $XDG_CONFIG_HOME/kde-env-user.sh (normaal gesproken gevonden als ~/.config/kde-env-user.sh).

Het bestand kde-env-user.sh is optioneel. Het is bedoeld voor aanpassingen door de gebruiker (zie de sectie Troubleshooting and Debugging van de KDE UserBase voor voorbeelden van aanpasbare instellingen), maar deze instellingen zijn ook door de gebruiker elders in te stellen in zijn bestaande profiel setup scripts.

U kunt deze mogelijkheid uitschakelen door deze optie in te stellen op false, en er voor zorg te dragen dat de optie install-session-driver ook is uitgeschakeld.

Tip

kdesrc-build zal niet uw bestaande bestanden (indien aanwezig) overschrijven tenzij u ook de parameter --delete-my-settings op de commandoregel meegeeft.

Gerelateerde opties voor de opdrachtregel: --install-environment-driver, --no-install-environment-driver

install-session-driver
TypeBooleaanse waarde
StandaardwaardeWaar
Beschikbare sinds1.16

Indien ingeschakeld, zal kdesrc-build proberen om een driver voor de grafische login manager te installeren zodat u kunt inloggen naar de door uw kdesrc-build-gebouwde KDE-desktop.

Dit stuurprogramma zal de volgende bestanden veranderen:

  • ~/.xsession

  • $XDG_CONFIG_HOME/kde-env-master.sh (normaal gesproken gevonden als ~/.config/kde-env-master.sh).

  • $XDG_CONFIG_HOME/kde-env-user.sh (normaal gesproken gevonden als ~/.config/kde-env-user.sh).

Als u uw eigen login driver wilt blijven gebruiken, dan kunt u deze instelling uitschakelen door deze optie in te stellen op false. Indien ingeschakeld, zal deze mogelijkheid ook het onderdeel install-environment-driver inschakelen.

Tip

kdesrc-build zal niet uw bestaande bestanden (indien aanwezig) overschrijven tenzij u ook de parameter --delete-my-settings op de commandoregel meegeeft.

Gerelateerde opties voor de opdrachtregel: --install-session-driver, --no-install-session-driver

niceness
TypeGeheel getal
Standaardwaarde10

Stel deze optie in op een getal tussen de 20 en de 0. Hoe hoger het getal is, hoe lager de prioriteit is die kdesrc-build voor zich zelf zal instellen, d.w.z. hoe hoger het getal, hoe "aardiger" het programma is.

Gerelateerde opties voor de opdrachtregel: --nice (of --niceness) value

aantal-kernen
TypeGeheel getal
StandaardwaardeIs afhankelijk van het systeem
Beschikbare sinds20.07

Deze optie wordt gedefinieerd door kdesrc-build (bij gebruik van kdesrc-build --generate-config, ingesteld om het aantal beschikbare CPU's te zijn (zoals aangegeven door de externe toepassing nproc). Als kdesrc-build het aantal CPU's niet kan detecteren, wordt deze waarde ingesteld op 4.

Zie Voorbeeld 2.1, “Make configureren om alle beschikbare CPU's te gebruiken, met uitzonderingen” voor een voorbeeld van het gebruik van deze optie.

Gerelateerde opties voor de opdrachtregel: --num-cores waarde

aantal-kernen-laag-geheugen
TypeGeheel getal
StandaardwaardeIs afhankelijk van het systeem
Beschikbare sinds20.07

Deze optie is gedefinieerd door kdesrc-build (bij gebruik van kdesrc-build --generate-config), ingesteld om het aantal CPU's te zijn dat wordt geacht veilig te zijn voor zwaargewicht of andere zeer intensieve modulen, zoals qtwebengine, om te vermijden uit geheugen te lopen tijdens het bouwen.

De typische berekening is één CPU kern voor elke 2 gigabytes (GiB) totaal geheugen. Minstens 1 kern zal gespecificeerd worden en niet meer dan aantal-kernen kernen zal gespecificeerd worden.

Hoewel deze optie bedoeld is om Qt™-modules te ondersteunen kunt u het gebruiken voor elke module op dezelfde manier waarop aantal-kernen wordt gebruikt.

Als kdesrc-build het beschikbare geheugen niet kan detecteren dan zal deze waarde ingesteld worden op 2.

Gerelateerde opties voor de opdrachtregel: --num-cores-low-mem waarde

persistent-data-file
TypeTekenreeks
Beschikbare sinds1.15

Gebruik deze optie om de locatie te wijzigen waar kdesrc-build zijn persistente data opslaat. De standaard is dat deze data wordt opgeslagen in een bestand genaamd .kdesrc-build-data geplaatst in de dezelfde map als waar het gebruikte configuratiebestand is. Als het globale configuratiebestand wordt gebruikt, zal het opgeslagen worden in ~/.local/state/kdesrc-build-data ($XDG_STATE_HOME/kdesrc-build-data, als $XDG_STATE_HOME is ingesteld). Als u in dezelfde map meerdere configuraties beschikbaar heeft, dan wilt u deze optie handmatig instellen zodat de verschillende configuraties niet eindigen met conflicterende persistente data.

Gerelateerde opties voor de opdrachtregel: --persistent-data-file bestand

ssh-identity-file
TypeTekenreeks
Beschikbare sinds1.14.2

Stel bij deze optie in welke private SSH key bestand wordt doorgegeven aan het commando ssh-add als kdesrc-build broncode gaat downloaden van repositories die authentificatie vereisen. zie ook: de paragraaf met de naam “SSH Agent controles”.

use-idle-io-priority
TypeBooleaanse waarde
StandaardwaardeOnwaar
Beschikbare sinds1.12

Gebruik een lagere prioriteit voor schijf en andere I/O, wat de responsiviteit van de rest van het systeem significant kan verbeteren ten koste van een beetje tragere uitvoering van kdesrc-build.

Gerelateerde opties voor de opdrachtregel: --use-idle-io-priority, --no-use-idle-io-priority

use-inactive-modules
TypeBooleaanse waarde
StandaardwaardeOnwaar

Sta kdesrc-build toe om ook te klonen en op te halen uit repositories gemarkeerd als inactief.

Gerelateerde opties voor de opdrachtregel: --use-inactive-modules, --no-use-inactive-modules


Tabel 4.2. Alle scopes (module, module-set en globale) opties

Naam van optieBeschrijving
binpath
TypeTekenreeks

Gebruik deze optie om de omgevingsvariabele PATH in te stellen voor tijdens het bouwen. U kunt deze instelling niet met een module-optie overschrijven. De standaardinstelling is de $PATH dat is ingesteld als het script start. Deze omgevingsvariabele zou ook de door dubbele punt (:) gescheiden paden van uw development toolchain moeten hebben. De paden ${install-dir}/bin en ${qt-install-dir}/bin worden automatisch toegevoegd. U mag in elk pad dat u toevoegt de tilde (~) gebruiken.

Gerelateerde opties voor de opdrachtregel: --binpath pad

branch
TypeTekenreeks
Standaardwaardemaster

Doe een checkout van de gespecificeerde branch in plaats van de standaard branch.

Opmerking

Bij de meeste KDE modules wilt u waarschijnlijk in plaats daarvan de optie branch-group gebruiken en deze optie gebruiken voor de uitzonderingen.

Gerelateerde opties voor de opdrachtregel: --branch waarde

branch-group
TypeTekenreeks
Beschikbare sinds1.16-pre2

Gebruik deze optie om een algemene groep in te stellen waarvan u de modules wilt selecteren.

Voor de ondersteunde Git module types, zal kdesrc-build bepalen welke branch automatisch daadwerkelijk gebruikt zal worden, gebaseerd op door de KDE ontwikkelaars bepaalde regels (deze regels zijn te bekijken in de kde-build-metadata broncoderepository in uw broncode-map). Nadat een branch is gekozen, zal die branch worden gebruikt alsof u het zelf had opgegeven met de optie branch.

Dit is handig als u alleen maar probeert om bij te blijven met sommige gewone ontwikkelingen zonder dat u aandacht hoeft te geven aan alle naamswijzigingen van branches.

Merk op dat als u daadwerkelijk zelf een branch kiest, dat het deze instelling overschrijft. Datzelfde geldt ook voor andere branch-selectie opties zoals tag.

Opmerking

deze optie is alleen geldig voor kde-projects Git modules (de algemene geval). Zie ook de paragraaf met de naam “De officiële database voor KDE-modulen”.

Gerelateerde opties voor de opdrachtregel: --branch-group waarde

build-dir
TypeTekenreeks
Standaardwaarde~/kde/build

Gebruik deze optie om de map te wijzigen die de bouwbronnen bevatten. Er zijn drie verschillende manieren on het te gebruiken:

  1. Relatief tot de KDE Git broncodemap (zie de optie source-dir). Dit is de standaard en wordt geselecteerd als u een mapnaam intikt die niet begint met een tilde (~) of een slash (/).

  2. Absoluut pad. Als u een pad specificeert dat begint met een /, dan wordt dat pad direct gebruikt. Bijvoorbeeld, /tmp/kde-obj-dir/.

  3. Relatief tot uw homemap. Als u een pad specificeert dat begint met een ~, dan wordt het pad gebruikt relatief tot uw homemap, analoog aan de tilde-expansie van de shell. Bijvoorbeeld, ~/builddir zou de bouwmap instellen op /home/user-name/builddir.

Misschien verrassend, deze optie kan per module gewijzigd worden.

Gerelateerde opties voor de opdrachtregel: --build-dir pad

build-when-unchanged
TypeBooleaanse waarde
StandaardwaardeWaar

Bestuur of kdesrc-build altijd probeert om een module te bouwen die geen broncode update heeft gehad.

Indien ingesteld op true, zal kdesrc-build altijd het bouwproces voor een module proberen, zelfs als er voor de module geen updates van de broncode zijn. Met deze waarde is er een grotere kans op een correcte bouw.

Indie ingesteld op false, zal kdesrc-build alleen het bouwproces voor een module proberen als er voor de module updates van de broncode zijn, of in andere situaties waar het waarschijnlijk is dat opnieuw bouwen daadwerkelijk nodig is. Dit kan tijd besparen, met name als u kdesrc-build dagelijks, of nog vaker uitvoert.

Belangrijk

Deze mogelijkheid is er alleen als optimalisatie. Zoals zoveel andere optimalisaties, is er een afweging wat betreft de correctheid van uw installatie. Bijvoorbeeld, bij wijzigingen van de qt of kdelibs modules kan een herbouw van andere modules nodig zijn, zelfs als de broncode daarvan helemaal niet is verandert.

Gerelateerde opties voor de opdrachtregel: --build-when-unchanged (of --force-build), --no-build-when-unchanged (of --no-force-build)

cmake-generator
TypeTekenreeks
StandaardwaardeUnix Makefiles

Specificeer welke generator samen met CMake te gebruiken. Op dit moment worden beiden Ninja en Unix Makefiles evenals extra generators op hen gebaseerd zoals Eclipse CDT4 - Ninja ondersteund. Ongeldige (niet-ondersteunde) waarden worden genegeerd en behandeld alsof ze niet zijn ingesteld.

Merk op dat als een geldige generator ook is gespecificeerd via cmake-options het de waarde voor cmake-generator zal overschrijven.

Gerelateerde opties voor de opdrachtregel: --cmake-generator waarde

cmake-toolchain
TypeTekenreeks

Een toolchain-bestand specificeren om te gebruiken met CMake.

Wanneer een geldig toolchain-bestand is geconfigureerd zal kdesrc-build niet langer automatisch omgevingsvariabelen instellen. U kunt set-env, binpath en libpath gebruiken om de omgeving handmatig bij te werken als uw toolchain-bestand niet zomaar werkt met kdesrc-build. Kijk in het overzicht van standaard vlaggen toegevoegd door kdesrc-build voor meer informatie.

Merk op dat als een geldige toolchain ook is gespecificeerd via cmake-options het de waarde voor cmake-toolchain zal overschrijven.

Gerelateerde opties voor de opdrachtregel: --cmake-toolchain waarde

cmake-options
TypeTekenreeks

Voegt toe aan de global options voor het standaard bouwproces, overschrijft global voor andere bouwprocessen.

Gebruik deze optie om op te geven welke flags aan CMake worden doorgegeven bij het creëren van het bouwsysteem voor de module. Als u dit gebruikt als een global optie, dan wordt het toegepast bij alle modules dat dit script bouwt. Als u dit als een module optie gebruikt, dan wordt het aan het eind van de global opties toegevoegd. Hierdoor kunt u algemene CMake opties in het global sectie specificeren.

Deze optie is niet van toepassing op qt (wat CMake niet gebruikt). Gebruik in plaats daarvan configure-flags.

Als een geldige generator is gespecificeerd onder de gegeven opties het de waarde van cmake-generator zal overschrijven. Ongeldige (niet-ondersteunde) generators worden genegeerd en zullen niet worden doorgegeven aan CMake.

Als een geldige toolchain-bestand is gespecificeerd onder de gegeven opties het de waarde van cmake-toolchain zal overschrijven. Ongeldige (niet-ondersteunde) toolchains worden genegeerd en zullen niet worden doorgegeven aan CMake.

Omdat deze opties direct worden doorgegeven naar CMake commandoregel, moet u ze opgegeven alsof u intikt bij CMake. bijvoorbeeld:

cmake-options -DCMAKE_BUILD_TYPE=RelWithDebInfo

Omdat dit altijd een probleem is, neemt kdesrc-build de zorg op zich om er voor te zorgen dat zolang de rest van de opties correct zijn ingesteld, u deze optie leeg zou moeten kunnen laten. (Met andere woorden, vereiste CMake parameters worden voor u automatisch ingesteld)

Gerelateerde opties voor de opdrachtregel: --cmake--options waarde

compile-commands-export
TypeBooleaanse waarde
StandaardwaardeWaar

Schakelt de generatie van een compile_commands.json in via CMake in de bouwmap.

Gerelateerde opties voor de opdrachtregel: --compile-commands-export, --no-compile-commands-export

compile-commands-linking
TypeBooleaanse waarde
StandaardwaardeOnwaar

Schakelt het aanmaken van een symbolische koppeling in van compile_commands.json in gegenereerd via CMake in de bouwmap naar de broncodemap.

Gerelateerde opties voor de opdrachtregel: --compile-commands-linking, --no-compile-commands-linking

configure-flags
TypeTekenreeks

Voegt toe aan de global options voor het standaard bouwproces, overschrijft global voor andere bouwprocessen.

Gebruik deze optie om op te geven welke flags naar ./configure moeten worden doorgegeven bij het creëren van het bouwsysteem van de module. Als u dit gebruikt als een global-optie, dan is het van toepassing op alle modules dat dit script bouwt. Deze optie is alleen van toepassing op qt.

Voor het wijzigen van configuratiegegevens voor KDE modules, zie cmake-options.

Gerelateerde opties voor de opdrachtregel: --configure-flags waarde

custom-build-command
TypeTekenreeks

U kunt deze optie zo instellen dat het een ander commando uitvoert (ander dan make, bijvoorbeeld) in om het bouwproces uit te voeren. kdesrc-build zou in het algemeen de juiste actie uit moeten voeren, daarom zou het niet nodig moeten zijn om deze optie in te stellen. Maar het kan handig zijn om alternatieve bouwsystemen te gebruiken.

De inhoud van deze optie wordt als commando op de commandoregel gebruikt, normaal gesproken gemodificeerd door de optie make-options.

Gerelateerde opties voor de opdrachtregel: --custom-build-command waarde

cxxflags
TypeTekenreeks

Voegt toe aan de global options voor het standaard bouwproces, overschrijft global voor andere bouwprocessen.

Gebruik deze optie om te specificeren welke flags gebruikt worden voor het bouwen van de module. Deze optie wordt hier gespecificeerd en niet bij configure-flags of cmake-options omdat deze optie de omgevingsvariabele CXXFLAGS instelt tijdens het bouwproces.

Noot: merk op dat voor KDE 4 en elke andere modules die gebruik maken van CMake, het nodig is om de optie CMAKE_BUILD_TYPE in te stellen op none bij het configureren van de module. Dit kunt u doen door de optie cmake-options te gebruiken.

Gerelateerde opties voor de opdrachtregel: --cxxflags waarde

dest-dir
TypeTekenreeks

Gebruik deze optie om de naam van een module gebruikt op de harde schijf te wijzigen. Bijvoorbeeld, als uw module was extragear/network, dan zou u het met deze optie kunnen hernoemen naar extragear-network. Merk wel op dat ofschoon dit wel de naam op de harde schijf wijzigt, het geen goed idee is om mappen of map-scheidingen in de naam op te nemen omdat dit interfereert met de build-dir of source-dir opties.

Gerelateerde opties voor de opdrachtregel: --dest-dir pad

do-not-compile
TypeTekenreeks

Gebruik deze optie om een specifieke set van mappen op te geven die niet in een module gebouwd moeten worden (in plaats van allemaal). De niet te bouwen modules moeten door spaties gescheiden zijn.

Merk op dat de broncode voor de programma's toch gewoon worden gedownload.

Bijvoorbeeld, om het bouwen van de codeeditor en mappen minimaltest van het framework syntaxhighlighting uit te schakelen, zou u do-not-compile codeeditor minimaltest compileren toevoegen, u zou "do-not-compile juk kscd" aan uw syntaxhighlighting opties moeten toevoegen.

Zie de paragraaf met de naam “Mappen uit een bouw verwijderen” voor een voorbeeld.

Gerelateerde opties voor de opdrachtregel: --do-not-compile waarde

git-user
TypeTekenreeks
Beschikbare sinds15.09

Deze optie is bedoeld voor KDE-ontwikkelaars. Indien ingesteld, zal het gebruikt worden om automatisch identiteitsinformatie voor de besturingssoftware voor broncode Git in te stellen voor nieuw gedownloade Git-modules (inclusief de grote meerderheid van KDE-modules).

Specifiek, de velden voor de naam en email van de gebruiker voor elk nieuw Git repository moet u invullen bij deze optie.

De waarde moet gespecificeerd worden in de vorm Naam gebruiker <email@voorbeeld.com>.

Een ontwikkelaar genaamd Foo Barbaz met het e-mailadres foo@abc.xyz zou bijvoorbeeld gebruiken:

git-user Foo Barbaz <foo@abc.xyz>

http-proxy
TypeTekenreeks
Beschikbare sinds1.16

Deze optie, indien ingesteld, gebruikt de gespecificeerde URL als een proxy server voor elk HTTP netwerk-communicatie (bijvoorbeeld, bij downloaden van de KDE project database).

Daarnaast zal kdesrc-build proberen om de hulpprogramma's waarvan het afhankelijk is, ook die proxy server te laten gebruiken, indien mogelijk, door de omgevingsvariabele http_proxy naar de aangegeven server te laten wijzen, als die omgevingsvariabele niet al is ingesteld.

Gerelateerde opties voor de opdrachtregel: --http-proxy waarde

indeling-mappen
TypeTekenreeks
Geldige waardenflat, invent, metadata
Standaardwaardevlak

Deze optie wordt gebruikt om de indeling die kdesrc-build zou moeten gebruiken bij het aanmaken van de broncode- en bouwmappen.

De indeling vlak zal alle modulen direct onder het topniveau broncode en bouwmappen groeperen. Bijvoorbeeld source/extragear/network/telepathy/ktp-text-ui zou in de indeling metadata zijn en source/ktp-text-ui in plaats daarvan in de indeling flat.

De indeling invent maakt een hiërarchie in mappen aan de de de relatieve paden van opslagruimten spiegelt op invent.kde.org. Bijvoorbeeld source/kde/applications/kate in de indeling metadata zou zijn source/utilities/kate in plaats daarvan in de indeling invent. Deze indeling heeft alleen effect op KDE projecten. Het is een goede keuze voor mensen die beginnen met kdesrc-build.

Tenslotte, de indeling metadata is hetzelfde als het oude standaard gedrag. Deze indeling organiseert KDE projecten volgens de projectpaden gespecificeerd in de projectmetadata voor deze modules. Dit is een goede keuze als u een indeling van mappen wilt die bepaalde KDE-processen volgt, maar merk op dat dit pad daarom niet altijd stabiel is. Als resultaat kan kdesrc-build een oude kopie van de opslagruimte verlaten en een nieuwe klonen voor een project vanwege wijzigingen in de projectmetadata.

Gerelateerde opties voor de opdrachtregel: --directory-layout waarde

generate-vscode-project-config
TypeBooleaanse waarde
StandaardwaardeOnwaar

Instelling bij Module overschrijft de instelling bij global

Stel deze optie in op true om te zorgen dat kdesrc-build VS-code-projectbestanden (map .vscode) aanmaakt in de map voor broncode van module.

De map .vscode zal alleen aangemaakt worden, wanneer deze nog niet bestaat, in de map voor broncode van het project. De configuraties zullen het gebruik van LSP, bouwen, debuggen en uitvoeren van het project inschakelen vanuit de VS-code.

De configuratie beveelt ook extensies aan om te installeren die nuttig zijn voor het werken op de meeste KDE-projecten.

Gerelateerde opties voor de opdrachtregel: --generate-vscode-project-config, --no-generate-vscode-project-config

include-dependencies
TypeBooleaanse waarde
StandaardwaardeWaar

Bestuurt of kdesrc-build bekende afhankelijkheden van deze module tijdens het bouwen mee zal nemen, zonder dat er van u verlangt word om deze afhankelijkheden te noemen (zelfs indirect).

Opmerking

Deze optie werkt alleen voor op kde-project-gebaseerde modules, en vereist dat de metadata die door KDE ontwikkelaars is ingevuld accuraat is voor de door u geselecteerde branch-group.

Dit is om het bouwen van toepassingen te ondersteunen die recentere versies van Qt™ of Plasma™ nodig hebben dan ondersteund op gebruikelijke besturingssystemen.

Gerelateerde opties voor de opdrachtregel: --include-dependencies (of -d), --no-include-dependencies (of -D)

install-after-build
TypeTekenreeks
StandaardwaardeWaar

Met deze optie stelt u in of het pakket geïnstalleerd moet worden als de bouw succesvol is. U kunt ook op de commandoregel de parameter --no-install gebruiken.

Gerelateerde opties voor de opdrachtregel: --install-after-build, --no-install-after-build

install-dir
TypeTekenreeks
Standaardwaarde~/kde/usr

Deze optie bestuurt waar de module wordt geïnstalleerd nadat het is gebouwd. Als u dit wijzigt naar een map die root-rechten nodig heeft, dan wilt u wellicht meer lezen over de optie make-install-prefix.

Deze optie gebruiken biedt u het installeren van een module naar een andere map dan waar de KDE platformbibliotheken worden geïnstalleerd, zoals alsof u kdesrc-build gebruikt om alleen toepassingen te bouwen.

U kunt ${MODULE} of $MODULE in het pad gebruiken om ze te expanderen tot de naam van de module.

Gerelateerde opties voor de opdrachtregel: --install-dir path

libname
TypeTekenreeks
StandaardwaardeAutomatisch gedetecteerd

Stel deze optie in om de standaardnaam van de geïnstalleerde bibliotheekmap te wijzigen in ${install-dir} en ${qt-install-dir}. Op veel systemen is dit ofwel "lib" of "lib64". Automatische detectie wordt gepoogd om de juiste naam standaard in te stellen, maar als de keuze verkeerd is dan kan dit gewijzigd worden met deze instelling.

Gerelateerde opties voor de opdrachtregel: --libname waarde

libpath
TypeTekenreeks

Gebruik deze optie om de omgevingsvariabele LD_LIBRARY_PATH voor gebruik tijdens het bouwen in te stellen. U kunt in een module option deze instelling niet overschrijven. De standaardinstelling is blank, maar de paden ${install-dir}/$LIBNAME en ${qt-install-dir}/$LIBNAME worden automatisch toegevoegd. U mag in deze optie bij elk pad dat u toevoegt de tilde (~) gebruiken.

Gerelateerde opties voor de opdrachtregel: --libpath pad

log-dir
TypeTekenreeks

Gebruik deze optie om de map te wijzigen waarin de door het script gegenereerde logbestanden worden opgeslagen.

Gerelateerde opties voor de opdrachtregel: --log-dir pad

make-install-prefix
TypeTekenreeks

Vul deze variabele met een door spaties gescheiden lijst, wat zal worden geïnterpreteerd als een commando en de daarbij horende opties die de voor het installeren van modules gebruikte commando make install voorafgaan. Dit is handig bijvoorbeeld bij het met Sudo installeren van pakketten, maar wees wel voorzichtig bij het gebruik van root privileges.

Gerelateerde opties voor de opdrachtregel: --make-install-prefix waarde

make-options
TypeTekenreeks

Vul deze variabele met commandoregelparameters die u wilt doorgeven aan het commando make. Dit is handig bij programma's zoals distcc of bij systemen met meer dan een processor core.

Merk op dat niet alle ondersteunde bouwsystemen make gebruiken. Voor bouwsystemen die ninja voor bouwen gebruiken (zoals het Meson bouwsysteem), zie de instelling ninja-opties.

Gerelateerde opties voor de opdrachtregel: --make-options waarde

manual-build
TypeBooleaanse waarde
StandaardwaardeOnwaar

Zet de instellingswaarde op true om te voorkomen dat het bouwproces gaat proberen om deze module te bouwen. Het blijft echter wel up-to-date bij het updating met Git. Deze optie is het exacte equivalent van de opdrachtregelparameter --no-build.

manual-update
TypeBooleaanse waarde
StandaardwaardeOnwaar

Zet de instellingswaarde op true om te voorkomen dat het bouwproces gaat proberen om deze module up te daten (en daarop volgend, bouwen of installeren). Als u dit voor een module instelt, dan heeft u het in essentie uitgecomment.

ninja-options
TypeTekenreeks

Stel deze variabele in om opdrachtregelopties door te geven aan het bouwcommando ninja. Dit kan nuttig zijn om verbose uitvoer in te schakelen of om handmatig het aantal parallelle bouwjobs te verminderen die ninja zou gebruiken.

Opmerking

Merk op dat deze instelling alleen ninja bestuurt bij gebruik door kdesrc-build. De module Qt™-webengine gebruikt ninja indirect, maar ondersteunt alleen officieel het bouwen door make. In deze situatie kunt u NINJAFLAGS instellen als een manier om make de toepasselijke vlaggen door te egeven wanneer het later ninja aanroept, door make-options te gebruiken.

opties qtwebengine
    # Beperkt make en ninja om niet meer dan 6 separate taken te gebruiken zelfs
    # wanneer meer CPU beschikbaar is, om uit geheugen lopen te vermijden
    make-options -j6 NINJAFLAGS=-j6
einde opties

Gerelateerde opties voor de opdrachtregel: --ninja-options waarde

override-build-system
TypeTekenreeks
StandaardwaardeAutomatisch gedetecteerd
Geldige waardenKDE, Qt, qmake, generiek, autotools, meson
Beschikbare sinds1.16

Normaal gesproken zal kdesrc-build na een download detecteren welk bouwsysteem het moet gebruiken voor een module. Dit wordt gedaan door te controleren op de aanwezigheid van bepaalde bestanden in de map met de broncode van de module.

Sommige modules kunnen meerdere vereiste sets bestanden hebben, wat de auto-detectie in verwarring kan brengen. In een dergelijk geval kan u handmatig de correcte bouw type specificeren.

De op dit moment ondersteunde bouwtypes die u kunt instellen zijn:

KDE

Gebruikt om KDE modules te bouwen. In werkelijkheid kunt u het gebruiken om bijna elke module te bouwen dat gebruik maakt van CMake maar het is het verstandigst om niet ervan afhankelijk te zijn.

Qt

Gebruikt om de Qt™ bibliotheek zelf te bouwen.

qmake

Gebruikt om Qt™ modules te bouwen die gebruik maken van qmake-style .pro-bestanden.

generic

Gebruikt om modules te bouwen die gebruik maken van gewone Makefiles en die geen speciale configuratie nodig hebben.

autotools

Dit is de standaard configuratie hulpprogramma dat door de meeste vrije en open-source programma's die niet in een van de andere categorieën vallen gebruikt wordt.

meson

Dit is een relatief nieuw hulpmiddel die populariteit wint als een vervanging voor de autotools en kan vereist worden voor sommige niet-KDE modules.

Gerelateerde opties voor de opdrachtregel: --override-build-system waarde

purge-old-logs
TypeBooleaanse waarde
StandaardwaardeWaar

Hiermee stelt u in of oude log mappen automatisch worden verwijderd.

Gerelateerde opties voor de opdrachtregel: --purge-old-logs, --no-purge-old-logs

qmake-options
TypeTekenreeks
Beschikbare sinds1.16

Alle hier gespecificeerde opties worden doorgegeven aan het commando qmake, bij modules die het qmake bouwsysteem gebruiken. Bijvoorbeeld, u kunt de optie PREFIX=/path/to/qt gebruiken om bij qmake te overschrijven waar het de module installeert.

Gerelateerde opties voor de opdrachtregel: --qmake-options waarde

qt-install-dir
TypeTekenreeks

Deze optie bestuurt waar qt-modulen ba het bouwen te installeren. Als u deze optie niet instelt, dan zal kdesrc-build aannemen dat Qt™ wordt geleverd door het besturingssysteem.

Gerelateerde opties voor de opdrachtregel: --qt-install-dir pad

remove-after-install
TypeTekenreeks
Geldige waardengeen, bouwmap, alles
Standaardwaardegeen

Als u weinig harde schijfruimte heeft, dan wilt u wellicht deze optie gebruiken om automatisch de bouwmap te verwijderen (of zowel de broncode-map als de bouwmap bij eenmalige installaties) nadat de module succesvol is geïnstalleerd.

Mogelijke waarden voor deze optie zijn:

  • geen - verwijder niets.

  • builddir - verwijder de bouwmap, maar niet de broncode.

  • all - verwijder zowel de broncode en de bouwmap.

Merk op dat het gebruik van deze optie een ongunstige impact kan hebben op zowel het gebruik van uw bandbreedte (als u all gebruikt) en op de tijd die nodig is voor het compileren van KDE software, omdat kdesrc-build geen incrementele bouw kan uitvoeren.

Gerelateerde opties voor de opdrachtregel: --remove-after-install waarde

opslagruimte
TypeTekenreeks
Beschikbare sinds1.10

Deze optie kunt u gebruiken om de Git repository te specificeren waar u de broncode voor de module kunt downloaden. Qt™ (en dus ook qt) heeft de informatie uit deze optie nodig, net zoals verschillende KDE modules die in het proces van conversie naar het gebruik van Git zitten.

revision
TypeTekenreeks
Beschikbare sinds1.16

Als deze optie een andere waarde heeft dan 0 (nul),dan zal kdesrc-build de update van de broncode forceren met exact de opgegeven revisie, zelfs als opties zoals branch zijn ingesteld. als de module al de opgegeven revisie heeft dan zal het verder niet worden geupdate tenzij deze optie is gewijzigd of verwijderd uit de configuratie.

Gerelateerde opties voor de opdrachtregel: --revision id

run-tests
TypeBooleaanse waarde
StandaardwaardeOnwaar

indien ingesteld op true, dan zal de module worden gebouwd met ondersteuning voor gebruik van zijn test suite, en zal de test suite worden uitgevoerd als onderdeel van het bouwproces. kdesrc-build zal een eenvoudig rapport met de testresultaten tonen. Dit is handig voor ontwikkelaars en diegene die zeker willen zijn dat hun systeem correct is opgezet.

Gerelateerde opties voor de opdrachtregel: --run-tests, --no-run-tests

set-env
TypeTekenreeks

Deze optie accepteert een door spaties gescheiden lijst met waarden, waar de eerste waarde de in te stellen omgevingsvariabele is, en de overige waarden is waarnaar toe u de variabele in wilt stellen. Bijvoorbeeld, om de variabele RONALD naar McDonald in te stellen, moet u in het betreffende sectie het volgende commando zetten:

set-env RONALD McDonald

Deze optie is speciaal omdat u het kan herhalen zonder dat u eerder in dezelfde sectie van het configuratiebestand ingestelde set-env instellingen overschrijft. Op deze manier kunt u meerdere omgevingsvariabelen per module (of globaal) instellen.

source-dir
TypeTekenreeks
Standaardwaarde~/kde/src

Deze gebruikt u om de map op uw computer in te stellen waar de KDE-broncode uit Git wordt opgeslagen. U mag bij deze optie de tilde (~) die de persoonlijke map voorstelt gebruiken.

Gerelateerde opties voor de opdrachtregel: --source-dir pad

stop-on-failure
TypeBooleaanse waarde
StandaardwaardeWaar

Deze optie op false instellen biedt het script om door te gaan met de uitvoering als er een fout optreed tijdens het bouwproces of het installatieproces.

Gerelateerde opties voor de opdrachtregel: --stop-on-failure, --no-stop-on-failure

tag
TypeTekenreeks
Beschikbare sinds1.16

Gebruik deze optie om een specifieke release van een module te downloaden.

Opmerking: De kans is groot dat u deze optie niet wilt gebruiken. KDE releases zijn in tarball vorm vanaf de KDE download site beschikbaar.

Gerelateerde opties voor de opdrachtregel: --tag waarde

use-clean-install
TypeBooleaanse waarde
StandaardwaardeOnwaar
Beschikbare sinds1.12

Stel de waarde van deze optie in op true om te zorgen dat kdesrc-build het commando make uninstall uitvoert direct voordat het make install uitvoert.

Dit kan handig zijn om te zorgen dat er geen vergeten oude library-bestanden, CMake metadata, enz. meer zijn die problemen kunnen veroorzaken in lang-levende KDE installaties. Maar dit werkt alleen bij bouwsystemen waar ook make uninstall is.

Gerelateerde opties voor de opdrachtregel: --use-clean-install, --no-use-clean-install


Deze opties vereisen geen waarde (behalve "filter-out-phases"). Ze worden toegepast als ze aanwezig zijn in een sectie.

Tabel 4.3. Selectie-opties voor fase

Naam van optieBereikBeschrijving
no-src
globaal
module
module-set

De fase bijwerken verwijderen. De andere fasen die zijn aangeboden zullen nog steeds verwerkt worden.

Gerelateerde opties voor de opdrachtregel: --no-src (of -S)

no-install
globaal
module
module-set

De fase installeren verwijderen. De andere fasen die zijn aangeboden zullen nog steeds verwerkt worden.

Gerelateerde opties voor de opdrachtregel: --no-install

no-tests
globaal
module
module-set

De fase testen verwijderen. De andere fasen die zijn aangeboden zullen nog steeds verwerkt worden.

Gerelateerde opties voor de opdrachtregel: --no-tests

no-build
globaal
module
module-set

De fase bouwen verwijderen. De andere fasen die zijn aangeboden zullen nog steeds verwerkt worden.

Gerelateerde opties voor de opdrachtregel: --no-build

build-only
globaal
module
module-set

Als het een fase bouwen had, verwijder elke andere fase. Anders, verwijder alle fasen.

Gerelateerde opties voor de opdrachtregel: --build-only

install-only
globaal
module
module-set

Als het een fase installeren had, verwijder elke andere fase. Anders, verwijder alle fasen.

Gerelateerde opties voor de opdrachtregel: --install-only

uninstall
globaal
module
module-set

Als het een fase installatie verwijderen had, verwijder elke andere fase. Anders, verwijder alle fasen.

Gerelateerde opties voor de opdrachtregel: --uninstall

filter-out-phases
globaal
module
module-set

Die fasen verwijderen die in de lijst staan (spatie gescheiden) in deze optie. De andere fasen die aanwezig waren zullen nog steeds verwerkt worden.


Tabel 4.4. Opties voor selectie van modulen

Naam van optieBereikBeschrijving
ignore-modules
globaal
module-set
TypeTekenreeks
Beschikbare sinds1.16

Merk op dat wanneer in de globale sectie gespecificeerd, de opdrachtregeloptie --ignore-modules dit niet overschrijft, maar in plaats daarvan achtervoegt.

De in deze optie genoemde modules, welke door kdesrc-build worden geselecteerd wegens de optie use-modules, worden echter compleet overgeslagen. Gebruik deze optie als u een complete kde-projects project wilt bouwen behalve enkel specifieke modules.

De instellingswaarde hoeft niet noodzakelijkerwijs direct de modulenaam te hebben. Alle modules waarvan het KDE projects module pad overeenkomt met een onderdeel van de optiewaarden zal overgesloten worden, zodat u op die manier meerdere modules kan overslaan.

Bijvoorbeeld, een instellingswaarde met libs zal als resultaat hebben dat zowelkde/kdegraphics/libs en playground/libs worden overgeslagen worden (maar niet kde/kdelibs omdat het complete kdelibs wordt vergeleken).

Gerelateerde opties voor de opdrachtregel: --ignore-modules (of -!) module [module ...]

use-modules
module-set
TypeTekenreeks
Beschikbare sinds1.12.1

Met deze optie kunt u makkelijk meerdere te bouwen modules op een punt in het configuratiebestand specificeren.

Elke via deze optie opgegeven identifier, is intern geconverteerd naar een kdesrc-build module, wordt met de repository optie van de module-set's repository gecombineerd met de identifier-naam om de uiteindelijke repository te krijgen waarvan gedownload wordt. Alle andere opties opgegeven in de module-set worden ongewijzigd naar de gegenereerde modules doorgegeven.

De volgorde waarin modulen worden gedefinieerd in deze optie is belangrijk, omdat dat ook de volgorde is waarin kdesrc-build de gegenereerde modulen zal verwerken bij bijwerken, bouwen en installeren. Alle modulen gedefinieerd in de gegeven module-set zal behandeld worden voordat kdesrc-build de volgende module verplaatst na de module-set.

Als u de opties voor een gegenereerde module moet wijzigen, declareer dan de module gewoon opnieuw nadat het is gedefinieerd in de module-set, en stel uw opties in zoals gewenst. Al hoe wel u op deze manier de opties voor de module wijzigt, zal de module gewoon in de module-set in de ingestelde volgorde worden geupdate en gebouwd (d.w.z. u kunt de bouwvolgorde niet op deze manier wijzigen).

Belangrijk

De te gebruiken naam voor de module als u dit deze methode gebruikt is eenvoudig de naam die u bij use-modules heeft opgegeven, met die verstande dat elke .git wordt verwijderd.

Zie de paragraaf met de naam “Module Sets” en git-repository-base voor een beschrijving van het gebruik daarvan en een voorbeeld.