在命令行中将值参数传递给scons?

时间:2012-10-31 05:14:29

标签: scons

你们如何将有价值的参数传递给scons?我经历了它documentation,不幸的是,我仍然不清楚。我以前从未使用过它。

请考虑 this 构建脚本。

以下是来自它的代码段

add_option( "boost-version", "boost version for linking(1_38)" , 1 , True , "boostVersion" )

boostVersion = GetOption( "boostVersion" )
if boostVersion is None:
    boostVersion = ""
else:
    boostVersion = "-" + boostVersion

我尝试调用scons --boost-version=1.51并尝试了scons --boostVersion=1.51,但没有一个有效。

1 个答案:

答案 0 :(得分:1)

您可以使用参数:

您在命令行上调用scons boost-version=1.51

然后,获取SConscript中的值:

boostVersion = defaultBoostVersion
if 'boost-version' in ARGUMENTS: 
  boostVersion = ARGUMENTS["boost-version"]

或,如elmo建议:

boostVersion = ARGUMENTS.get("boost-version", defaultBoostVersion)

scons文档有more information同一页面也描述了如何使用 您之前尝试过的AddOption命令。它也可以使用,但参数(至少对我来说)更容易理解。