我正在将Code :: Blocks项目移动到SCons。我有一个源树,结构如下:
trunk
lib1
lib2
libn
app1
app2
appn
这是我第一次使用Scons,我正在尝试找出更好的方法 - 在每个应用程序和lib文件夹中有许多小的SConscripts,或者在主干下有一个大的SContruct,其中的部分描述了源,交换机和前/后为每个项目构建命令。
我个人更喜欢处理一个文件,但我想听听SCons经验丰富的人的意见。
感谢。
答案 0 :(得分:2)
单个SConscript
文件的一个优点是每个文件中的文件名都与SConscript
文件所在的目录相关。因此,为构建目标创建文件名列表变得不那么冗长。
另一方面,需要在不同SConscript
文件之间共享的目标有时最终需要大量Export()
- 和Import()
符号来与每个文件进行通信其他
看起来你的应用程序和库分离得很好。在您的情况下,我将首先在每个主目录中创建多个SConscript
文件。通常以后更容易将它们组合起来,而不是稍后将它们分开。
答案 1 :(得分:0)
这样想:
您是否会将您的真实项目组织在一个大文件或许多小文件中?当然,如果一切都在一个文件中,那么做一些事情可能会更容易,但对于组织来说,有时候多个文件会更容易。
您可能想要尝试在主干线SConstruct文件中进行全局设置(如警告和优化标志之类的内容),然后将其导入SConscript文件中,以处理特定于目标的详细信息。