我有一个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文档,特别是分层构建部分,并考虑使用适当的“SConscript”调用多个SConscript文件的想法。一切清晰明了,尤其是整齐。然而,看起来这是为具有多个目标的层次结构而设计的。在只有一个目标文件的情况下,我能否使用同样的功能?
(我确实考虑过顶层SConstruct / SConscript文件,至少对于所涉及的库,列出所有子目录的源文件,但这不是最佳方法。也许这确实是前进的方法?)
非常感谢您提供的任何建议/见解。