SCons: Begin decoupling generation & build code

This commit is contained in:
Thaddeus Crews
2025-04-21 11:07:42 -05:00
parent 28089c40c1
commit 5c9f93ce03
16 changed files with 489 additions and 454 deletions

View File

@@ -2,9 +2,10 @@
from misc.utility.scons_hints import *
import platform
import subprocess
import sys
import platform_android_builders
from methods import print_warning
Import("env")
@@ -101,33 +102,9 @@ if lib_arch_dir != "" and host_subpath != "":
stl_lib_path = f"{env['ANDROID_NDK_ROOT']}/toolchains/llvm/prebuilt/{host_subpath}/sysroot/usr/lib/{triple_target_dir}/libc++_shared.so"
env_android.CommandNoCache(out_dir + "/libc++_shared.so", stl_lib_path, Copy("$TARGET", "$SOURCE"))
def generate_android_binaries(target, source, env):
gradle_process = []
if sys.platform.startswith("win"):
gradle_process = [
"cmd",
"/c",
"gradlew.bat",
]
else:
gradle_process = ["./gradlew"]
if env["target"] == "editor":
gradle_process += ["generateGodotEditor", "generateGodotHorizonOSEditor", "generateGodotPicoOSEditor"]
else:
gradle_process += ["generateGodotTemplates"]
gradle_process += ["--quiet"]
if env["gradle_do_not_strip"]:
gradle_process += ["-PdoNotStrip=true"]
subprocess.run(
gradle_process,
cwd="platform/android/java",
)
if env["generate_android_binaries"]:
env_android.AlwaysBuild(
env_android.CommandNoCache("generate_android_binaries", lib, env.Run(generate_android_binaries))
env_android.CommandNoCache(
"generate_android_binaries", lib, env.Run(platform_android_builders.generate_android_binaries)
)
)