我可以使用File('foo.bar').abspath
来获取文件的位置,但如果我设置了variant_dir,则返回的路径将位于variant_dir中,而不是它的原始位置。如果我设置duplicate=0
,则返回的文件实际上不存在。
显然,SCons知道原始文件的位置,因为它在文件实际构建时作为参数传递(例如gcc -c -o variant/foo.o orig/foo.c
)。
我可以使用某种File('foo.bar').origpath
吗?
如果它来了,我可以使用os.path.join(Dir('#').abspath, 'orig')
,但这需要SConscript知道它所在的目录,这很麻烦。