aboutsummaryrefslogtreecommitdiff
path: root/cmake/platforms/emscripten.cmake
diff options
context:
space:
mode:
authorSimon Tatham <anakin@pobox.com>2021-04-16 18:07:15 +0100
committerSimon Tatham <anakin@pobox.com>2021-04-16 18:07:15 +0100
commit8fa545c76c35dd7954220eb172a1783044794168 (patch)
treebfe7f0fd45bcd825f0ab7d6bf563d7af5f46ae42 /cmake/platforms/emscripten.cmake
parentf8b15bab6b2a8dd8309cdef3dc49ae3377cb997d (diff)
downloadpuzzles-8fa545c76c35dd7954220eb172a1783044794168.zip
puzzles-8fa545c76c35dd7954220eb172a1783044794168.tar.gz
puzzles-8fa545c76c35dd7954220eb172a1783044794168.tar.bz2
puzzles-8fa545c76c35dd7954220eb172a1783044794168.tar.xz
Set ALLOW_MEMORY_GROWTH in the Emscripten build.
How embarrassing. When I updated the Emscripten build to use WASM, a major reason I bothered to do it at all was that I'd heard that WASM was capable of reallocating its memory arena larger on the fly. Turns out that it _can_, but only if you specifically set the option in Emscripten to allow it. With this option set, I can finish a 25x25 Galaxies, where previously the game would crash part way through (and not even a very large part) with errors about memory growth in the Javascript console.
Diffstat (limited to 'cmake/platforms/emscripten.cmake')
-rw-r--r--cmake/platforms/emscripten.cmake1
1 files changed, 1 insertions, 0 deletions
diff --git a/cmake/platforms/emscripten.cmake b/cmake/platforms/emscripten.cmake
index 89223a5..bbb0897 100644
--- a/cmake/platforms/emscripten.cmake
+++ b/cmake/platforms/emscripten.cmake
@@ -30,6 +30,7 @@ list(TRANSFORM emcc_export_list PREPEND \")
list(TRANSFORM emcc_export_list APPEND \")
string(JOIN "," emcc_export_string ${emcc_export_list})
set(CMAKE_C_LINK_FLAGS "\
+-s ALLOW_MEMORY_GROWTH=1 \
-s EXPORTED_FUNCTIONS='[${emcc_export_string}]' \
-s EXTRA_EXPORTED_RUNTIME_METHODS='[cwrap,callMain]'")