summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules
diff options
context:
space:
mode:
authorArthur LAURENT <[email protected]>2024-02-14 13:40:31 +0100
committerArthur LAURENT <[email protected]>2024-02-14 13:41:44 +0100
commit45b8fa3d0f456e820e6fdd38c7e000fa52064b4d (patch)
tree0814552f84537cf2e15e5d5b48ac324cd7dd5e85 /xmake/rules/c++/modules
parentbe329f008903ce4989bdd0de7cea6f48d54b2d63 (diff)
improve incremental compilation fix
Diffstat (limited to 'xmake/rules/c++/modules')
-rw-r--r--xmake/rules/c++/modules/modules_support/dependency_scanner.lua2
-rw-r--r--xmake/rules/c++/modules/xmake.lua2
2 files changed, 1 insertions, 3 deletions
diff --git a/xmake/rules/c++/modules/modules_support/dependency_scanner.lua b/xmake/rules/c++/modules/modules_support/dependency_scanner.lua
index 0b02292ef..ef0e66cc6 100644
--- a/xmake/rules/c++/modules/modules_support/dependency_scanner.lua
+++ b/xmake/rules/c++/modules/modules_support/dependency_scanner.lua
@@ -178,7 +178,7 @@ function _get_edges(nodes, modules)
for _, node in ipairs(nodes) do
local module = modules[node]
if module.requires then
- for required_name, _ in pairs(module.requires) do
+ for required_name, _ in table.orderpairs(module.requires) do
for _, required_node in ipairs(nodes) do
local name, _, _ = compiler_support.get_provided_module(modules[required_node])
if name and name == required_name then
diff --git a/xmake/rules/c++/modules/xmake.lua b/xmake/rules/c++/modules/xmake.lua
index c4e9b35e3..922841cd1 100644
--- a/xmake/rules/c++/modules/xmake.lua
+++ b/xmake/rules/c++/modules/xmake.lua
@@ -119,7 +119,6 @@ rule("c++.build.modules.builder")
-- cull external modules objectfile
compiler_support.cull_objectfiles(target, modules, sourcebatch)
- table.sort(sourcebatch.objectfiles)
else
sourcebatch.objectfiles = {}
end
@@ -183,7 +182,6 @@ rule("c++.build.modules.builder")
-- cull external modules objectfile
compiler_support.cull_objectfiles(target, modules, sourcebatch)
- table.sort(sourcebatch.objectfiles)
else
-- avoid duplicate linking of object files of non-module programs
sourcebatch.objectfiles = {}