Add options to use scons caching for faster iteration.

Sort the sets in source generation so they are generated consistently between runs; otherwise caching is useless.
This commit is contained in:
Emilien Bauer
2022-09-13 10:37:58 +02:00
parent 204e504d68
commit 8e717acf48
3 changed files with 21 additions and 1 deletions

View File

@@ -168,12 +168,19 @@ else:
json_api_file = os.path.join(os.getcwd(), env["headers_dir"], "extension_api.json")
bindings = env.GenerateBindings(
env.Dir("."), [json_api_file, os.path.join(env["headers_dir"], "godot", "gdnative_interface.h")]
env.Dir("."),
[json_api_file, os.path.join(env["headers_dir"], "godot", "gdnative_interface.h"), "binding_generator.py"],
)
scons_cache_path = os.environ.get("SCONS_CACHE")
if scons_cache_path is not None:
CacheDir(scons_cache_path)
Decider("MD5")
# Forces bindings regeneration.
if env["generate_bindings"]:
AlwaysBuild(bindings)
NoCache(bindings)
# Includes
env.Append(CPPPATH=[[env.Dir(d) for d in [env["headers_dir"], "include", os.path.join("gen", "include")]]])