diff options
Diffstat (limited to 'xmake/rules/c++/modules')
| -rw-r--r-- | xmake/rules/c++/modules/modules_support/clang.lua | 8 | ||||
| -rw-r--r-- | xmake/rules/c++/modules/modules_support/msvc.lua | 5 |
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 |
