summaryrefslogtreecommitdiffstats
path: root/platform/android
diff options
context:
space:
mode:
Diffstat (limited to 'platform/android')
-rw-r--r--platform/android/SCsub28
-rw-r--r--platform/android/display_server_android.cpp3
2 files changed, 31 insertions, 0 deletions
diff --git a/platform/android/SCsub b/platform/android/SCsub
index dfc921cc54..97262cf148 100644
--- a/platform/android/SCsub
+++ b/platform/android/SCsub
@@ -1,5 +1,7 @@
#!/usr/bin/env python
+import subprocess
+
Import("env")
android_files = [
@@ -77,3 +79,29 @@ if lib_arch_dir != "":
str(env["ANDROID_NDK_ROOT"]) + "/sources/cxx-stl/llvm-libc++/libs/" + lib_arch_dir + "/libc++_shared.so"
)
env_android.Command(out_dir + "/libc++_shared.so", stl_lib_path, Copy("$TARGET", "$SOURCE"))
+
+ def generate_apk(target, source, env):
+ if env["target"] != "editor" and env["dev_build"]:
+ subprocess.run(
+ [
+ "./gradlew",
+ "generateDevTemplate",
+ "--quiet",
+ ],
+ cwd="platform/android/java",
+ )
+ else:
+ # Android editor with `dev_build=yes` is handled by the `generateGodotEditor` task.
+ subprocess.run(
+ [
+ "./gradlew",
+ "generateGodotEditor" if env["target"] == "editor" else "generateGodotTemplates",
+ "--quiet",
+ ],
+ cwd="platform/android/java",
+ )
+
+ if env["generate_apk"]:
+ generate_apk_command = env_android.Command("generate_apk", [], generate_apk)
+ command = env_android.AlwaysBuild(generate_apk_command)
+ env_android.Depends(command, [lib])
diff --git a/platform/android/display_server_android.cpp b/platform/android/display_server_android.cpp
index dd5ab46bd7..9529e0e683 100644
--- a/platform/android/display_server_android.cpp
+++ b/platform/android/display_server_android.cpp
@@ -486,6 +486,9 @@ Vector<String> DisplayServerAndroid::get_rendering_drivers_func() {
#ifdef GLES3_ENABLED
drivers.push_back("opengl3");
#endif
+#ifdef D3D12_ENABLED
+ drivers.push_back("d3d12");
+#endif
#ifdef VULKAN_ENABLED
drivers.push_back("vulkan");
#endif