3

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

也许是 env 上的一个属性?

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

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

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

'path_to/my_variant_dir'
4

1 回答 1

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']
于 2013-06-07T21:03:42.907 回答