1

我有一个问题,我需要一些代码来运行命令生成器:

node = env.Command (target, dependencies, function)

在这种情况下,如果目标过期,函数将运行,这是我想要的,但如果目标在缓存中,函数不会运行。如果从缓存中提取目标,我想要运行不同的功能。

我试过了:

env.AddPostAction(node, function2)

但该函数也不会被调用。

有任何想法吗?谢谢。

4

1 回答 1

0

Afaik,scons 将不知道在执行代码时它将如何满足需求。它在完成第一次传球后做出该决定。所以,即使你能说出来,我也不相信你可以在你的代码中对它采取行动。

一种简单而明显的方法是解析 scons 输出以获取“已检索...文件名”。

当然,问题表明依赖项设置不当,看起来您已修复该问题。

于 2014-07-02T20:23:00.873 回答