Ho un progetto che costruisco utilizzando SCons (e MinGW/gcc in base alla piattaforma). Questo progetto dipende da diverse altre librerie (chiamiamole libfoo
e libbar
) che possono essere installate in luoghi diversi per utenti diversi.File di configurazione SCons e valori predefiniti
Attualmente, il mio file SConstruct
incorpora il percorso codificato in quelle librerie (ad esempio, tipo: C:\libfoo
).
Ora, vorrei aggiungere un'opzione di configurazione per il mio file SConstruct
in modo che un utente che ha installato libfoo
in un altro luogo (ad esempio C:\custom_path\libfoo
) può fare qualcosa di simile:
> scons --configure --libfoo-prefix=C:\custom_path\libfoo
Oppure:
> scons --configure
scons: Reading SConscript files ...
scons: done reading SConscript files.
### Environment configuration ###
Please enter location of 'libfoo' ("C:\libfoo"): C:\custom_path\libfoo
Please enter location of 'libbar' ("C:\libfoo"): C:\custom_path\libbar
### Configuration over ###
Una volta scelte, quelle opzioni di configurazione devono essere scritte su un file e essere rilette automaticamente ogni volta che viene eseguito scons
.
scons
fornisce un tale meccanismo? Come potrei ottenere questo comportamento? Non sono esattamente padrone di Python quindi anche le soluzioni più ovvie (ma complete) sono benvenute.
Grazie.
Grazie, sembra che faccia il trucco;) C'è un altro modo per ottenere il valore di una variabile? Qualcosa come 'print var.getVariable ('LIBFOO')'? – ereOn
@ereOn Ho setacciato la documentazione, ma ci * non * sembra essere un modo per farlo. Abbastanza asimmetrico. Devi spingere le variabili in un ambiente e leggerlo. Aggiornerò il post se mai lo scoprirò. – richq