From 2465d8a3b74f368ead2e7300e1eccc735125e5b4 Mon Sep 17 00:00:00 2001 From: Arthur LAURENT Date: Wed, 31 Jan 2024 14:10:59 +0100 Subject: use table.orderpair to ensure dependency order stay the same --- xmake/rules/c++/modules/modules_support/clang/builder.lua | 3 +-- xmake/rules/c++/modules/modules_support/msvc/builder.lua | 2 +- 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()) -- cgit v1.3.1