从 SConscript 中获取相对于 SConstruct 的节点路径

Get node path relative to the SConstruct from inside a SConscript

在分层构建中,位于子目录中的我的 SConscript 文件之一需要打印一些节点的路径(供外部脚本使用)。但是,路径需要相对于 SConstruct 所在的主目录,而不是我当前所在的子目录。

我通常用来获取节点路径的函数是str(node)node.get_path()。两者都是return相对于子目录的路径。

如何获取相对于项目根目录的路径?

节点对象有两个属性似乎存储相对于根目录的路径:

  • node.path
  • node.relpath

(link to the manual)

他们的描述有点相似,但根据我设法收集的信息,node.path 更可取。