mirror of
https://gitlab.com/kelteseth/ScreenPlay.git
synced 2024-11-05 18:42:29 +01:00
Fix macOS paths and remove old lipo script
This commit is contained in:
parent
dfd311c5d5
commit
72a3ffba76
@ -53,7 +53,7 @@ standalone_osx:
|
||||
artifacts:
|
||||
expire_in: "2 weeks"
|
||||
paths:
|
||||
- build-universal-osx-release/bin/
|
||||
- build-64-osx-universal-release/bin/
|
||||
|
||||
standalone_linux:
|
||||
stage: build
|
||||
|
Binary file not shown.
Binary file not shown.
@ -5,7 +5,7 @@
|
||||
// include all files recursively
|
||||
"FileMapping"
|
||||
{
|
||||
"LocalPath" "build-universal-osx-release/bin/*"
|
||||
"LocalPath" "build-64-osx-universal-release/bin/*"
|
||||
"DepotPath" "."
|
||||
"recursive" "1"
|
||||
}
|
||||
|
@ -8,7 +8,6 @@ import argparse
|
||||
import os
|
||||
import build
|
||||
from pathlib import Path
|
||||
from macos_lipo import run_lipo, check_fat_binary
|
||||
import platform
|
||||
import paramiko
|
||||
import defines
|
||||
|
@ -1,63 +0,0 @@
|
||||
#!/usr/bin/python3
|
||||
# SPDX-License-Identifier: LicenseRef-EliasSteurerTachiom OR AGPL-3.0-only
|
||||
from distutils.dir_util import mkpath
|
||||
import os
|
||||
from pathlib import Path
|
||||
from util import run, run_and_capture_output, cd_repo_root_path
|
||||
from sys import stdout
|
||||
|
||||
stdout.reconfigure(encoding='utf-8')
|
||||
|
||||
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)):
|
||||
files.append(file)
|
||||
if os.path.islink(file):
|
||||
print(f"Warning: file {file} is a symlink!")
|
||||
print("Symlink target: ", os.readlink(file))
|
||||
return files
|
||||
|
||||
# Merges x64 and arm64 build into universal
|
||||
def run_lipo() :
|
||||
root_path = cd_repo_root_path()
|
||||
|
||||
# Looks like it is ok the contain symlinks otherwise we get these errors for qml plugins:
|
||||
# bundle format is ambiguous (could be app or framework)
|
||||
# https://bugreports.qt.io/browse/QTBUG-101338
|
||||
run("cp -a build-x64-osx-release build-universal-osx-release",root_path)
|
||||
|
||||
apps = ["ScreenPlay","ScreenPlayWallpaper", "ScreenPlayWidget"]
|
||||
for app in apps:
|
||||
arm64_dir = str(Path.joinpath(root_path, f"build-arm64-osx-release/bin/ScreenPlay.app/Contents/MacOS/{app}"))
|
||||
x64_dir = str(Path.joinpath(root_path, f"build-x64-osx-release/bin/ScreenPlay.app/Contents/MacOS/{app}"))
|
||||
universal_dir = str(Path.joinpath(root_path, f"build-universal-osx-release/bin/ScreenPlay.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-osx-release/bin/'
|
||||
files = listfiles(str(Path.joinpath(root_path, dir)))
|
||||
|
||||
for file in files:
|
||||
out = run_and_capture_output(f"lipo -info {file}")
|
||||
if out.startswith('Non-fat'):
|
||||
print(out)
|
||||
|
||||
if __name__ == "__main__":
|
||||
run_lipo()
|
||||
check_fat_binary()
|
Loading…
Reference in New Issue
Block a user