Tengo un proyecto que construyo usando SCons (y MinGW/gcc dependiendo de la plataforma). Este proyecto depende de varias otras bibliotecas (llamémoslas libfoo
y libbar
) que pueden instalarse en lugares diferentes para diferentes usuarios.Archivo de configuración SCons y valores predeterminados
Actualmente, mi archivo SConstruct
incorpora una ruta codificada a esas bibliotecas (por ejemplo, algo así como: C:\libfoo
).
Ahora, me gustaría añadir una opción de configuración a mi archivo SConstruct
de modo que un usuario que instaló libfoo
en otro lugar (por ejemplo C:\custom_path\libfoo
) puede hacer algo como:
> scons --configure --libfoo-prefix=C:\custom_path\libfoo
O:
> 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 vez elegido, esas opciones de configuración se deben escribir en algún archivo y volver a leer automáticamente cada vez que se ejecute scons
.
¿Tiene scons
este mecanismo? ¿Cómo alcanzaría este comportamiento? No domino Python exactamente, así que incluso las soluciones obvias (pero completas) son bienvenidas.
Gracias.
Gracias, eso parece ser el truco;) ¿Hay alguna otra forma de obtener el valor de una variable? Algo así como 'print var.getVariable ('LIBFOO')' – ereOn
@ereOn He revisado la documentación, pero parece que * no * hay alguna forma de hacer esto. Bastante asimétrico Tienes que empujar las variables en un entorno y leerlo. Actualizaré la publicación si alguna vez la descubro. – richq