diff options
| author | ruki <[email protected]> | 2023-08-31 23:39:57 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-08-31 23:39:57 +0800 |
| commit | 5a1835abf86edde5bac60267379ed8c1efaae46f (patch) | |
| tree | 4148a61f5159648283a69b73165225218da0ea60 | |
| parent | ccc860bdb47daea33c48c334a14c1b090e0ad9cf (diff) | |
improve qt frameworks for windows
| -rw-r--r-- | xmake/rules/qt/load.lua | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/xmake/rules/qt/load.lua b/xmake/rules/qt/load.lua index 360e92037..7886e38bf 100644 --- a/xmake/rules/qt/load.lua +++ b/xmake/rules/qt/load.lua @@ -123,13 +123,13 @@ function _get_target_cppversion(target) end end --- get values from target +-- get frameworks from target -- @see https://github.com/xmake-io/xmake/issues/4135 -function _get_values_from_target(target, name) - local values = table.wrap(target:get(name)) - table.join2(values, target:get_from_opts(name)) - table.join2(values, target:get_from_pkgs(name)) - table.join2(values, target:get_from_deps(name, {interface = true})) +function _get_frameworks_from_target(target) + local values = table.wrap(target:get("frameworks")) + table.join2(values, target:get_from_opts("frameworks")) + table.join2(values, target:get_from_pkgs("frameworks")) + table.join2(values, target:get_from_deps("__qt_frameworks", {interface = true})) return table.unique(values) end @@ -237,6 +237,16 @@ function main(target, opt) end target:add("syslinks", target:values("qt.links")) + -- backup qt frameworks + local qt_frameworks = target:get("frameworks") + if qt_frameworks then + target:set("__qt_frameworks", qt_frameworks) + end + local qt_frameworks_extra = target:extraconf("frameworks") + if qt_frameworks_extra then + target:extraconf_set("__qt_frameworks", qt_frameworks_extra) + end + -- add frameworks if opt.frameworks then target:add("frameworks", opt.frameworks) |
