[nostalgia/studio] Add command for bundling Mac app
All checks were successful
Build / build (push) Successful in 1m14s
All checks were successful
Build / build (push) Successful in 1m14s
This commit is contained in:
parent
26fe266b09
commit
833ce33015
4
Makefile
4
Makefile
@ -17,6 +17,10 @@ PROJECT_PLAYER=./build/${BC_VAR_CURRENT_BUILD}/bin/${BC_VAR_PROJECT_NAME_CAP}
|
|||||||
pkg-gba: build
|
pkg-gba: build
|
||||||
${BC_CMD_ENVRUN} ${BC_PY3} ./util/scripts/pkg-gba.py sample_project ${BC_VAR_PROJECT_NAME_CAP}
|
${BC_CMD_ENVRUN} ${BC_PY3} ./util/scripts/pkg-gba.py sample_project ${BC_VAR_PROJECT_NAME_CAP}
|
||||||
|
|
||||||
|
.PHONY: pkg-mac
|
||||||
|
pkg-mac: install
|
||||||
|
${BC_CMD_ENVRUN} ${BC_PY3} ./util/scripts/pkg-dmg.py
|
||||||
|
|
||||||
.PHONY: generate-studio-rsrc
|
.PHONY: generate-studio-rsrc
|
||||||
generate-studio-rsrc:
|
generate-studio-rsrc:
|
||||||
${BC_CMD_ENVRUN} ${BC_PY3} ./util/scripts/file-to-cpp.py --rsrc src/olympic/studio/applib/src/rsrc.json
|
${BC_CMD_ENVRUN} ${BC_PY3} ./util/scripts/file-to-cpp.py --rsrc src/olympic/studio/applib/src/rsrc.json
|
||||||
|
36
util/scripts/pkg-dmg.py
Executable file
36
util/scripts/pkg-dmg.py
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#! /usr/bin/env python3
|
||||||
|
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
|
||||||
|
def rm(path: str):
|
||||||
|
file_exists = os.path.exists(path)
|
||||||
|
is_link = os.path.islink(path)
|
||||||
|
is_dir = os.path.isdir(path)
|
||||||
|
if (file_exists or is_link) and not is_dir:
|
||||||
|
os.remove(path)
|
||||||
|
elif os.path.isdir(path):
|
||||||
|
shutil.rmtree(path)
|
||||||
|
|
||||||
|
|
||||||
|
def mkdir_p(path: str):
|
||||||
|
if not os.path.exists(path):
|
||||||
|
os.mkdir(path)
|
||||||
|
|
||||||
|
|
||||||
|
def run(args: list[str]):
|
||||||
|
if subprocess.run(args).returncode != 0:
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
dmg_dir = 'dist/darwin-arm64-release/NostalgiaStudio'
|
||||||
|
dmg = f'{dmg_dir}.dmg'
|
||||||
|
rm(dmg)
|
||||||
|
rm(dmg_dir)
|
||||||
|
mkdir_p(dmg_dir)
|
||||||
|
shutil.copytree('dist/darwin-arm64-release/NostalgiaStudio.app', f'{dmg_dir}/Nostalgia Studio.app')
|
||||||
|
os.symlink('/Applications', f'{dmg_dir}/Applications')
|
||||||
|
run(['hdiutil', 'create', '-srcfolder', dmg_dir, dmg])
|
Loading…
x
Reference in New Issue
Block a user