summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/modules_support
diff options
context:
space:
mode:
authorArthur LAURENT <[email protected]>2024-01-31 14:10:59 +0100
committerArthur LAURENT <[email protected]>2024-01-31 14:10:59 +0100
commit2465d8a3b74f368ead2e7300e1eccc735125e5b4 (patch)
tree85628f1cf3dc960a7c31ec78fb0503fc6aa95f51 /xmake/rules/c++/modules/modules_support
parenta5fb58f0db2bea436f89df71b8b4b3b14af6d5b9 (diff)
use table.orderpair to ensure dependency order stay the same
Diffstat (limited to 'xmake/rules/c++/modules/modules_support')
-rw-r--r--xmake/rules/c++/modules/modules_support/clang/builder.lua3
-rw-r--r--xmake/rules/c++/modules/modules_support/msvc/builder.lua2
2 files changed, 2 insertions, 3 deletions
diff --git a/xmake/rules/c++/modules/modules_support/clang/builder.lua b/xmake/rules/c++/modules/modules_support/clang/builder.lua
index a7e358d28..b090d9af6 100644
--- a/xmake/rules/c++/modules/modules_support/clang/builder.lua
+++ b/xmake/rules/c++/modules/modules_support/clang/builder.lua
@@ -101,7 +101,6 @@ end
-- do compile for batchcmds
-- @note we need to use batchcmds:compilev to translate paths in compflags for generator, e.g. -Ixx
function _batchcmds_compile(batchcmds, target, flags, sourcefile)
-
local compinst = target:compiler("cxx")
local compflags = compinst:compflags({sourcefile = sourcefile, target = target})
batchcmds:compilev(table.join(compflags or {}, flags), {compiler = compinst, sourcekind = "cxx"})
@@ -129,7 +128,7 @@ function _get_requiresflags(target, module, opt)
if not requiresflags or (opt and opt.regenerate) then
requiresflags = {}
- for required, _ in pairs(module.requires) do
+ for required, _ in table.orderpairs(module.requires) do
local dep_module = get_from_target_mapper(target, required)
assert(dep_module, "module dependency %s required for %s not found", required, name)
diff --git a/xmake/rules/c++/modules/modules_support/msvc/builder.lua b/xmake/rules/c++/modules/modules_support/msvc/builder.lua
index 13e40830d..7fc25a0a0 100644
--- a/xmake/rules/c++/modules/modules_support/msvc/builder.lua
+++ b/xmake/rules/c++/modules/modules_support/msvc/builder.lua
@@ -118,7 +118,7 @@ function _get_requiresflags(target, module, opt)
or compiler_support.localcache():get2(cachekey, "requiresflags")
if not requiresflags or (opt and opt.regenerate) then
local deps_flags = {}
- for required, _ in pairs(module.requires) do
+ for required, _ in table.orderpairs(module.requires) do
local dep_module = get_from_target_mapper(target, required)
assert(dep_module, "module dependency %s required for %s not found <%s>", required, name, target:name())