Build SCON:一个大的SCON对所有的vs许多小的

Build SCON:一个大的SCON对所有的vs许多小的,build,scons,Build,Scons,我正在将Code::Blocks项目移动到SCON。我有一个具有以下结构的源树: trunk lib1 lib2 libn app1 app2 appn 这是我第一次使用SCON,我正在尝试找出更好的方法——在每个应用程序和库文件夹中放置许多小SCONSCRIPT,或者在主干下放置一个大SCOCONTRUCT,其中包含描述每个项目的源代码、开关和构建前/后命令的部分 我个人更喜欢处理一个文件,但我想听听有经验的人对烤饼的看法 谢谢。单个SCons

我正在将Code::Blocks项目移动到SCON。我有一个具有以下结构的源树:

trunk
    lib1
    lib2
    libn
    app1
    app2
    appn
这是我第一次使用SCON,我正在尝试找出更好的方法——在每个应用程序和库文件夹中放置许多小SCONSCRIPT,或者在主干下放置一个大SCOCONTRUCT,其中包含描述每个项目的源代码、开关和构建前/后命令的部分

我个人更喜欢处理一个文件,但我想听听有经验的人对烤饼的看法


谢谢。

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

另一方面,需要在不同的
SConscript
文件之间共享的目标有时需要大量的
Export()
-ing和
Import()
-ing符号才能相互通信

看起来你的应用程序和程序库已经很好地分开了。在您的情况下,我将首先在每个主目录中创建多个
SConscript
文件。通常,以后合并它们比以后分开它们更容易。

这样想:

你会把你真正的项目组织成一个大文件还是许多小文件?当然,如果所有内容都在一个文件中,那么做某些事情可能会更容易,但对于组织来说,多个文件有时会更容易


您可能想尝试做一些事情,比如在位于主主干的SConstruct文件中设置全局设置(例如警告和优化标志),然后将其导入到您的SConscript文件中,这些文件会处理特定于目标的详细信息。

我只是想如何保持几十个SConscript文件的格式一致,这样我就不会以自己的、稍微不同的方式创建每个SConscript。这个论点没有意义,因为您可能已经对许多不同的源代码文件执行了此操作。SConscript文件是Python源代码。保持一致并不难。