瀏覽代碼

Use an absolute path for SConsignFile so all Sconscript invocations share the same database

SConscript("some SCsub path") calls create a new context where a relative path
to the .sconsign file is interpreted as being next to the currently executing
SCsub, and not the one at the root. This breaks incremental build detection
because scons can't find the build information of dependent files outside of the
SCsub directory and just rebuilds everything every time.

(cherry picked from commit 0b43b0124f65418e5e9b82e07ad03dc1168fd0e8)
Andreia Gaita 1 年之前
父節點
當前提交
18c543d312
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      SConstruct

+ 1 - 1
SConstruct

@@ -152,7 +152,7 @@ env_base["x86_libtheora_opt_gcc"] = False
 env_base["x86_libtheora_opt_vc"] = False
 
 # avoid issues when building with different versions of python out of the same directory
-env_base.SConsignFile(".sconsign{0}.dblite".format(pickle.HIGHEST_PROTOCOL))
+env_base.SConsignFile(File("#.sconsign{0}.dblite".format(pickle.HIGHEST_PROTOCOL)).abspath)
 
 # Build options