如何查看将在SCons中构建的目标?

时间:2015-05-28 10:09:49

标签: c++ scons

我有一个很大的C ++项目,包含几个共享库和可执行文件。该项目由SCons建造。我的客户要求任何补丁必须包含尽可能少的二进制文件。换句话说,我必须在构建之前知道将要构建哪些目标。此外,如果A.cpp产生libB.sl,而libB.sl反过来影响libC.sl和D.bin,我只需要获取libB.sl作为输出。我找不到一个简单的方法来做到这一点。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

通过解析以下命令的输出,可以在构建之前获取您在问题中请求的所有信息。

>> scons --dry-run --tree=all --debug=explain

这不构建任何内容(--dry-run),将列出需要重建的所有文件以及原因(--debug=explain),后跟依赖关系树(--tree=all)。< / p>

因此,您应该能够从此命令的输出中删除由于.cpp文件代码更改而需要重新构建的目标文件列表,然后解析依赖关系树以解析您将拥有哪些二进制文件根据您要使用。解析依赖关系树的规则包含在补丁中。