diff options
| author | Saikari <[email protected]> | 2026-02-24 02:07:19 +0300 |
|---|---|---|
| committer | Saikari <[email protected]> | 2026-02-24 02:07:19 +0300 |
| commit | 86a2b93c90df24d5876bea023e8346ad358bddae (patch) | |
| tree | 12ffb8503003c8da53b13d770039c60ac18d584b | |
| parent | b8bcc5f0d62d310050ebd9e2437b3e499e1a2177 (diff) | |
Refactor Qt WASM build configuration by removing unused plugin handling in load imports
| -rw-r--r-- | xmake/rules/qt/load.lua | 12 | ||||
| -rw-r--r-- | xmake/rules/qt/xmake.lua | 18 |
2 files changed, 8 insertions, 22 deletions
diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua index c09294a70..6cc9cdb5e 100644 --- a/xmake/rules/qt/load.lua +++ b/xmake/rules/qt/load.lua @@ -525,15 +525,15 @@ function main(target, opt) -- @see QtWasmHelpers.cmake: qt_internal_setup_wasm_target_properties target:add("ldflags", "-s MAX_WEBGL_VERSION=2", "-s WASM_BIGINT=1", "-s STACK_SIZE=5MB") target:add("ldflags", "-sASYNCIFY_IMPORTS=qt_asyncify_suspend_js,qt_asyncify_resume_js") - -- FS is required for qtloader.js even if we don't use preload files - target:add("ldflags", "-s EXPORTED_RUNTIME_METHODS=UTF16ToString,stringToUTF16,JSEvents,specialHTMLTargets,FS,callMain,cwrap,ccall,setValue,getValue,UTF8ToString,stringToUTF8") - -- @see https://github.com/emscripten-core/emscripten/issues/21844 Export main and emscripten_thread_crashed for qtloader.js - target:add("ldflags", "-s EXPORTED_FUNCTIONS=_main,_malloc,_free,__embind_initialize_bindings", {force = true}) + -- @see Qt6WasmMacros.cmake: _qt_internal_add_wasm_extra_exported_methods + target:add("ldflags", "-s EXPORTED_RUNTIME_METHODS=UTF16ToString,stringToUTF16,JSEvents,specialHTMLTargets,FS,callMain") + -- @see https://github.com/emscripten-core/emscripten/issues/21844 + target:add("ldflags", "-s EXPORTED_FUNCTIONS=_main,__embind_initialize_bindings", {force = true}) target:add("ldflags", "-s MODULARIZE=1", "-s EXPORT_NAME=createQtAppInstance") target:add("shflags", "-s MAX_WEBGL_VERSION=2", "-s WASM_BIGINT=1", "-s STACK_SIZE=5MB") target:add("shflags", "-sASYNCIFY_IMPORTS=qt_asyncify_suspend_js,qt_asyncify_resume_js") - target:add("shflags", "-s EXPORTED_RUNTIME_METHODS=UTF16ToString,stringToUTF16,JSEvents,specialHTMLTargets,FS,callMain,cwrap,ccall,setValue,getValue,UTF8ToString,stringToUTF8") - target:add("shflags", "-s EXPORTED_FUNCTIONS=_main,_malloc,_free,__embind_initialize_bindings", {force = true}) + target:add("shflags", "-s EXPORTED_RUNTIME_METHODS=UTF16ToString,stringToUTF16,JSEvents,specialHTMLTargets,FS,callMain") + target:add("shflags", "-s EXPORTED_FUNCTIONS=_main,__embind_initialize_bindings", {force = true}) target:add("shflags", "-s MODULARIZE=1", "-s EXPORT_NAME=createQtAppInstance") target:set("extension", ".js") else diff --git a/xmake/rules/qt/xmake.lua b/xmake/rules/qt/xmake.lua index 048f163e4..d492da1f8 100644 --- a/xmake/rules/qt/xmake.lua +++ b/xmake/rules/qt/xmake.lua @@ -193,14 +193,7 @@ rule("qt.widgetapp") if qt_sdkver and qt_sdkver:lt("5.0") then frameworks = {"QtGui", "QtCore"} -- qt4.x has not QtWidgets, it is in QtGui end - - local plugins = {} - if target:is_plat("wasm") then - local static_frameworks, static_plugins = import("config_static")(target) - table.join2(frameworks, static_frameworks) - plugins = static_plugins - end - import("load")(target, {gui = true, frameworks = frameworks, plugins = plugins}) + import("load")(target, {gui = true, frameworks = frameworks}) end) -- deploy application @@ -258,14 +251,7 @@ rule("qt.quickapp") end) on_config(function (target) - local frameworks = {"QtGui", "QtQuick", "QtQml", "QtCore", "QtNetwork"} - local plugins = {} - if target:is_plat("wasm") then - local static_frameworks, static_plugins = import("config_static")(target) - table.join2(frameworks, static_frameworks) - plugins = static_plugins - end - import("load")(target, {gui = true, frameworks = frameworks, plugins = plugins}) + import("load")(target, {gui = true, frameworks = {"QtGui", "QtQuick", "QtQml", "QtCore", "QtNetwork"}}) end) -- deploy application |
