0
比方说,我有这样的目录结构:scons的 - 源/ include路径
- SConstruct
- 的src/
- a.cpp
- b.cpp
- 包括/
- A.H
- b.h
在SConstruct我不想指定[ 'SRC/a.cpp', 'SCR/b.cpp']每一次;我正在寻找一些方法将基础源目录设置为'src'
任何提示?我一直在寻找到的文档,但无法找到任何有用
比方说,我有这样的目录结构:scons的 - 源/ include路径
在SConstruct我不想指定[ 'SRC/a.cpp', 'SCR/b.cpp']每一次;我正在寻找一些方法将基础源目录设置为'src'
任何提示?我一直在寻找到的文档,但无法找到任何有用
一种你两个选择:
首先,scons的喜欢用SConscript文件子目录。将一个SConscript放在src/
中,它可以引用本地文件(并且也会在build subdir中生成输出)。您可以在SConstruct中设置一次环境。然后,从主SConstruct中“加载”SConscript。
SConscript('src/SConscript')
随着项目的发展,在子目录管理SConscript的文件是比把一切在主SConstruct容易。
其次,这可能有帮助similar question/answer - 它使用Glob一个非常简单的例子。
第三,因为它只是蟒蛇,可以使文件的列表,而没有前缀和使用列表理解来构建真正的名单:
file_sources = [ 'a.c', 'b.c' ]
real_sources = [os.path.join('src', f) for f in file_sources]