mirror of https://github.com/godotengine/godot
58 lines
1.8 KiB
Python
Executable File
58 lines
1.8 KiB
Python
Executable File
#!/usr/bin/env python
|
|
|
|
import os
|
|
import shutil
|
|
import sys
|
|
import tempfile
|
|
import urllib.request
|
|
from zipfile import ZipFile
|
|
|
|
sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "../../"))
|
|
|
|
from misc.utility.color import Ansi, color_print
|
|
|
|
# Swappy
|
|
# Check for latest version: https://github.com/godotengine/godot-swappy/releases/latest
|
|
swappy_tag = "from-source-2025-01-31"
|
|
swappy_filename = "godot-swappy.zip"
|
|
swappy_folder = "thirdparty/swappy-frame-pacing"
|
|
swappy_archs = [
|
|
"arm64-v8a",
|
|
"armeabi-v7a",
|
|
"x86",
|
|
"x86_64",
|
|
]
|
|
|
|
swappy_archive_destination = os.path.join(tempfile.gettempdir(), swappy_filename)
|
|
|
|
if os.path.isfile(swappy_archive_destination):
|
|
os.remove(swappy_archive_destination)
|
|
|
|
print(f"Downloading Swappy {swappy_tag} ...")
|
|
urllib.request.urlretrieve(
|
|
f"https://github.com/godotengine/godot-swappy/releases/download/{swappy_tag}/{swappy_filename}",
|
|
swappy_archive_destination,
|
|
)
|
|
|
|
for arch in swappy_archs:
|
|
folder = os.path.join(swappy_folder, arch)
|
|
if os.path.exists(folder):
|
|
print(f"Removing existing local Swappy installation in {folder} ...")
|
|
shutil.rmtree(folder)
|
|
|
|
print(f"Extracting Swappy {swappy_tag} to {swappy_folder} ...")
|
|
with ZipFile(swappy_archive_destination, "r") as zip_file:
|
|
for arch in swappy_archs:
|
|
zip_file.getinfo(f"{arch}/libswappy_static.a").filename = os.path.join(
|
|
swappy_folder, f"{arch}/libswappy_static.a"
|
|
)
|
|
zip_file.extract(f"{arch}/libswappy_static.a")
|
|
os.remove(swappy_archive_destination)
|
|
print("Swappy installed successfully.\n")
|
|
|
|
# Complete message
|
|
color_print(f'{Ansi.GREEN}Swappy was installed to "{swappy_folder}" successfully!')
|
|
color_print(
|
|
f'{Ansi.GREEN}You can now build Godot with Swappy support enabled by running "scons platform=android swappy=yes".'
|
|
)
|