2017-07-09 5 views
0

Ich habe mehrere Verzeichnisse von Quellcode bekommt, einige für mac einig für Linux, etc. Wie kann ich in meinem SConstruct angeben, dass unter Linux, führen Sie bitte:Wie scons verschiedene OS und ADN verschiedene SConscript entsprechend erstellen?

SConscript(dirs=['linux'],  variant_dir='linux/build',  duplicate=0); 

Und unter anderem Betriebssystem, anderen SConscript-Befehl ausführen?

Gibt es eine bequeme Möglichkeit, dies zu spezifizieren?

+0

Wahrscheinlich möchten Sie die 'PLATFORM'-Variable in der SCons-Umgebung überprüfen und diese verwenden, um Ihren Build zu konditionieren. Das fehlt jedoch sehr. Es ist schwer, zwischen Linux und FreeBSD zu unterscheiden. Daher verlassen sich die meisten Leute auf Pythons 'sys.platform' oder' os.uname() ', um mehr Informationen über das System zu erhalten, unter dem Sie laufen, um den Build anzupassen. – jszakmeister

Antwort

1

@ jszakmeiters Kommentar es gut.

Eine andere Möglichkeit, den Verzeichnisnamen des Codes mit dem Wert für sys.platform und verwenden Sie dann passen könnte sein:

SConscript(dirs=[sys.platform],  variant_dir='%s/build'%sys.platform,  duplicate=0); 

Als Randbemerkung, ich die Variante dirs als Geschwister, die in der Regel raten und nicht Kinder der Quellverzeichnisse.

SConscript(dirs=[sys.platform],  variant_dir='build/%s'%sys.platform,  duplicate=0); 
Verwandte Themen