scons - 源/包含路径
假设我有这个目录结构:
- SConstruct
- src/
- a.cpp
- b.cpp
- 包含/
- 啊
- bh
在 SConstruct 中我不想每次都指定 ['src/a.cpp', 'scr/b.cpp'] ;我正在寻找某种方法将基本源目录设置为“src”,
有什么提示吗?我一直在研究文档但找不到任何有用的东西
Let's say I have this directory structure:
- SConstruct
- src/
- a.cpp
- b.cpp
- include/
- a.h
- b.h
in SConstruct I don't want to specify ['src/a.cpp', 'scr/b.cpp'] every time; I'm looking for some way to set the base source directory to 'src'
any hint? I've been looking into the docs but can't find anything useful
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
有几个选项供您选择:
首先,scons 喜欢使用 SConscript 文件作为子目录。将 SConscript 放入 src/ 中,它可以引用本地文件(并且也会在构建子目录中生成输出)。您可以在 SConstruct 中设置环境一次。然后,您从主 SConstruct 中“加载”SConscript。
随着项目的增长,管理子目录中的 SConscript 文件比将所有内容放入主 SConstruct 中更容易。
其次,这里有一个类似的问题/答案可能会有所帮助 - 它使用 Glob 和一个非常简单的例子。
第三,由于它只是 python,因此您可以创建一个不带前缀的文件列表,并使用列表理解来构建真正的列表:
A couple of options for you:
First, scons likes to use SConscript files for subdirectories. Put an SConscript in
src/
and it can refer to local files (and will generate output in a build subdir as well). You can set up your environment once in the SConstruct. Then you "load" the SConscript from your master SConstruct.As your project grows, managing SConscript files in subdirectories is easier than putting everything in the master SConstruct.
Second, here's a similar question / answer that might help -- it uses Glob with a very simple example.
Third, since it's just python, you can make a list of files without the prefix and use a list comprehension to build the real list: