mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-07 03:22:33 +01:00
89 lines
2.9 KiB
Python
89 lines
2.9 KiB
Python
|
#!/usr/bin/python3
|
||
|
import platform
|
||
|
import os
|
||
|
import subprocess
|
||
|
import shutil
|
||
|
import argparse
|
||
|
import time
|
||
|
import zipfile
|
||
|
from shutil import copytree
|
||
|
from pathlib import Path
|
||
|
from concurrent.futures import ThreadPoolExecutor
|
||
|
from datetime import datetime
|
||
|
from util import run
|
||
|
|
||
|
def listfiles(path):
|
||
|
files = []
|
||
|
extensions = ('.dylib', '.so','')
|
||
|
ignored = ('qmldir')
|
||
|
print(f"WALK: {path}")
|
||
|
for dirName, subdirList, fileList in os.walk(path):
|
||
|
dir = dirName.replace(path, '')
|
||
|
for fname in fileList:
|
||
|
if Path(fname).suffix in extensions and not fname in ignored:
|
||
|
file = path + os.path.join(dir, fname)
|
||
|
if(os.path.isfile(file)):
|
||
|
print(file)
|
||
|
files.append(file)
|
||
|
return files
|
||
|
|
||
|
|
||
|
def create_fat_binary():
|
||
|
# Make sure the script is always started from the same folder
|
||
|
root_path = Path.cwd()
|
||
|
if root_path.name == "Tools":
|
||
|
root_path = root_path.parent
|
||
|
print(f"Change root directory to: {root_path}")
|
||
|
os.chdir(root_path)
|
||
|
|
||
|
arm64_dir = 'build-arm64-osx-release/bin/ScreenPlay.app'
|
||
|
x64_dir = "build-x64-osx-release/bin/ScreenPlay.app"
|
||
|
arm64_files = listfiles(
|
||
|
str(Path.joinpath(root_path, arm64_dir)))
|
||
|
x64_files = listfiles(str(Path.joinpath(root_path, x64_dir)))
|
||
|
|
||
|
for file in arm64_files:
|
||
|
run(f"lipo -info {file}")
|
||
|
|
||
|
# print(arm64_files)
|
||
|
# print(x64_files)
|
||
|
|
||
|
def run_lipo():
|
||
|
# Make sure the script is always started from the same folder
|
||
|
root_path = Path.cwd()
|
||
|
if root_path.name == "Tools":
|
||
|
root_path = root_path.parent
|
||
|
print(f"Change root directory to: {root_path}")
|
||
|
os.chdir(root_path)
|
||
|
|
||
|
shutil.copytree(str(Path.joinpath(root_path, "build-arm64-osx-release/bin/")) ,
|
||
|
str(Path.joinpath(root_path, "build-universal-osx-release/bin/")) )
|
||
|
|
||
|
apps = ["ScreenPlay","ScreenPlayWallpaper", "ScreenPlayWidget"]
|
||
|
for app in apps:
|
||
|
arm64_dir = str(Path.joinpath(root_path, f"build-arm64-osx-release/bin/{app}.app/Contents/MacOS/{app}"))
|
||
|
x64_dir = str(Path.joinpath(root_path, f"build-x64-osx-release/bin/{app}.app/Contents/MacOS/{app}"))
|
||
|
universal_dir = str(Path.joinpath(root_path, f"build-universal-osx-release/bin/{app}.app/Contents/MacOS/{app}"))
|
||
|
run(f"lipo -create {arm64_dir} {x64_dir} -output {universal_dir}")
|
||
|
run(f"lipo -info {universal_dir}")
|
||
|
|
||
|
def check_fat_binary():
|
||
|
# Make sure the script is always started from the same folder
|
||
|
root_path = Path.cwd()
|
||
|
if root_path.name == "Tools":
|
||
|
root_path = root_path.parent
|
||
|
print(f"Change root directory to: {root_path}")
|
||
|
os.chdir(root_path)
|
||
|
|
||
|
dir = 'build-universal-osx-release/bin/'
|
||
|
files = listfiles(str(Path.joinpath(root_path, dir)))
|
||
|
|
||
|
for file in files:
|
||
|
run(f"lipo -info {file}")
|
||
|
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
run_lipo()
|
||
|
check_fat_binary()
|
||
|
#create_fat_binary()
|