From 300396b97e3fc88b8dcce810dfc1d5296c893c0b Mon Sep 17 00:00:00 2001 From: Nick Fisher Date: Wed, 21 Aug 2024 14:30:17 +0800 Subject: [PATCH] feat: (web) allow table growth in emscripten module for passing C-style callback function pointers --- thermion_dart/native/web/CMakeLists.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/thermion_dart/native/web/CMakeLists.txt b/thermion_dart/native/web/CMakeLists.txt index defb732e..af98c836 100644 --- a/thermion_dart/native/web/CMakeLists.txt +++ b/thermion_dart/native/web/CMakeLists.txt @@ -10,7 +10,7 @@ endif(NOT CMAKE_BUILD_TYPE) set(MODULE_NAME "thermion_dart") set(EMCC_CFLAGS --bind) -# set(EMCC_CFLAGS ${EMCC_CFLAGS} -sALLOW_TABLE_GROWTH=1) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sALLOW_TABLE_GROWTH=1) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sALLOW_MEMORY_GROWTH=1) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sEXPORT_NAME=${MODULE_NAME}) # set(EMCC_CFLAGS ${EMCC_CFLAGS} -sEXPORT_ALL=1) @@ -19,7 +19,7 @@ set(EMCC_CFLAGS ${EMCC_CFLAGS} -sEXPORT_NAME=${MODULE_NAME}) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sINITIAL_MEMORY=512mb) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sMODULARIZE) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sERROR_ON_UNDEFINED_SYMBOLS=0 ) -set(EMCC_CFLAGS ${EMCC_CFLAGS} -sEXPORTED_RUNTIME_METHODS=wasmExports,wasmTable,addFunction,ccall,cwrap,allocate,intArrayFromString,intArrayToString,getValue,setValue,UTF8ToString,stringToUTF8,writeArrayToMemory) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sEXPORTED_RUNTIME_METHODS=wasmExports,wasmTable,addFunction,removeFunction,ccall,cwrap,allocate,intArrayFromString,intArrayToString,getValue,setValue,UTF8ToString,stringToUTF8,writeArrayToMemory) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sEXPORTED_FUNCTIONS=_malloc,stackAlloc,_free) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sFULL_ES3) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sASSERTIONS) @@ -27,7 +27,7 @@ set(EMCC_CFLAGS ${EMCC_CFLAGS} -sASSERTIONS) # set(EMCC_CFLAGS ${EMCC_CFLAGS} -sALLOW_BLOCKING_ON_MAIN_THREAD=0) # set(EMCC_CFLAGS ${EMCC_CFLAGS} -sOFFSCREEN_FRAMEBUFFER=1) # set(EMCC_CFLAGS ${EMCC_CFLAGS} -sOFFSCREENCANVAS_SUPPORT=1) -# set(EMCC_CFLAGS ${EMCC_CFLAGS} -sNO_DISABLE_EXCEPTION_CATCHING) +set(EMCC_CFLAGS ${EMCC_CFLAGS} -sNO_DISABLE_EXCEPTION_CATCHING) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sASYNCIFY=1) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sMIN_WEBGL_VERSION=2) set(EMCC_CFLAGS ${EMCC_CFLAGS} -sMAX_WEBGL_VERSION=2)