scons - 源/包含路径

时间:2010-07-01 17:31:53

标签: path scons

假设我有这样的目录结构:

  • SConstruct
  • 的src /
    • a.cpp
    • b.cpp
  • 包括/
    • A.H
    • b.h
SConstruct中的

我不想每次都指定['src / a.cpp','scr / b.cpp'];我正在寻找一些方法将基本源目录设置为'src'

任何提示?我一直在研究文档,但找不到任何有用的东西

1 个答案:

答案 0 :(得分:2)

为您提供几种选择:

首先,scons喜欢将SConscript文件用于子目录。将SConscript放在src/中,它可以引用本地文件(并且也会在构建子目录中生成输出)。您可以在SConstruct中设置一次环境。然后从主SConstruct“加载”SConscript。

SConscript('src/SConscript')

随着项目的增长,管理子目录中的SConscript文件比将所有内容放在主SConstruct中更容易。

其次,这是一个可能有用的similar question / answer - 它使用Glob的一个非常简单的例子。

第三,因为它只是python,你可以创建一个没有前缀的文件列表,并使用列表理解来构建真实的列表:

file_sources = [ 'a.c', 'b.c' ]
real_sources = [os.path.join('src', f) for f in file_sources]