【发布时间】:2012-01-10 20:58:28
【问题描述】:
我有一个 C++/Python 项目,我一直在从事该项目,到目前为止,我一直依赖 Visual Studio 来管理构建。现在我想自动化构建过程,希望包括多平台支持(都是标准的 C++/Python),并且认为 SCons 可能是完成这项工作的工具。
涉及的源文件很多,在多个目录中,但一个(立体)典型示例如下:
foo.lib
directory_1
bar1_1.cpp
bar1_2.cpp
... etc. ...
directory_2
bar2_1.cpp
bar2_2.cpp
... etc. ...
因此,换句话说,源文件处于层次结构中,但只有一个目标。 (层次结构在代码中使用的命名空间中匹配,但这对于这个问题来说是多余的。)
我的问题是:构建 SConstruct 和 SConscript 文件的最佳方式是什么?我阅读了 SCons 文档,特别是 Hierarchical Builds 部分以及使用多个 SConscript 文件和合适的“SConscript”调用的想法。一切看起来都很清晰,而且特别整洁。然而,这似乎适用于具有多个目标的层次结构。我可以在只有一个目标的情况下使用相同的功能吗?
(我确实想到了一个顶级的 SConstruct/SConscript 文件,至少对于有问题的库来说,列出了所有带有子目录的源文件,但并不是“感觉”最好的方法。也许这确实是前进的方向?)
非常感谢您提供任何建议/见解。
【问题讨论】: