From 45b8fa3d0f456e820e6fdd38c7e000fa52064b4d Mon Sep 17 00:00:00 2001 From: Arthur LAURENT Date: Wed, 14 Feb 2024 13:40:31 +0100 Subject: improve incremental compilation fix --- xmake/rules/c++/modules/modules_support/dependency_scanner.lua | 2 +- xmake/rules/c++/modules/xmake.lua | 2 -- 2 files changed, 1 insertion(+), 3 deletions(-) (limited to 'xmake/rules/c++/modules') 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 = {} -- cgit v1.3.1