1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-04 12:00:25 +00:00

Add {c,cpp}_compiler_launcher options

This commit is contained in:
Adam Scott
2025-04-17 12:17:19 -04:00
parent dbddc9ef29
commit f6efd88cda

View File

@@ -296,6 +296,9 @@ opts.Add("asflags", "Custom flags for the assembler")
opts.Add("arflags", "Custom flags for the archive tool") opts.Add("arflags", "Custom flags for the archive tool")
opts.Add("rcflags", "Custom flags for Windows resource compiler") opts.Add("rcflags", "Custom flags for Windows resource compiler")
opts.Add("c_compiler_launcher", "C compiler launcher (e.g. `ccache`)")
opts.Add("cpp_compiler_launcher", "C++ compiler launcher (e.g. `ccache`)")
# Update the environment to have all above options defined # Update the environment to have all above options defined
# in following code (especially platform and custom_modules). # in following code (especially platform and custom_modules).
opts.Update(env) opts.Update(env)
@@ -1122,6 +1125,13 @@ for key in (emitters := env.StaticObject.builder.emitter):
for key in (emitters := env.SharedObject.builder.emitter): for key in (emitters := env.SharedObject.builder.emitter):
emitters[key] = ListEmitter([methods.redirect_emitter] + env.Flatten(emitters[key])) emitters[key] = ListEmitter([methods.redirect_emitter] + env.Flatten(emitters[key]))
# Prepend compiler launchers
if "c_compiler_launcher" in env:
env["CC"] = " ".join([env["c_compiler_launcher"], env["CC"]])
if "cpp_compiler_launcher" in env:
env["CXX"] = " ".join([env["cpp_compiler_launcher"], env["CXX"]])
# Build subdirs, the build order is dependent on link order. # Build subdirs, the build order is dependent on link order.
Export("env") Export("env")