Scons:一个大的SContruct,对所有小的

时间:2011-08-09 07:55:04

标签: build scons

我正在将Code :: Blocks项目移动到SCons。我有一个源树,结构如下:

trunk
    lib1
    lib2
    libn
    app1
    app2
    appn

这是我第一次使用Scons,我正在尝试找出更好的方法 - 在每个应用程序和lib文件夹中有许多小的SConscripts,或者在主干下有一个大的SContruct,其中的部分描述了源,交换机和前/后为每个项目构建命令。

我个人更喜欢处理一个文件,但我想听听SCons经验丰富的人的意见。

感谢。

2 个答案:

答案 0 :(得分:2)

单个SConscript文件的一个优点是每个文件中的文件名都与SConscript文件所在的目录相关。因此,为构建目标创建文件名列表变得不那么冗长。

另一方面,需要在不同SConscript文件之间共享的目标有时最终需要大量Export() - 和Import()符号来与每个文件进行通信其他

看起来你的应用程序和库分离得很好。在您的情况下,我将首先在每个主目录中创建多个SConscript文件。通常以后更容易将它们组合起来,而不是稍后将它们分开。

答案 1 :(得分:0)

这样想:

您是否会将您的真实项目组织在一个大文件或许多小文件中?当然,如果一切都在一个文件中,那么做一些事情可能会更容易,但对于组织来说,有时候多个文件会更容易。

您可能想要尝试在主干线SConstruct文件中进行全局设置(如警告和优化标志之类的内容),然后将其导入SConscript文件中,以处理特定于目标的详细信息。