From e01dc377a7386f807371767356016402a4fe1642 Mon Sep 17 00:00:00 2001 From: "Mahlon E. Smith" Date: Thu, 21 Aug 2025 16:57:23 -0700 Subject: [PATCH] Embed resource files for native build, break out config. --- .SRCINFO | 0 config.nims | 1 + nim_wasm_test.nimble | 17 ++++++++- resources.tgz | Bin 0 -> 183 bytes src/lib/configuration.nim | 23 +++++++++++++ src/lib/embeddedfs.nim | 70 ++++++++++++++++++++++++++++++++++++++ src/nim_wasm_test.nim | 50 +++++++++++++++------------ 7 files changed, 138 insertions(+), 23 deletions(-) create mode 100644 .SRCINFO create mode 100644 resources.tgz create mode 100644 src/lib/configuration.nim create mode 100644 src/lib/embeddedfs.nim diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..e69de29 diff --git a/config.nims b/config.nims index c180457..e1ccc36 100644 --- a/config.nims +++ b/config.nims @@ -32,5 +32,6 @@ when defined( emscripten ): # --passL:"-s JSPI" # async support (new) # --passL:"-s ALLOW_MEMORY_GROWTH=1" --passL:"--preload-file resources" + --passL:"--use-preload-cache" --passL:"-o build/nimtest.js" diff --git a/nim_wasm_test.nimble b/nim_wasm_test.nimble index 989c1a2..e83333a 100644 --- a/nim_wasm_test.nimble +++ b/nim_wasm_test.nimble @@ -9,9 +9,23 @@ srcDir = "src" requires "nim >= 2.2.4" requires "naylib >= 25.33.0" requires "nimhttpd >= 1.5.1" +requires "zippy >= 0.10.16" + +before make: + exec "tar -C resources -cvzf resources.tgz ." +after make: + exec "rm -f resources.tgz" task make, "Native build": - exec "mkdir -p build && nim c --outdir:build -d:release --opt:speed src/nim_wasm_test.nim" + exec """ + mkdir -p build && nim c --outdir:build -d:release --opt:speed src/nim_wasm_test.nim + """ + +task makedebug, "Native debugging build": + exec """ + tar -C resources -cvzf resources.tgz . && + mkdir -p build && nim c --outdir:build -d:debug src/nim_wasm_test.nim + """ task makeweb, "Emscripten build": exec """ @@ -23,3 +37,4 @@ task runweb, "Run a local webserver for the wasm build": exec "nimhttpd -H:'Cross-Origin-Opener-Policy: same-origin' -H:'Cross-Origin-Embedder-Policy: require-corp' build/" + diff --git a/resources.tgz b/resources.tgz new file mode 100644 index 0000000000000000000000000000000000000000..77a51dee1702cab60b386ba0a906ee486456e411 GIT binary patch literal 183 zcmb2|=3oE==C>DZxehr9v^`u~+-2)Hr}V$p`viS4MHMN7PL-;9VHXeKAYG+>{>Ddn z&alVt3qE;LrOMu4c(2a$cB8mGokDX;y?QF7r+j<4So5ol{Luwlv$|ieeShu!wr}=Y z_ovo|n@`{Ka#o1_v!>?a*MFlwzq>D~ZRqp&ee4!5?^O=o_4n$_tiqh{^5