如何从Builder()中获取variant_dir路径?

时间:2013-06-07 20:11:31

标签: scons

我正在编写自定义构建器。有没有办法从Builder内部获取它所构建的variant_dir的根路径?

也许是env上的一个属性?

或者可能来自目标节点?例如,如果在我的构建器中我有:

target[0].path --> path_to/my_variant_dir/subdir/target_file.txt

有没有办法确定哪个部分是variant_dir路径?

'path_to/my_variant_dir'

1 个答案:

答案 0 :(得分:3)

您在SConscript()调用中指定了变量目录,因此您可以将其存储在env中并稍后检索它。我之前实际上已经做过这个了,原因不同,如下:

var_dir = 'some_dir'
env['variant_dir'] = var_dir

SConscript('subdir/SConscript', variant_dir = env['variant_dir'], duplicate = 0)
...

def yourBuilderFunc(target, source, env):
   # variant_dir is env['variant_dir']