SConsAan de slag met SCons


Opmerkingen

SCons is een buildsysteem. Er zijn veel invoerbestanden nodig en er worden hulpprogramma's op uitgevoerd om uitvoer te produceren. SCons is geschreven in pure Python, werkt op dezelfde manier op Linux, Windows en OS X en kan zonder installatie worden uitgevoerd.

SCons ' SConstruct bestanden zijn Python-scripts met ingebouwde opdrachten die een build tree . SCons voert het bouwproces in fasen uit. Allereerst is het lezen van bestanden en het bouwen van een build-boom. Ten tweede doorkruist de boom om doelbestanden te bouwen.

versies

Versie Publicatiedatum
2.5.1 2017/11/03

Ermee beginnen

Nadat u SCons hebt uitgevoerd , maakt u een bestand met de naam SConstruct :

print('..Building World')
 

Voer nu scons :

$ scons
scons: Reading SConscript files ...
..Building World
scons: done reading SConscript files.
scons: Building targets ...
scons: `.' is up to date.
scons: done building targets.
 

SConstruct is een Python-script met extra SCons-functies.

Zip('archive', ['SConstruct'])
 

Het bovenstaande script verpakt zichzelf in archive.zip met behulp van de Zip() -functie van SCons. Zip is een Builder - het bouwt doel gespecificeerd door eerste argument uit meerdere bronnen , die volgens afspraak als tweede argument voor Builders komen.

SCons Builders beginnen met een hoofdletter en werken op het Environment- object, waarin de buildconfiguratie wordt opgeslagen. SCons biedt standaard milieu, maar het kan expliciet worden gecreëerd om afzonderlijke build variabelen, de keuze uit verschillende instrumenten, enz.

env = Environment()
env.Zip('archive', ['SConstruct'])
 

Merk op dat wanneer u het script voor de tweede keer uitvoert, er niets wordt gebouwd. SCons herbouwt doelen alleen wanneer bronbestanden veranderen. Wijzig SConstruct en voer scons opnieuw uit om het verschil te zien.

SCons is ontworpen om uitbreidbaar te zijn. U voegt uw eigen Builder-methoden toe door ze aan de omgeving te koppelen, wat in latere onderwerpen kan worden behandeld.