假設我有一個SConstruct
其中出口施工環境的子公司SConscript
:如何將新的命令行變量添加到現有的施工環境?
Export('SConscript', 'env')
我想爲SConscript
到的命令行參數foo
插入env
,這樣我可以調用建立與命令
scons foo=bar
這是可能的,或者提供給環境的構造這樣的命令行變量必須支持?
假設我有一個SConstruct
其中出口施工環境的子公司SConscript
:如何將新的命令行變量添加到現有的施工環境?
Export('SConscript', 'env')
我想爲SConscript
到的命令行參數foo
插入env
,這樣我可以調用建立與命令
scons foo=bar
這是可能的,或者提供給環境的構造這樣的命令行變量必須支持?
創建一個包含新變量新Variables
對象,然後更新環境in the subsidiary
SConscript`:
Import('env')
vars = Variables()
vars.Add('foo', help='a command line variable named foo')
vars.Update(env)
我不知道說明白的問題清楚了,但我的回答是。
使用SCons有命令行參數很好的支持。在你的情況下使用功能ARGUMENTS.get('command_line_parameter', [default])
。要將變量插入到環境中,只需使用索引運算符[]
。
例子:
env['foo'] = ARGUMENTS.get('foo') # if parameter not set, returns None
或默認值:
env['foo'] = ARGUMENTS.get('foo', 'bar')
你可以發現在scons的指導更多有關command-line parameters handling。
您還可以使用變量更新時,它通過命令行值的環境,:
vars.Update(env, ARGUMENTS)