【问题标题】:How to get a list of all files that have changed in SCons?如何获取 SCons 中已更改的所有文件的列表?
【发布时间】:2014-07-29 20:50:19
【问题描述】:

在尝试让我的构建使用单个编译单元时,我发现有必要测试在给定特定文件名的情况下,相应的文件是否自上次构建以来发生了变化,然后根据它是否有,来处理它以不同的方式(将其添加到特定的 scu 或不添加)。

我尝试构建一个文件对象,并在其上调用 Node.changed(),但这总是返回 False,即使文件已更改。

我如何测试文件以查看 SCons 是否认为它已更改?

【问题讨论】:

  • 您的方法可能不起作用,因为您没有在构建阶段检查 changed() ,而是在阅读所有 SConscripts 时。您能否提供更多信息,说明为什么有时必须在 SCU 中包含文件而有时不包含文件(最小示例)?单个 SCU 中的“#include”列表不应该随着时间的推移保持不变吗?

标签: python build compilation scons


【解决方案1】:

你试过AddPostAction命令吗?

http://www.scons.org/doc/2.1.0/HTML/scons-user/a10706.html

它基本上是在构建目标之后执行一个动作。

【讨论】:

  • 问题是,我需要先构建 SCU,然后才能构建它们,而且只有知道哪些文件已更改,我才能构建它们。使用这种方法,我将不得不构建两次,一次弄清楚发生了什么变化并构建 SCU,然后实际构建 SCU
猜你喜欢
  • 2012-11-12
  • 1970-01-01
  • 2010-11-10
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 2012-04-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多