diff options
Diffstat (limited to 'xmake/rules/c++/modules/modules_support/common.lua')
| -rw-r--r-- | xmake/rules/c++/modules/modules_support/common.lua | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/xmake/rules/c++/modules/modules_support/common.lua b/xmake/rules/c++/modules/modules_support/common.lua index 5f1f72599..ace8f2c56 100644 --- a/xmake/rules/c++/modules/modules_support/common.lua +++ b/xmake/rules/c++/modules/modules_support/common.lua @@ -160,24 +160,19 @@ function cull_unused_modules(target, modules, package_modules_data) for _, module in pairs(modules) do if module.requires then for required, _ in pairs(module.requires) do - table.append(needed_modules, required) + table.insert(needed_modules, required) end end end -- append all package dependencies - local module_names = {} - for name, _ in pairs(package_modules_data) do - table.append(module_names, name) - end - + local module_names = table.keys(package_modules_data) or {} local culled - for i, name in ipairs(module_names) do + for _, name in ipairs(module_names) do culled = culled or {} if table.find(needed_modules, name) and package_modules_data[name] and not culled[name] then culled[name] = package_modules_data[name] - -- table.remove(module_names, i) if culled[name].metadata.imports then table.join2(needed_modules, culled[name].metadata.imports) table.join2(module_names, culled[name].metadata.imports) |
