From 463e6322a417fa8c05a69fe775a7d59423133661 Mon Sep 17 00:00:00 2001 From: Martin Fouilleul Date: Mon, 26 Jun 2023 12:24:22 +0200 Subject: [PATCH] - Changed mkapp.py flags to embed files and directories. '--resource name' now copies file or directory 'name' into the app's private filesystem '--resource-dir dir' copies all files _inside_ 'dir' into the app's private filesystem --- samples/pong/build.sh | 2 +- scripts/mkapp.py | 21 +++++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/samples/pong/build.sh b/samples/pong/build.sh index a2ac390..1f874cc 100755 --- a/samples/pong/build.sh +++ b/samples/pong/build.sh @@ -24,4 +24,4 @@ wasmFlags="--target=wasm32 \ $CLANG $wasmFlags -o ./module.wasm ../../sdk/orca.c ../../cstdlib/src/*.c src/main.c -python3 ../../scripts/mkapp.py --orca-dir ../.. --name Pong --icon icon.png --data-file data/ball.png --data-file data/wall.png module.wasm +python3 ../../scripts/mkapp.py --orca-dir ../.. --name Pong --icon icon.png --resource-dir data module.wasm diff --git a/scripts/mkapp.py b/scripts/mkapp.py index dc0f394..687cc19 100644 --- a/scripts/mkapp.py +++ b/scripts/mkapp.py @@ -50,13 +50,18 @@ def macos_make_app(args): #----------------------------------------------------------- shutil.copy(args.module, wasm_dir + '/module.wasm') - if args.data_files != None: - for data in args.data_files: - shutil.copy(data, data_dir) + if args.resource_files != None: + for resource in args.resource_files: + shutil.copytree(resource, data_dir + '/' + os.path.basename(resource), dirs_exist_ok=True) - if args.data_dirs != None: - for data in args.data_dirs: - shutil.copytree(data, data_dir + '/' + os.path.basename(data), dirs_exist_ok=True) + if args.resource_dirs != None: + for resource_dir in args.resource_dirs: + for resource in os.listdir(resource_dir): + src = resource_dir + '/' + resource + if os.path.isdir(src): + shutil.copytree(src, data_dir + '/' + os.path.basename(resource), dirs_exist_ok=True) + else: + shutil.copy(src, data_dir) #----------------------------------------------------------- #NOTE: copy runtime resources @@ -216,8 +221,8 @@ def windows_make_app(args): #---------------------------------------------------------------------------------------------- parser = ArgumentParser(prog='mkapp') -parser.add_argument("-d", "--data-file", action='append', dest='data_files') -parser.add_argument("-D", "--data-dir", action='append', dest='data_dirs') +parser.add_argument("-d", "--resource", action='append', dest='resource_files') +parser.add_argument("-D", "--resource-dir", action='append', dest='resource_dirs') parser.add_argument("-i", "--icon") parser.add_argument("-C", "--out-dir", default=os.getcwd()) parser.add_argument("-n", "--name", default='out')