summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorLorn Potter <lorn.potter@gmail.com>2022-07-14 10:07:00 +1000
committerLorn Potter <lorn.potter@gmail.com>2022-08-12 10:13:51 +1000
commit1f9c1f032c5d8af2c6758081eb8de076fe678b53 (patch)
treebbbb2a1e6ec2c6f66e660a6b8db0bb8f7b4b69ee /cmake
parent97f6878afddbef83b4a654ff0f9b118aa9ab2ab4 (diff)
wasm: allow apps to override EXPORT_RUNTIME_METHODS
Developers can add to Emscripten's EXPORT_RUNTIME_METHODS by defining their own using: QT_WASM_EXTRA_EXPORTED_METHODS Which will add on to Qt's default exported runtime methods of UTF16ToString,stringToUTF16 for cmake: set_target_properties(<target> PROPERTIES QT_WASM_EXTRA_EXPORTED_METHODS "ccall,cwrap") or set(QT_WASM_EXTRA_EXPORTED_METHODS "ccall,cwrap") for qmake: QT_WASM_EXTRA_EXPORTED_METHODS = ccall,cwrap Done-with: Mikolaj Boc Fixes: QTBUG-104882 Pick-to: 6.4 Change-Id: I9678bdb7b077aaa8527057212ea4e161c0be0b60 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtExecutableHelpers.cmake2
-rw-r--r--cmake/QtWasmHelpers.cmake7
2 files changed, 8 insertions, 1 deletions
diff --git a/cmake/QtExecutableHelpers.cmake b/cmake/QtExecutableHelpers.cmake
index 42d7840a04..a235c9bb36 100644
--- a/cmake/QtExecutableHelpers.cmake
+++ b/cmake/QtExecutableHelpers.cmake
@@ -40,8 +40,10 @@ function(qt_internal_add_executable name)
endif()
if(WASM)
+ qt_internal_wasm_add_finalizers("${name}")
_qt_internal_wasm_add_target_helpers("${name}")
endif()
+
if (arg_VERSION)
if(arg_VERSION MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+")
# nothing to do
diff --git a/cmake/QtWasmHelpers.cmake b/cmake/QtWasmHelpers.cmake
index 4fdfba5e42..08e8d97349 100644
--- a/cmake/QtWasmHelpers.cmake
+++ b/cmake/QtWasmHelpers.cmake
@@ -7,7 +7,6 @@ function (qt_internal_setup_wasm_target_properties wasmTarget)
target_link_options("${wasmTarget}" INTERFACE
"SHELL:-s ERROR_ON_UNDEFINED_SYMBOLS=1"
- "SHELL:-s EXPORTED_RUNTIME_METHODS=UTF16ToString,stringToUTF16"
"SHELL:-s MAX_WEBGL_VERSION=2"
"SHELL:-s FETCH=1"
"SHELL:-s WASM_BIGINT=1")
@@ -80,3 +79,9 @@ function (qt_internal_setup_wasm_target_properties wasmTarget)
target_compile_definitions("${wasmTarget}" INTERFACE QT_HAVE_EMSCRIPTEN_ASYNCIFY)
endif()
endfunction()
+
+function(qt_internal_wasm_add_finalizers target)
+ qt_add_list_file_finalizer(_qt_internal_add_wasm_extra_exported_methods ${target})
+endfunction()
+
+