diff options
| author | ruki <[email protected]> | 2023-09-01 23:31:43 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-09-06 18:00:57 +0800 |
| commit | 64d3f5eb0665ca2face2cbd41f4308c97989edf7 (patch) | |
| tree | a16946c44a354307cc6bed8b86c11e4ff07438e1 | |
| parent | ef2c128996268f92e5e8701ecd272828d84a5b09 (diff) | |
improve to add frameworks resources for wasm
| -rw-r--r-- | xmake/rules/qt/load.lua | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua index f61d9bfa2..6aff4a2dc 100644 --- a/xmake/rules/qt/load.lua +++ b/xmake/rules/qt/load.lua @@ -254,7 +254,8 @@ function main(target, opt) -- do frameworks for qt local frameworksset = hashset.new() - for _, framework in ipairs(_get_frameworks_from_target(target)) do + local qt_frameworks = _get_frameworks_from_target(target) + for _, framework in ipairs(qt_frameworks) do -- translate qt frameworks if framework:startswith("Qt") then @@ -398,8 +399,13 @@ function main(target, opt) target:add("linkdirs", qt.libdir) -- add prebuilt object files in qt sdk. -- these files are located at lib/objects-Release/xxxmodule_resources_x/.rcc/xxxmodule.cpp.o - for _, filepath in ipairs(os.files(path.join(qt.libdir, "objects-*", "*_resources_*", ".rcc", "*.o"))) do - table.insert(target:objectfiles(), filepath) + for _, framework in ipairs(qt_frameworks) do + if framework:startswith("Qt") then + local prefix = framework:sub(3) + for _, filepath in ipairs(os.files(path.join(qt.libdir, "objects-*", prefix .. "_resources_*", ".rcc", "*.o"))) do + table.insert(target:objectfiles(), filepath) + end + end end target:add("ldflags", "-s WASM=1", "-s FETCH=1", "-s FULL_ES2=1", "-s FULL_ES3=1", "-s USE_WEBGL2=1", "--bind") target:add("ldflags", "-s ERROR_ON_UNDEFINED_SYMBOLS=1", "-s EXPORTED_RUNTIME_METHODS=[\"UTF16ToString\",\"stringToUTF16\"]", "-s ALLOW_MEMORY_GROWTH=1") |
