summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSaikari <[email protected]>2026-02-23 18:11:22 +0300
committerSaikari <[email protected]>2026-02-23 18:11:22 +0300
commitc9f0816b6cf1633ba5dadc3f0fe84993a7d5311b (patch)
tree5acf012d7f0d118f8fb7898eb5c86cb80a00803d
parent3cf862ee32ea653871d4069b56b619a8cf477e38 (diff)
todo
-rw-r--r--xmake/rules/qt/config_static.lua2
-rw-r--r--xmake/rules/qt/load.lua13
2 files changed, 14 insertions, 1 deletions
diff --git a/xmake/rules/qt/config_static.lua b/xmake/rules/qt/config_static.lua
index 4cf943d13..461a1b238 100644
--- a/xmake/rules/qt/config_static.lua
+++ b/xmake/rules/qt/config_static.lua
@@ -59,7 +59,7 @@ function main(target)
table.insert(frameworks, QtPlatformSupport)
end
elseif target:is_plat("wasm") then
- plugins.QWasmIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qwasm"}}
+ plugins.QWasmIntegrationPlugin = {linkdirs = "plugins/platforms", links = {"qwasm"}, resources = {"wasmwindow", "wasmfonts"}}
if qt_sdkver:ge("6.0") then
table.join2(frameworks, "QtOpenGL")
else
diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua
index 2c7b6c73f..38618553f 100644
--- a/xmake/rules/qt/load.lua
+++ b/xmake/rules/qt/load.lua
@@ -98,6 +98,9 @@ function _add_plugins(target, plugins)
if plugin.linkdirs then
target:values_add("qt.linkdirs", table.unpack(table.wrap(plugin.linkdirs)))
end
+ if plugin.resources then
+ target:values_add("qt.plugin_resources", table.unpack(table.wrap(plugin.resources)))
+ end
-- TODO: add prebuilt object files in qt sdk.
-- these file is located at plugins/xxx/objects-Release/xxxPlugin_init/xxxPlugin_init.cpp.o
end
@@ -283,6 +286,16 @@ function main(target, opt)
content = content .. string.format("Q_IMPORT_PLUGIN(%s)\n", plugin)
end
+ local plugin_resources = target:values("qt.plugin_resources")
+ if plugin_resources then
+ content = content .. "int init_qt_plugin_resources() {\n"
+ for _, res in ipairs(table.unique(plugin_resources)) do
+ content = content .. string.format(" Q_INIT_RESOURCE(%s);\n", res)
+ end
+ content = content .. " return 0;\n}\n"
+ content = content .. "static int s_init_qt_plugin_resources = init_qt_plugin_resources();\n"
+ end
+
local old_content = ""
if os.isfile(importfile) then
old_content = io.readfile(importfile)