Creating a Hierarchical Build with SCons

会有一股神秘感。 提交于 2019-12-08 21:04:01

问题


I have a library project that contains some samples in a subfolder.

The library itself has a SConstruct file and each sample has its own folder and its own SConstruct file.

I'd like to add a target to the main (root) SConstruct file which would allow me to compile the library as usual, and all the samples, at once.

Is there an existing mechanism/builder for this ?

P.S: I don't want to have only one big SConstruct file because I want the samples folders to remain independant.


回答1:


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

Creating a Hierarchical Build

Notice that the file names specified in a subdirectory's SConscript file are relative to that subdirectory.

SConstruct:

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

SConscript('sub/SConscript')

sub/SConscript:

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

SConscript('dir/SConscript')

sub/dir/SConscript:

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



回答2:


For those like me coming to this question from Google, I found a more complete example of building a library and code that called it here.

(Apologies if this answering of an old question is frowned upon--a large number of searches for various combinations of "scons" "subdirectory" "hierarchical" "build", etc. suggest this page, and I'd like to save others the 8+ hours I just spent trying to get hierarchical builds to work cleanly).



来源:https://stackoverflow.com/questions/3709321/creating-a-hierarchical-build-with-scons

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!