diff options
| author | Saikari <[email protected]> | 2026-02-23 18:11:22 +0300 |
|---|---|---|
| committer | Saikari <[email protected]> | 2026-02-23 18:11:22 +0300 |
| commit | c9f0816b6cf1633ba5dadc3f0fe84993a7d5311b (patch) | |
| tree | 5acf012d7f0d118f8fb7898eb5c86cb80a00803d | |
| parent | 3cf862ee32ea653871d4069b56b619a8cf477e38 (diff) | |
todo
| -rw-r--r-- | xmake/rules/qt/config_static.lua | 2 | ||||
| -rw-r--r-- | xmake/rules/qt/load.lua | 13 |
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) |
