Tabell av tillgängliga inställningsalternativ

Här är en tabell med diverse alternativ, som innehåller följande information:

  • Alternativets namn

  • En beskrivning av hur kdesrc-build beter sig om alternativet både är angivet i den allmänna sektionen och modulsektionen i inställningsfilen när modulen byggs.

  • Särskilda kommentarer om alternativets syfte och användning.

Tabell 4.1. Alternativtabell

AlternativnamnModul -> Allmänt beteendeAnmärkningar
asyncKan inte överskridas

Alternativet aktiverar asynkront användningssätt, där uppdatering av källkoden och byggprocessen utförs i parallell, istället för att vänta på alla uppdateringar av källkoden innan byggprocessen startas. Alternativets förvalda värde är att aktivera asynkront användningssätt. För att inaktivera, ställ in alternativet till false.

Alternativet är tillgängligt från och med utgåva 1.6.

binpathModulinställning överskrider allmän

Ange alternativet för att sätta miljövariabeln PATH under byggprocessen. Du kan inte överskrida alternativet i ett modulalternativ. Förvalt värde är $PATH som är inställd när skriptet startar. Miljövariabeln ska innehålla sökvägar till utvecklingsverktygen åtskilda med kolon. Sökvägarna $KDEDIR/bin och $QTDIR/bin läggs automatiskt till. Du kan använda tilde (~) för eventuella sökvägar du lägger till med det här alternativet.

branchModulinställning överskrider allmän

Ställ in alternativet för att checka ut från en gren av KDE istället för standardvärdet master där utveckling av KDE sker.

För att till exempel checka ut grenen KDE 4.6, skulle du ställa in alternativet till 4.6.

Om kdesrc-build misslyckas med att ladda ner en gren med väljaren, kan du behöva ange webbadressen att ladda ner från för hand med alternativet module-base-path eller override-url.

Notera

För de flesta KDE-moduler vill man troligtvis använda alternativet branch-group istället och använda det här alternativet för undantag från fall till fall.

branch-groupModulinställning överskrider allmän

Ställ in alternativet till en allmän grupp som du vill att moduler ska väljas från.

För modultyper i Git som stöds, bestämmer kdesrc-build den verkliga grenen att använda baserat på regler kodade av KDE-utvecklarna (reglerna kan ses i källkodsarkivet kde-build-metadata i din källkodskatalog). Efter att en gren har bestämts används den som om du hade angivit den själv med alternativet branch.

Det är användbart om du bara försöker upprätthålla senaste version för ett antal normala utvecklingsspår utan att behöva ta hänsyn till alla ändringar av namn på grenar.

Observera att om du själv använder branch överskrider det den här inställningen. Samma sak gäller andra specifika alternativ för att välja gren såsom tag.

Väljaren lades till i kdesrc-build 1.16-pre2.

Notera

Väljaren gäller bara Git moduler i kde-projects (det vanliga fallet). Se också KDE:s officiella moduldatabas”.

build-dirModulinställning överskrider allmänAnvänd det här alternativet för att byta katalog som innehåller källkoden att bygga. Det finns tre olika sätt att använda det:
  1. Relativt till KDE:s Git-källkodskatalog (se alternativet source-dir). Det är förvalt, och väljes om du skriver in ett katalognamn som inte börjar med tilde (~) eller snedstreck (/).

    Förvalt värde är build

  2. Absolut sökväg. Om du anger en sökväg som börjar med /, används sökvägen direkt. Till exempel /tmp/kde-obj-dir/

  3. Relativt till din hemkatalog. Om du anger en sökväg som börjar med ~, används sökvägen relativt till din hemkatalog, på motsvarande sätt som skalets expansion av tilde. Till exempel skulle ~/builddir ställa in byggkatalogen till /home/användarnamn/builddir

Alternativet kan, kanske något oväntat, ändras per modul.
build-when-unchangedModulinställning överskrider allmän

Använd alternativet för att bestämma om kdesrc-build alltid försöker bygga en modul som inte har några uppdateringar av källkoden.

Genom att ställa in build-when-unchanged till true, försöker alltid kdesrc-build utföra byggfasen för en modul, även om modulen inte har några uppdateringar av källkoden. Det är standardinställningen, eftersom det är troligare att den leder till en korrekt byggprocess.

Genom att ställa in build-when-unchanged till false, försöker kdesrc-build bara utföra byggfasen för en modul, om modulen har en uppdateringar av källkoden, eller i andra situationer när det är troligt att det krävs. Det kan spara tid, särskilt om kdesrc-build körs dagligen, eller ännu oftare.

Viktigt

Funktionen tillhandahålls enbart som en optimering. Liksom många andra optimeringar, finns det överväganden gällande installationens riktighet. Exempelvis kan ändringar av modulen qt eller kdelibs leda till att andra moduler måste byggas om, även om källkoden inte ändras alls.

cmake-generatorModulinställning överskrider allmän

Använd alternativet för att ange vilken generator som ska användas med CMake. För närvarande stöds både Ninja och Unix Makefiles samt extra generatorer baserade på dem såsom Eclipse CDT4 - Ninja. Ogiltiga värden (som inte stöds) ignoreras, och behandlas som inte angivet. Om inte angivet används Unix Makefiles som förval.

Observera att om en giltig generator också anges via cmake-options överskrider den värdet på cmake-generator.

cmake-toolchainModulinställning överskrider allmän

Använd alternativet för att ange en verktygskedjefil att använda med CMake.

När en giltig verktygskedjefil är inställd, kommer kdesrc-build inte ställa in miljövariabler automatiskt. Du kan använda set-env, binpath och libpath för att manuellt rätta miljön om verktygskedjefilen inte fungerar som den är med kdesrc-build. Se översikten över standardflaggor som läggs till av kdesrc-build för mer information.

Observera att om en giltig verktygskedja också anges via cmake-options överskrider den värdet på cmake-toolchain.

cmake-optionsLägger till globala alternativ för det normala byggsystemet, överskrider global för andra byggsystem.

Använd det här alternativet för att ange vilka flaggor som ska skickas till CMake när byggsystemet för modulen skapas. När det används som ett allmänt alternativ, används det för alla moduler som skriptet bygger. När det används som ett modulalternativ, läggs det till i slutet av de allmänna alternativen. Det låter dig ange gemensamma CMake-alternativ i den allmänna delen.

Alternativet gäller inte för qt (som inte använder CMake). Använd configure-flags istället.

Om en giltig generator anges bland de listade alternativen överskrider den värdet på cmake-generator. Ogiltiga generatorer (som inte stöds) ignoreras och skickas inte till CMake.

Om en giltig verktygskedja anges bland de listade alternativen överskrider den värdet på cmake-toolchain. Ogiltiga verktygskedjor ignoreras och skickas inte till CMake.

Eftersom alternativen skickas direkt till kommandoraden för CMake, ska de anges som de skulle skrivits till CMake. Till exempel:

cmake-options -DCMAKE_BUILD_TYPE=RelWithDebInfo

Eftersom det är krångligt, anstränger sig kdesrc-build för att så länge övriga alternativ är rätt inställda, ska du kunna lämna det här alternativet tomt. (Med andra ord, nödvändiga parametrar för CMake ställs in automatiskt åt dig.)

colorful-outputKan inte överskridasStäll in alternativet till false för att inaktivera den färgglada utmatningen från kdesrc-build. Alternativet har standardvärdet true. Observera att kdesrc-build inte matar ut färgkoder till något annat än en terminal (såsom xterm, Konsole eller den vanliga konsollen i Linux®).
compile-commands-exportModulinställning överskrider allmän

Aktiverar generering av compile_commands.json via CMake i byggkatalogen. Alternativet har förvalt värde true, ställ in det till false för att inaktivera beteendet.

compile-commands-linkingModulinställning överskrider allmän

Aktiverar att skapa symboliska länkar från compile_commands.json genererad via CMake i byggkatalogen till motsvarande källkodskatalog. Alternativet har förvalt värde false, ställ in det till true för att aktivera att den symboliska länken automatiskt skapas.

configure-flagsLägger till globala alternativ för det normala byggsystemet, överskrider global för andra byggsystem.

Använd det här alternativet för att ange vilka flaggor som ska skickas till ./configure när byggsystemet för modulen skapas. När det används som ett allmänt alternativ, används det för alla moduler som skriptet bygger. Alternativet fungerar bara för qt.

För att ändra konfigurationsinställningar för KDE-moduler, se cmake-options.

custom-build-commandModulinställning överskrider global (alternativ i byggsystemet)

Alternativet kan anges för att köra ett annorlunda kommando (exempelvis annat än make) för att utföra byggprocessen. kdesrc-build bör i allmänhet göra rätt, så alternativet ska inte behövas anges. Det kan dock vara användbart för att använda alternativa byggsystem.

Alternativets värde används som kommandoraden att köra, ändrad av make-options som vanligt.

cxxflagsLägger till globala alternativ för det normala byggsystemet, överskrider global för andra byggsystem.

Använd det här alternativet för att ange vilka flaggor som ska användas för att bygga modulen. Alternativet anges här istället för med configure-flags eller cmake-options eftersom alternativet också sätter miljövariabeln CXXFLAGS under byggprocessen.

Observera att för KDE 4 och alla andra moduler som använder CMake, är det nödvändigt att ställa in alternativet CMAKE_BUILD_TYPE option till none när modulen konfigureras. Det kan göras med alternativet cmake-options.

dest-dirModulinställning överskrider allmänAnvänd alternativet för att ändra namnet en modul får på disk. Om modulen till exempel är extragear/network, skulle du kunna ändra det till extragear-network med det här alternativet. Observera att även om detta ändrar modulens namn på disk, är det inte en god idé att låta kataloger eller katalogåtskiljare ingå i namnet, eftersom det kommer i konflikt med eventuella build-dir eller source-dir alternativ.
disable-agent-checkKan inte överskridasOm du använder SSH för att ladda ner källkod från Git (om du använder protokollet git+ssh), försöker kdesrc-build normalt att försäkra sig om att när du använder ssh-agent, så hanterar det verkligen några SSH-identiteter. Det görs för att försöka förhindra att SSH frågar efter din lösenordsfras för varje modul. Du kan inaktivera kontrollen genom att sätta disable-agent-check till true.
do-not-compileModulinställning överskrider allmän

Använd alternativet för att välja en specifik uppsättning kataloger att inte bygga i en modul (istället för alla). Katalogerna att inte bygga ska skiljas åt med mellanslag.

Observera att källkoden till programmen fortfarande laddas ner.

För att exempelvis inaktivera bygge av katalogerna codeeditor och minimaltest i ramverket syntaxhighlighting, skulle du lägga till do-not-compile codeeditor minimaltest, och lägga till "do-not-compile juk kscd" i alternativen för syntaxfärgläggning.

Se ”Ta bort kataloger från en byggplats” för ett exempel.

git-desired-protocolKan inte överskridas

Väljaren gäller bara moduler från ett arkiv som ingår i KDE-projektet.

Vad väljaren i själva verket gör är att ställa in vilket nätverksprotokoll som ska föredras när källkod för dessa moduler laddas upp. Normalt används det mycket effektiva protokollet git, men det kan vara blockerat i vissa nätverk (t.ex. interna företagsnätverk, öppna wifi-nätverk). Ett alternativt protokoll som stöds mycket bättre är protokollet https som används för webbplatser på Internet.

Om du använder ett av dessa begränsade nätverk kan du ändra väljaren till http för att föredra kommunikation med https istället.

Tips

Du kan också behöva väljaren http-proxy, om en HTTP-proxy också behövs för nätverkstrafik.

I alla andra situationer ska väljaren inte användas, eftersom standardprotokollet är det effektivaste.

Väljaren lades till i kdesrc-build 1.16. Innan 20.06 användes väljaren för att ställa in hämtningswebbadressen istället för uppladdningswebbadressen. Från 20.06 används alltid https när KDE-projekt uppdateras.

git-repository-baseKan inte överskridas

Det här alternativet, tillagt i version 1.12.1, används för att skapa ett kort namn för att hänvisa till en specifik baswebbadress för ett Git-arkiv i senare deklarationer av moduluppsättningar, vilket är användbart för att snabbt deklarera många Git-moduler att bygga.

Två saker måste anges (åtskilda med ett mellanslag): Namnet som baswebbadressen ska tilldelas till, och själva baswebbadressen. Till exempel:

global
   # Andra alternativ

   # Det här är den gemensamma sökvägen till alla anonyma Git-servermoduler.
   git-repository-base kde-gitkde:
end global

# Moduldeklarationer

module-set
   # Nu kan det alias som definierades tidigare användas, men 
   # barai en moduluppsättning.
   repository kde-git

   use-modules module1.git module2.git
end module-set

Moduluppsättningarnas alternativ use-modules skapar två moduler internt, och kdesrc-build beter sig som om det hade läst in:

module module1
    repository kde:module1.git
end module

module module2
    repository kde:module2.git
end module

Prefixet kde: för Git-arkiv som används ovan är en genväg som automatiskt ställs in av kdesrc-build. Se teknikbasens artikel URL Renaming för mer information. Observera att i motsats till de flesta andra alternativ kan detta anges flera gånger för att skapa så många alias som behövs.

Tips

Det är inte nödvändigt att använda alternativet för att dra fördel av moduluppsättningar. Alternativet finns för att göra det enkelt att använda samma arkiv för många olika moduluppsättningar.

git-userModulinställning överskrider allmän

Alternativet är avsett för KDE-utvecklare. Om det anges, används det för att automatiskt ställa in identitetsinformation för källkodshanteringssystemet Git för nyligen nerladdade Git-moduler (inklusive det stora flertalet KDE-moduler).

Specifikt fylls användarens namn och e-postfält i till de värden som anges med alternativet för varje nytt Git-arkiv.

Värdet måste anges på formen Användarnamn <e-post@exempel.se>.

Exempelvis skulle en utvecklare vid namn Anna Johansson med e-postadressen anna@exempel.se använda:

git-user Anna Johansson <anna@exempel.se>

Alternativet introducerades i kdesrc-build 15.09.

http-proxyModulinställning överskrider allmän

Alternativet, om det anges, använder den givna webbadressen som proxyserver för all nätverkskommunikation via HTTP (till exempel när sparade versioner laddas ner för nya moduler, eller KDE:s projektdatabas).

Dessutom försöker kdesrc-build försäkra sig om att verktygen det beror på också använder proxyservern, om möjligt, genom att ställa in miljövariabeln http_proxy till den angivna servern, om denna miljövariabel inte redan finns.

Alternativet lades till i kdesrc-build 1.16.

directory-layoutModulinställning överskrider allmän

Alternativet används för att ställa in den layout som kdesrc-build ska använda när källkods- och byggkataloger skapas.

För närvarande finns tre möjliga värden: flat, invent och metadata

Layouten flat är förvalt värde grupperar alla moduler direkt under källkods- och byggkatalogerna på toppnivå. Exempelvis skulle source/extragear/network/telepathy/ktp-text-ui med layoutenmetadata vara source/ktp-text-ui vid användning av layouten flat istället.

Layouten invent skapar en kataloghierarki som speglar de relativa sökvägarna för arkiv på invent.kde.org. Exempelvis skulle source/kde/applications/kate med layouten metadata vara source/utilities/kate vid användning av layouten invent istället. Layouten påverkar bara KDE-projekt. Det är ett bra val för folk som börjar använda kdesrc-build.

Slutligen är layouten metadata samma som det tidigare förvalda beteendet. Layouten organiserar KDE-projekt enligt projektsökvägarna specificerade i projektets metadata för modulerna. Det är ett bra val om du vill ha en kataloglayout som följer vissa KDE-processer, men observera att sökvägen därför inte alltid är stabil. Resultatet kan bli att kdesrc-build överger en gammal kopia av arkivet och skapar en dubblett för ett projekt på grund av ändringar av projektets metadata.

ignore-modulesKan inte överskridas

Moduler som namnges av alternativet, som skulle ha valts av kdesrc-build på grund av alternativet use-modules, hoppas istället över helt. Använd alternativet när du vill bygga en hel gruppering av kde-project projekt utom några specifika moduler.

Alternativets värde behöver inte nödvändigtvis namnge modulen direkt. Vilken modul som helst där fullständiga delar i följd av dess KDE projektmodul-sökväg matchar ett av alternativets värden ignoreras, så det går alltså att ignorera flera moduler på detta sätt.

Exempelvis skulle alternativvärdet libs göra att både kde/kdegraphics/libs och playground/libs skulle exkluderas (dock inte kde/kdelibs eftersom den fullständiga delen kdelibs är det som jämförs med).

Alternativet lades till i kdesrc-build 1.16.

include-dependenciesModulinställning överskrider allmän

När alternativet är true, begär det att kdesrc-build också ska inkludera den här modulens kända beroenden i bygget, utan att kräva att du nämner dessa beroenden (inte ens indirekt).

Notera

Alternativet fungerar bara för moduler baserade på kde-project, och kräver att metadata som underhålls av KDE-utvecklare är korrekt för vald branch-group.

Alternativet är normalt aktiverat för att stödja att bygga program som behöver versioner av Qt™ eller Plasma™ som är senare en de som stöds av vanliga operativsystem.

install-after-buildModulinställning överskrider allmänAlternativet används för att installera paketet efter det har byggts med lyckat resultat. Alternativet är normalt aktiverat. Om du vill inaktivera det, måste du ställa in alternativet till false i inställningsfilen. Du kan också använda kommandoradsväljaren --no-install.
install-environment-driverKan inte överskridas

Normalt försöker kdesrc-build installera ett skalskript som kan anropas i användarens profilinställningsskript för att enkelt upprätta nödvändiga miljövariabler för att köra Plasma-skrivbordet som byggts av kdesrc-build.

Drivrutinen ändra följande filer:

  • $XDG_CONFIG_HOME/kde-env-master.sh (som normalt finns som ~/.config/kde-env-master.sh).

  • $XDG_CONFIG_HOME/kde-env-user.sh (som normalt finns som ~/.config/kde-env-user.sh).

Skriptet kde-env-user.sh är valfritt. Det är avsett för användaranpassning (se avsnittet Troubleshooting and DebuggingKDE:s användarbas för exempel på anpassningsbara inställningar), men inställningarna kan göras på andra ställen av användaren i befintliga profilinställningsskript.

Funktionen kan inaktiveras genom att ställa in alternativet till false, och försäkra att också alternativet install-session-driver är inaktiverat.

Alternativet lades till i kdesrc-build 17.08.

Tips

kdesrc-build skriver inte över befintliga filer om du inte också anger kommandoradsväljaren --delete-my-settings.

install-session-driverKan inte överskridas

Om aktiverat, försöker kdesrc-build installera en drivrutin för den grafiska inloggningshanteraren som låter dig logga in på KDE-skrivbordet som byggts med kdesrc-build.

Drivrutinen ändra följande filer:

  • ~/.xsession

  • $XDG_CONFIG_HOME/kde-env-master.sh (som normalt finns som ~/.config/kde-env-master.sh).

  • $XDG_CONFIG_HOME/kde-env-user.sh (som normalt finns som ~/.config/kde-env-user.sh).

Om du hanterar en egen inloggningshanterare kan du inaktivera funktionen genom att ställa in alternativet till false. Om aktiverad, aktiverar funktionen också funktionen install-environment-driver.

Alternativet lades till i kdesrc-build 1.16.

Tips

kdesrc-build skriver inte över befintliga filer om du inte också anger kommandoradsväljaren --delete-my-settings.

kdedirModulinställning överskrider allmänDet här alternativet anger katalogen som KDE installeras i efter det har byggts. Förvalt värde är ~/kde. Om du ändrar det till en katalog som kräver åtkomst som systemadministratör, bör du också läsa om alternativet make-install-prefix.
libnameModulinställning överskrider allmänStäll in det här alternativet för att ändra standardnamnet på det installerade bibliotekskatalogen inuti $KDEDIR och $QTDIR. På många system är detta antingen "lib" eller "lib64". Automatisk identifiering försöker göras för att ställa in rätt namn som förval, men om gissningen är fel så kan det ändras med inställningen.
libpathModulinställning överskrider allmänAnge alternativet för att sätta miljövariabeln LD_LIBRARY_PATH under byggprocessen. Du kan inte överskrida inställningen med ett modulalternativ. Förvalt värde är tomt, men sökvägarna $KDEDIR/$LIBNAME och $QTDIR/$LIBNAME läggs automatiskt till. Du kan använda tilde (~) i alla sökvägar du lägger till med alternativet.
log-dirModulinställning överskrider allmänAnvänd det här alternativet för att ändra katalogen som används för att lagra loggfiler som skapas av skriptet.
make-install-prefixModulinställning överskrider allmänSätt den här variabeln till en lista åtskilda med mellanslag, som tolkas som ett kommando och dess väljare för att föregå kommandot make install som används för att installera moduler. Det är användbart för att till exempel installera paket med Sudo, men var försiktig när du hanterar systemadministratörsrättigheter.
make-optionsModulinställning överskrider global (alternativ i byggsystemet)

Ange den här variabeln för att skicka kommandoradsväljare till kommandot make. Det är användbart för program som distcc eller system med mer än en processorkärna.

Observera att inte alla byggsystem som stöds använder make. För byggsystem som använder ninja för att bygga (såsom byggsystemet Meson, se inställningen ninja-options.

manual-buildModulinställning överskrider allmänSätt alternativvärdet till true för att förhindra att byggprocessen försöker bygga modulen. Den hålls fortfarande uppdaterad vid uppdatering från Git. Alternativet motsvarar exakt kommandoradsväljaren --no-build.
manual-updateModulinställning överskrider allmänSätt alternativvärdet till true för att förhindra att byggprocessen försöker uppdatera (och som en följd, bygga eller installera) modulen. Om du anger alternativet för en modul, är det i stort sett samma som att kommentera bort den.
module-base-pathModulinställning överskrider allmän

Sätt det här alternativet för att överskrida kdesrc-builds förvalda katalogväg till modulen i fråga. Det kan till exempel användas för att hämta specifika grenar eller taggade versioner av bibliotek. KDE:s källkodsvisning är ovärderlig som hjälp för att välja rätt sökväg.

Observera att kdesrc-build konstruerar den slutliga sökvägen enligt följande mall: $repository/home/kde/$module-base-path.

Förvalt värde är antingen $module eller KDE/$module, beroende på modulnamnet.

Tips

Använd alternativen branch eller tag istället så snart de är tillämpliga.

nicenessKan inte överskridasStäll in alternativet till ett tal mellan 20 och 0. Ju högre nummer, desto lägre prioritet ställer kdesrc-build in åt sig själv, dvs. ju högre numret är desto "snällare" är programmet. Förvalt värde är 10.
ninja-optionsModulinställning överskrider global (alternativ i byggsystemet)

Ställ in variabeln för att skicka kommandoradsväljare till byggkommandot ninja. Det kan vara användbart för att aktivera detaljerad utmatning eller för att manuellt reducera antal byggjobb som ninja skulle använda.

Notera

Observera att inställningen bara styr ninja när det används med kdesrc-build. Qt™-modulen webengine använder ninja indirekt, men stöder bara officiellt att byggas med make. I detta fall kan NINJAFLAGS ställas in som ett sätt att låta make skicka lämpliga flaggor när det senare anropar ninja, genom att använda make-options.

options qtwebengine
    # Begränsa make och ninja att inte använda fler än 6 separata kompileringsjobb
    # även om fler processorer är tillgängliga, för att undvika att få slut på minne
    make-options -j6 NINJAFLAGS=-j6
end options
no-srcModulinställning överskrider allmänOm alternativet är sant, uppdaterar inte kdesrc-build modulens källkod automatiskt. Det försöker i alla fall bygga modulen om det normalt ändå hade försökt göra det.
num-coresKan inte överskridas

Alternativet definieras av kdesrc-build (när verktyget kdesrc-build-setup används eller kdesrc-build --initial-setup) till antal tillgängliga processorer (som indikeras av det externa programmet nproc). Om kdesrc-build inte kan detektera antal processorer, ställs värdet in till 4.

Se Exempel 2.1, ”Anpassa Make för att använda alla tillgängliga processorer, med undantag” för ett exempel på användning av alternativet. Alternativet lades till i version 20.07.

num-cores-low-memKan inte överskridas

Alternativet definieras av kdesrc-build (när verktyget kdesrc-build-setup används eller kdesrc-build --initial-setup) till antal processorer som anses vara säkert för tunga eller andra högintensiva moduler, såsom qtwebengine, för att undvika att minnet tar slut under bygget.

Den typiska beräkningen är en processorkärna per 2 Gibibyte (GiB) totalt minne. Åtminstone en kärna anges, och inte fler än num-cores.

Även om alternativet är avsett att stödja Qt™-moduler, kan det användas för vilken modul som helst på samma sätt som num-cores används.

Om kdesrc-build inte kan detektera tillgängligt minne ställs värdet in till 2.

Alternativet lades till i version 20.07.

override-build-systemModulinställning överskrider allmän

Det här är en avancerad väljare, tillagd i kdesrc-build 1.16.

Normalt detekterar kdesrc-build lämpligt byggsystem att använda för en modul när den har laddats ner. Det görs genom att kontrollera att specifika filer finns i modulens källkodskatalog.

Vissa moduler kan innehålla mer än en uppsättning filer som krävs, vilket skulle kunna förvirra den automatiska detekteringen. I detta fall kan du ange rätt byggtyp manuellt.

De byggtyper som för närvarande stöds och kan anges är:

KDE

Används för att bygga KDE-moduler. I själva verket kan den användas för att bygga nästan vilken modul som helst som använder CMake, men det är bäst att inte förlita sig på det.

Qt

Används för att bygga själva Qt™-biblioteket.

qmake

Används för att bygga Qt™-moduler som använder .pro-filer i enlighet med qmake.

generic

Används för att bygga moduler som använder enkla Makefiles och inte kräver någon särskild konfigurering.

autotools

Det här är det standardiserade konfigureringsverktyget som används för de flesta programvaror med fri och öppen källkod som inte ingår i någon av de övriga kategorierna.

meson

Detta är ett relativt nytt verktyg som ökar i popularitet som en ersättning till autotools, och kan krävas för vissa moduler som inte ingår i KDE.

override-urlModulinställning överskrider allmänOm du anger det här alternativet, använder kdesrc-build dess värde som webbadress att skicka till Git helt oförändrad. Du bör i allmänhet använda det om du vill ladda ner en specifik utgåva, men kdesrc-build inte kan räkna ut vad du menar genom att använda branch.
persistent-data-fileKan inte överskridas

Använd väljaren för att ändra var kdesrc-build lagrar bestående data. Normalt lagras sådan data i en fil som heter .kdesrc-build-data i samma katalog som inställningsfilen som används. Om den allmänna inställningsfilen används, lagras den i ~/.local/state/kdesrc-build-data ($XDG_STATE_HOME/kdesrc-build-data, om $XDG_STATE_HOME är angivet). Om du har flera tillgängliga inställningar i samma katalog, kan det vara bra att ställa in alternativet så att de olika inställningarna inte råkar ut för konflikter i bestående data.

Väljaren lades till i kdesrc-build 1.15.

prefixModulinställning överskrider allmän

Alternativet bestämmer var en modul installeras (normalt används inställningen kdedir). Genom att använda alternativet kan du installera en modul i en annan katalog än där KDE:s plattformsbibliotek installeras, om du exempelvis bara använder kdesrc-build för att bygga program.

Du kan använda ${MODULE} eller $MODULE i sökvägen för att expandera dem till modulens namn.

purge-old-logsModulinställning överskrider allmän

Alternativet bestämmer om gamla loggkataloger automatiskt tas bort eller inte. Standardvärdet är true.

qmake-optionsModulinställning överskrider allmän

Alla väljare som anges här skickas till kommandot qmake, för moduler som använder byggsystemet qmake. Det går exempelvis att använda väljaren PREFIX=/sökväg/till/qt i qmake för att överskrida var modulen installeras.

Väljaren lades till i kdesrc-build 1.16.

qtdirModulinställning överskrider allmänAnge alternativet för att sätta miljövariabeln QTDIR under byggprocessen. Om alternativet inte anges, antar kdesrc-build att Qt™ tillhandahålls av operativsystemet.
remove-after-installModulinställning överskrider allmän

Om du har ont om hårddiskutrymme kan du vilja använda det här alternativet för att automatiskt ta bort byggkatalogen (eller både källkatalogen och byggkatalogen för engångsinstallationer) efter modulen har installerats med lyckat resultat.

Möjliga värden för alternativet är:

  • none - Ta inte bort någonting (det är normalvärdet).

  • builddir - Ta bort byggkatalogen men inte källkoden.

  • all - Ta både bort källkoden och byggkatalogen.

Observera att användning av alternativet kan ha en markant effekt både på användning av bandbredd (om du använder all) och tiden det tar att kompilera KDE:s programvara, eftersom kdesrc-build inte kommer att kunna utföra inkrementella byggprocesser.

repositoryModulinställning överskrider allmän

Alternativet introducerades i version 1.10, och används för att ange Git-arkivet för att ladda ner modulens källkod. Qt™ (och därför qt) behöver alternativet, samt diverse KDE-moduler som håller på att konverteras att använda Git.

revisionModulinställning överskrider allmän

Om alternativet ställs in till ett annat värde än 0 (noll), tvingar kdesrc-build uppdateringen att ge modulen exakt den version som anges, även om alternativ som branch gäller. Om modulen redan har angiven version, kommer den inte att uppdateras ytterligare om inte alternativet ändras eller tas bort från konfigurationen.

Notera

Väljaren fungerade inte för git-baserade moduler (inklusive moduler från kde-projects) innan kdesrc-build version 1.16.

run-testsModulinställning överskrider global (alternativ i byggsystemet)Om satt till true, byggs modulen med stöd för att köra sin testsvit, och testsviten körs som en del av byggprocessen. kdesrc-build visar en enkel rapport med testresultatet. Det är användbar för utvecklare eller de som vill försäkra sig om att systemet är riktigt inställt.
set-envModulinställning överskrider allmän

Det här alternativet accepterar en uppsättning värden åtskilda av mellanslag, där det första värdet är miljövariabeln att sätta, och följande värden är vad du vill sätta variabeln till. För att till exempel sätta variabeln RONALD till McDonald, skulle du skriva följande kommando under lämplig sektion:

set-env RONALD McDonald

Alternativet är särskilt på det sätt att det kan upprepas utan att överskrida tidigare inställningar av set-env i samma del av inställningsfilen. På så sätt kan du ställa in mer än en miljövariabel per modul (eller allmänt).

source-dirModulinställning överskrider allmänDet här alternativet används för att ange katalogen på datorn där KDE:s Git-källkod ska lagras. Om du inte anger värdet, är förvalt värde ~/kde/src. Tilde (~) kan utnyttjas för att representera hemkatalogen om alternativet används.
ssh-identity-fileKan inte överskridas

Sätt alternativet för att bestämma vilken privat SSH nyckelfil används av kommandot ssh-add när kdesrc-build laddar ner källkod från arkiv som kräver behörighetskontroll. Se också: ”Kontroll av SSH-agent”.

Alternativet lades till i version 1.14.2.

stop-on-failureModulinställning överskrider allmänStäll in det här alternativvärdet till false för att låta skriptet fortsätta köra efter ett fel uppstår i bygg- eller installationsprocessen. Normalvärdet är true.
tagModulinställning överskrider allmän

Använd väljaren för att ladda ner en specifik utgåva av en modul.

Observera: Chansen är mycket stor att du inte vill använda alternativet. Utgåvor av KDE är tillgängliga som komprimerade tar-arkiv från KDE:s nerladdningsplats.

Notera

Väljaren har bara varit stödd för git-baserade moduler sedan kdesrc-build 1.16.

use-clean-installModulinställning överskrider global (alternativ i byggsystemet)

Sätt det här alternativet till true för att få kdesrc-build att köra make uninstall direkt innan make install körs.

Det kan vara användbart för att försäkra sig om att inte några kvarblivna gamla biblioteksfiler, CMake metadata, etc. kan orsaka problem i långlivade installationer av KDE. Dock fungerar det bara med byggsystem som stöder make uninstall.

Väljaren lades till i kdesrc-build 1.12, men dokumenterades inte förrän i kdesrc-build 1.16.

use-idle-io-priorityKan inte överskridasDet här alternativet, tillagt i kdesrc-build 1.12, gör att en lägre prioritet används för disk och annan användning av in- och utmatning, vilket kan förbättra svarsbenägenheten hos resten av systemet signifikant, till kostnad av något längre körtider för kdesrc-build. Standardvärdet är att det är inaktiverat. För att aktivera lägre diskprioritet, ställ in det till true.
use-inactive-modulesKan inte överskridasNär det aktiveras låter det här alternativet kdesrc-build också klona och hämta från arkiv som är markerade som inaktiva. Förval är att det är inaktiverat, för att tillåta inaktiva moduler att ställa in det till true.
use-modulesKan bara användas i moduluppsättningar

Det här alternativet, tillagt i kdesrc-build 1.12.1, gör det möjligt att enkelt specificera många olika moduler som ska byggas på samma ställe i inställningsfilen.

Det här alternativet måste användas med en moduluppsättning. Varje identifierare som används i alternativet konverteras internt till en kdesrc-build-modul, med alternativet repository inställt till moduluppsättningens arkiv, kombinerat med identifierarens namn för att slutgiltigt kunna bestämma arkivet att ladda ner från. Alla andra alternativ som finns i moduluppsättningen kopieras också till de skapade modulerna utan ändring.

Ordningen som modulerna definieras i alternativet är viktigt eftersom det också är ordningen som kdesrc-build kommer att behandla de skapade modulerna vid uppdatering, byggning och installation. Alla moduler definierade i en given moduluppsättning kommer att hanteras innan kdesrc-build går vidare till nästa modul efter moduluppsättningen.

Om alternativ för en skapad modul måste ändras, deklarera helt enkelt modulen igen efter den har definierats i moduluppsättningen och ställ in alternativen efter behov. Även om alternativen som modulen använder kommer att ändras på detta sätt, uppdateras och byggs modulen ändå i ordningen som anges av moduluppsättningen (dvs. du kan inte ordna om byggföljden genom att göra det).

Viktigt

Namnet att använda för modulen om du gör det, är helt enkelt namnet du angav i use-modules, med undantag för att ett eventuellt .git tas bort.

Se ”Moduluppsättningar” och git-repository-base för en beskrivning av dess användning och ett exempel.