假设我有这样的目录结构:
我不想每次都指定['src / a.cpp','scr / b.cpp'];我正在寻找一些方法将基本源目录设置为'src'
任何提示?我一直在研究文档,但找不到任何有用的东西
答案 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]