summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/xmake.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/rules/c++/modules/xmake.lua')
-rw-r--r--xmake/rules/c++/modules/xmake.lua20
1 files changed, 4 insertions, 16 deletions
diff --git a/xmake/rules/c++/modules/xmake.lua b/xmake/rules/c++/modules/xmake.lua
index fcfcc18df..d3dac2b69 100644
--- a/xmake/rules/c++/modules/xmake.lua
+++ b/xmake/rules/c++/modules/xmake.lua
@@ -52,23 +52,11 @@ rule("c++.build.modules")
-- build dependencies
rule("c++.build.modules.dependencies")
before_buildcmd(function(target, batchcmds, opt)
- if not target:data("cxx.has_modules") then
- return
+ if target:data("cxx.has_modules") then
+ import("modules_support.common")
+ local modules = common.generate_dependencies(target, opt)
+ target:data_set("cxx.modules", modules)
end
-
- -- patch sourcebatch
- import("modules_support.common")
- local sourcebatch = target:sourcebatches()["c++.build.modules.builder"]
- common.patch_sourcebatch(target, sourcebatch)
-
- -- generate dependencies
- local modules_support = common.modules_support(target)
- modules_support.generate_dependencies(target, sourcebatch, opt)
-
- -- load and parse module dependencies
- local moduleinfos = common.load_moduleinfos(target, sourcebatch)
- local modules = common.parse_dependency_data(target, moduleinfos)
- target:data_set("cxx.modules", modules)
end)
-- build modules