【发布时间】:2015-12-01 16:19:10
【问题描述】:
我正在尝试为我的构建环境使用 scons,目录结构类似于:
main_dir
main_dir/dir_A
main_dir/dir_B
main_dir/dir_C
main_dir/dirB/dir_b1
main_dir/dirB/dir_b2
main_dir/dirB/dir_b3
我在 main_dir 中有 SConstruct 文件,在后续目录中有相应的 SConscript。 在 dir_b1、dir_b2 和 dir_b3 中,大部分构建环境设置是常见的,所以我试图导入一个通用的 python 模块来做所有这些事情,这就是两难境地。 让我们说 dir_b1,目前我这样做:
Import('my_env')
env = my_env.Clone()
env['ENV']['LIB_NAME'] = xxx #unique to each dir
env['ENV']['CXX_COMPILER'] = 'yyy' #common to all
我想将所有这些常见的东西移到我的 python 模块中,并将目录中的任何特定内容留给 SConscript 文件。
这里应该如何管理环境变量?
如果我也在 python 模块中克隆 env 变量并在模块和 SConscript 中设置值,那么在构建时,scons 会采用这两者的变化吗?
【问题讨论】: