From 3e89112ddf2cb62026990d87e34a6547f992bf68 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 26 Oct 2023 23:05:39 +0800 Subject: fix extra when sort links --- xmake/core/tool/builder.lua | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/xmake/core/tool/builder.lua b/xmake/core/tool/builder.lua index 6b561e9f9..3f5b3cbb4 100644 --- a/xmake/core/tool/builder.lua +++ b/xmake/core/tool/builder.lua @@ -506,6 +506,7 @@ function builder:_sort_links_of_items(target, items) -- get all links local links = {} local linkgroups_map = {} + local extras_map = {} local link_mapper local framework_mapper local linkgroup_mapper @@ -525,10 +526,11 @@ function builder:_sort_links_of_items(target, items) framework_mapper = item.mapper removed = true elseif name == "linkgroups" then - local extra = item.extra or target:extraconf("linkgroups", value) + local extra = item.extra local key = extra and extra.name or tostring(value) table.insert(links, "linkgroup::" .. key) linkgroups_map[key] = value + extras_map[key] = extra linkgroup_mapper = item.mapper removed = true end @@ -606,8 +608,9 @@ function builder:_sort_links_of_items(target, items) table.insert(items, {name = "frameworks", values = table.wrap(link), check = false, multival = false, mapper = framework_mapper}) elseif link:startswith("linkgroup::") then local key = link:sub(12) - local value = linkgroups_map[key] - table.insert(items, {name = "linkgroups", values = table.wrap(value), check = false, multival = false, mapper = linkgroup_mapper}) + local values = linkgroups_map[key] + local extra = extras_map[key] + table.insert(items, {name = "linkgroups", values = table.wrap(values), extra = extra, check = false, multival = false, mapper = linkgroup_mapper}) else table.insert(items, {name = "links", values = table.wrap(link), check = false, multival = false, mapper = link_mapper}) end -- cgit v1.3.1