有几种方法可以解决此问题:
-
您可以让每个开发人员指定环境变量和这些环境变量
可以通过SConscript使用pythons os.environ方法准备好
-
可以使用scons变量
-
您可以创建一个由scons脚本读取的配置文件。
例如,由于我看到您正在使用gtest。如果你想指定gtest的路径,你可以写一个类似的脚本。
# build variables
vars = Variables()
vars.Add(EnumVariable('VARIANT', 'Build variant', 'debug', allowed_values('debug', 'release'))
vars.Add(PathVariable('GTEST_DIR', 'path to gtest', os.environ.get('GTEST_PATH'), PathVariable.PathIsDir))
## environment: macbook
macbook = Environment(variables = vars)
Help(vars.GenerateHelpText(macbook))
### include
macbook.Append(CPPPATH = ["/usr/local/Cellar/gcc48/4.8.1/gcc/include/c++/4.8.", \
"$GTEST_PATH/include", \
"/usr/local/Cellar/log4cxx/0.10.0/include"])
现在,当您运行SCons时,您添加了构建变量
scons GTEST_PATH=/Users/cls/workspace/gtest VARIANT=release
如果不想每次运行时都键入该值,则可以指定环境变量
GTEST_PATH
或者您可以指定
SCONSFLAGS
环境变量。
使用scons变量会有所帮助,因为当您键入
scons -h
您将获得变量的当前值和帮助文本的列表。
如果你愿意,你可以创建一个可以读取的配置文件。我会签出这篇文章:
Scons (Build System) Variables : load config file with custom/unknown values