我们正在为C / C ++文件开发一个SCons操作的调整版本,该文件使用内置C / C ++扫描程序已经找到的依赖项来自动创建放入CPPPATH
的目录列表。
我们当前的解决方案使用对
中定义的get_found_includes()
的递归调用
http://www.scons.org/doc/2.3.4/HTML/scons-api/SCons.Node.Node-class.html#get_found_includes
但是,我们从这个逻辑中得到例外,抱怨发送给path
的{{1}}参数为get_found_includes()
。这些调用在SCons(递归)逻辑中更深处调用,而不是直接由我们自己调用None
调用。
请注意,我们只对已由相应扫描程序计算的缓存依赖项感兴趣。如果get_found_includes
的变体只返回这些节点而不必猜测参数get_found_includes()
的正确值,那将是很好的。
此外,path
在
http://www.scons.org/doc/2.3.4/HTML/scons-api/SCons.Node.Node-class.html#get_implicit_deps
在这方面与get_implicit_deps()
不同?我已经读了几次他们的描述,但无法弄清楚他们的修饰意义的区别。
有没有更好的方法来解决这个问题?
如果我们想自己一起破解这个,我猜所有的依赖关系都存储在图中,作为可以遍历的节点属性。