Scons - 如何从缓存中删除文件时检测到?

时间:2013-06-19 15:11:44

标签: caching builder scons

我遇到一个问题,我需要一些代码才能运行命令构建器:

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

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

我试过了:

env.AddPostAction(node, function2)

但是也没有调用该函数。

有什么想法吗?感谢。

1 个答案:

答案 0 :(得分:0)

Afaik,scons在执行代码时不知道它将如何满足需求。它在完成第一轮后做出决定。因此,即使您可以说,我也不相信您可以在代码中对其采取行动。

一种简单明了的方法是解析scons输出中的'Retrieved ... File name'。

当然,问题表明依赖关系设置得很糟糕,看起来你修复了这个问题。