summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-08-05 00:57:34 +0800
committerruki <[email protected]>2022-08-05 00:57:34 +0800
commitafade6b03c87a2534a01cf9e9ed9763e97208e34 (patch)
tree1023562f55f4852df1dddeeae8973ff02c39c83e
parent65a9b356196552f35a1414691a3f328cc3152bff (diff)
update dep flags
-rw-r--r--xmake/rules/c++/modules/modules_support/clang.lua8
-rw-r--r--xmake/rules/c++/modules/modules_support/msvc.lua5
2 files changed, 8 insertions, 5 deletions
diff --git a/xmake/rules/c++/modules/modules_support/clang.lua b/xmake/rules/c++/modules/modules_support/clang.lua
index 00434ef81..7d841a2be 100644
--- a/xmake/rules/c++/modules/modules_support/clang.lua
+++ b/xmake/rules/c++/modules/modules_support/clang.lua
@@ -208,12 +208,12 @@ function build_modules(target, batchcmds, objectfiles, modules, opt)
local modulefileflag = get_modulefileflag(target)
-- append deps modules
- local flags = {}
for _, dep in ipairs(target:orderdeps()) do
- table.join2(flags, dep:data("cxx.modules.flags"))
+ local flags = dep:data("cxx.modules.flags")
+ if flags then
+ target:add("cxxflags", flags, {force = true, expand = false})
+ end
end
- flags = table.unique(flags)
- target:add("cxxflags", flags, {force = true, expand = false})
local common_args = {modulecachepathflag .. cachedir}
for _, objectfile in ipairs(objectfiles) do
diff --git a/xmake/rules/c++/modules/modules_support/msvc.lua b/xmake/rules/c++/modules/modules_support/msvc.lua
index 02c48524f..c2351371f 100644
--- a/xmake/rules/c++/modules/modules_support/msvc.lua
+++ b/xmake/rules/c++/modules/modules_support/msvc.lua
@@ -196,7 +196,10 @@ function build_modules(target, batchcmds, objectfiles, modules, opt)
-- append deps modules
for _, dep in ipairs(target:orderdeps()) do
- target:add("cxxflags", dep:data("cxx.modules.flags"), {force = true, expand = false})
+ local flags = dep:data("cxx.modules.flags")
+ if flags then
+ target:add("cxxflags", flags, {force = true, expand = false})
+ end
end
-- compile module files to bmi files