summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/modules_support/builder.lua
diff options
context:
space:
mode:
authorArthur LAURENT <[email protected]>2024-01-31 17:16:36 +0100
committerArthur LAURENT <[email protected]>2024-01-31 17:16:36 +0100
commit7d5573aa4d49f00e0b3420230841d25c4275f48b (patch)
tree0a70cd750ed6e85f82b44bb44a7051224e54813c /xmake/rules/c++/modules/modules_support/builder.lua
parent69e66b7f18a6a599fba45cd9da030f31a8fae507 (diff)
optimise header duplication detection
Diffstat (limited to 'xmake/rules/c++/modules/modules_support/builder.lua')
-rw-r--r--xmake/rules/c++/modules/modules_support/builder.lua10
1 files changed, 5 insertions, 5 deletions
diff --git a/xmake/rules/c++/modules/modules_support/builder.lua b/xmake/rules/c++/modules/modules_support/builder.lua
index 9f695cede..f92f2ed7e 100644
--- a/xmake/rules/c++/modules/modules_support/builder.lua
+++ b/xmake/rules/c++/modules/modules_support/builder.lua
@@ -168,10 +168,10 @@ function _target_module_map_cachekey(target)
end
function _is_duplicated_headerunit(target, key)
- local mapper = get_target_module_mapper(target)
- for _, mapped in pairs(mapper) do
- if mapped.key == key then
- return mapped
+ local mapper, mapper_keys = get_target_module_mapper(target)
+ for _, mapped_key in ipairs(mapper_keys) do
+ if mapped_key == key then
+ return mapper[mapped_key]
end
end
end
@@ -338,7 +338,7 @@ function get_target_module_mapper(target)
memcache:set2(target:name(), "module_mapper", mapper)
end
- return mapper
+ return mapper, table.keys(mapper)
end
-- get a module or headerunit from target mapper