From 9768d8e1ba21adace1f590420791e6924a9fad8c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Morten=20S=C3=B8rvig?= Date: Wed, 29 May 2024 14:49:55 +0200 Subject: [PATCH] wasm: move MODULARIZE to EXPORT_NAME finalizer MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This avoids a "must set EXPORT_NAME when using MODULARIZE with pthreads" error when linking libQtGui.so. Both settings only apply for the final executable since they affect how the wasm module is loaded from JS; setting them together here makes sense. Pick-to: 6.8 Change-Id: Ibebeeee38203486675c43b416cb674e8ece9c147 Reviewed-by: Piotr WierciƄski --- cmake/QtWasmHelpers.cmake | 3 --- src/corelib/Qt6WasmMacros.cmake | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/cmake/QtWasmHelpers.cmake b/cmake/QtWasmHelpers.cmake index 41ef5cb0ba8..bb6e2dede69 100644 --- a/cmake/QtWasmHelpers.cmake +++ b/cmake/QtWasmHelpers.cmake @@ -18,9 +18,6 @@ function (qt_internal_setup_wasm_target_properties wasmTarget) target_compile_options("${wasmTarget}" INTERFACE "SHELL:-s MEMORY64=1" ) target_link_options("${wasmTarget}" INTERFACE "SHELL:-s MEMORY64=1" -mwasm64) endif() - # Enable MODULARIZE so that we are able to set EXPORT_NAME later and instantiate on demand (with - # MODULARIZE=0, emscripten creates a global app instance object at Javascript eval time) - target_link_options("${wasmTarget}" INTERFACE "SHELL:-s MODULARIZE=1") #simd if (QT_FEATURE_wasm_simd128) diff --git a/src/corelib/Qt6WasmMacros.cmake b/src/corelib/Qt6WasmMacros.cmake index 1de6e5448c7..40522dc7eee 100644 --- a/src/corelib/Qt6WasmMacros.cmake +++ b/src/corelib/Qt6WasmMacros.cmake @@ -126,6 +126,7 @@ endfunction() function(_qt_internal_set_wasm_export_name target) _qt_internal_wasm_export_name_for_target(export_name ${target}) + target_link_options("${target}" PRIVATE "SHELL:-s MODULARIZE=1") target_link_options("${target}" PRIVATE "SHELL:-s EXPORT_NAME=${export_name}") endfunction()