SCons如何构建有关功能的内容签名?

问题描述

最近,我使用SCons来构建项目。但是它每次都会重建。.读取.sconsign.dblite文件后,我发现SCons将为函数创建内容签名。像这样:

TargetA.txt: 99bb021f789f7bb1c23935daffecfb8e 1598528466 22769
        31aada685dfb3c4e5d1e474ba5cc251d [buildfunction(target,source,env)]

它为函数buildfunction(target,env)创建一个签名,该签名创建了文件TargetA.txt。但是我找不到相关的代码。我认为它是由SCons提供的。有人可以帮我吗?

解决方法

您必须查看源代码。 这相当复杂。

从这里开始: https://github.com/SCons/scons/blob/master/SCons/Action.py#L1210

也可能会更改。 我们可能会在不远的将来进行改进,因为python 3.5+具有可以简化逻辑的功能。