决定重建时忽略一些标志更改

时间:2019-07-15 10:35:02

标签: python waf

我想使用一个C定义来表示我的程序上次构建的时间戳。例如,如下所示:

import time

bld.program (target = "foo",
             source = [ "src/foo.c" ],
             defines = [ time.strftime ('BUILD_TIMESTAMP="%Y/%m/%d %H:%M:%S"') ])

但是当唯一改变的是时间戳时,我不希望重新构建程序。使用SCons,我可以使用$($)来获得想要的效果(在计算哈希值以确定是否必须重建某些内容时,$($)之间的任何内容都会被忽略) 。 WAF中有类似的东西吗?

1 个答案:

答案 0 :(得分:1)

恐怕waf中没有像$( $)这样的东西。在计算的哈希中使用定义。在waf书的第11.4.1节中,文件中包含日期/时间的示例。这很棘手,因为您不仅必须禁止对日期更改进行处理,而且请确保每当另一个文件发生更改时,便会重建包含信息的文件:)