我有一个使用SCons(和MinGW/gcc取决于平台)构建的项目。这个项目取决于其他几个库(我们称它们为libfoo
和libbar
),它们可以安装在不同的地方供不同的用户使用。SCons配置文件和默认值
目前,我SConstruct
文件嵌入到这些库硬编码路径(比如,是这样的:C:\libfoo
)。现在
,我想配置选项添加到我的SConstruct
文件,这样谁在其他位置安装libfoo
用户(比如C:\custom_path\libfoo
)可以这样做:
> scons --configure --libfoo-prefix=C:\custom_path\libfoo
或者:
> 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 ###
选择后,应该将这些配置选项写入某个文件,并在每次运行scons
时自动重新读取。
scons
是否提供这样的机制?我将如何实现这种行为?我并不完全掌握Python,所以即使是明显的(但完整的)解决方案也是受欢迎的。
谢谢。
谢谢,这似乎有窍门;)是否有另一种方法来获取变量的值?像'print var.getVariable('LIBFOO')''? – ereOn 2010-09-16 12:32:25
@ereOn我已经搜遍了文档,但是*没有*似乎有任何方法可以做到这一点。相当不对称。您必须将变量放入环境中并将其读出。如果我知道,我会更新这篇文章。 – richq 2010-09-16 18:40:36