diff options
author | Lorn Potter <lorn.potter@gmail.com> | 2022-07-14 10:07:00 +1000 |
---|---|---|
committer | Lorn Potter <lorn.potter@gmail.com> | 2022-08-12 10:13:51 +1000 |
commit | 1f9c1f032c5d8af2c6758081eb8de076fe678b53 (patch) | |
tree | bbbb2a1e6ec2c6f66e660a6b8db0bb8f7b4b69ee /cmake | |
parent | 97f6878afddbef83b4a654ff0f9b118aa9ab2ab4 (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.cmake | 2 | ||||
-rw-r--r-- | cmake/QtWasmHelpers.cmake | 7 |
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() + + |