使用SCons创建分层构建

ere*_*eOn 6 python scons

我有一个库项目,包含子文件夹中的一些示例.

库本身有一个SConstruct文件,每个样本都有自己的文件夹和自己的SConstruct文件.

我想在主(根)SConstruct文件中添加一个目标,这样我就可以像往常一样编译库,并立即编译所有样本.

是否有现有的机制/构建器?

PS:我不想只有一个大SConstruct文件,因为我希望样本文件夹保持独立.

S.L*_*ott 8

http://www.scons.org/doc/production/HTML/scons-man.html

创建分层构建

请注意,子目录的SConscript文件中指定的文件名是相对于该子目录的.

SConstruct:

env = Environment()
env.Program(target = 'foo', source = 'foo.c')

SConscript('sub/SConscript')
Run Code Online (Sandbox Code Playgroud)

子/ SConscript:

env = Environment()
# Builds sub/foo from sub/foo.c
env.Program(target = 'foo', source = 'foo.c')

SConscript('dir/SConscript')
Run Code Online (Sandbox Code Playgroud)

子/ DIR/SConscript:

env = Environment()
# Builds sub/dir/foo from sub/dir/foo.c
env.Program(target = 'foo', source = 'foo.c')
Run Code Online (Sandbox Code Playgroud)