Los SCons Guía del usuario de información sobre la utilización de Multiple Construction Environments para construir crear varias versiones de un mismo programa y da el siguiente ejemplo:SCons: Cómo usar los mismos constructores de múltiples variantes (liberación/depuración) de un programa
opt = Environment(CCFLAGS = '-O2')
dbg = Environment(CCFLAGS = '-g')
o = opt.Object('foo-opt', 'foo.c')
opt.Program(o)
d = dbg.Object('foo-dbg', 'foo.c')
dbg.Program(d)
en lugar de asignar manualmente diferentes nombres a los objetos compilados con diferentes ambientes, VariantDir()
/variant_dir
suena como una solución mejor ...
Pero si coloco el constructor Program()
dentro del SConscript:
Import('env')
env.Program('foo.c')
¿Cómo puedo exportar diferentes entornos al mismo archivo SCONScript?
opt = Environment(CCFLAGS = '-O2')
dbg = Environment(CCFLAGS = '-g')
SConscript('SConscript', 'opt', variant_dir='release') #'opt' --> 'env'???
SConscript('SConscript', 'dbg', variant_dir='debug') #'dbg' --> 'env'???
Por desgracia, la discusión en el SCons Wiki no trae una visión más clara a este tema.
Gracias por su ayuda!
Gracias BennyG: Esto se ve muy interesante y pitónico :-). Empecé a probar tu sugerencia, pero hasta ahora estoy sorprendido con otros cambios en mis scripts de construcción ... ¡Volveré con más comentarios más tarde! –
Todavía estoy luchando con algunos de los aspectos que variant_dir trae a mi SConscript, pero su solución es perfecta para mi pregunta. ¡Gracias de nuevo! –