summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/modules_support/builder.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2024-04-09 00:58:29 +0800
committerruki <[email protected]>2024-04-09 00:58:29 +0800
commit81f04b64d69772851c0b781c52a7f307a4be03b9 (patch)
treeee938740ead57b843d2ab347016496a46687fa62 /xmake/rules/c++/modules/modules_support/builder.lua
parent4cec4f287fbd9c2aae38ac4b08bdb86ba482ef15 (diff)
fix modules
Diffstat (limited to 'xmake/rules/c++/modules/modules_support/builder.lua')
-rw-r--r--xmake/rules/c++/modules/modules_support/builder.lua16
1 files changed, 11 insertions, 5 deletions
diff --git a/xmake/rules/c++/modules/modules_support/builder.lua b/xmake/rules/c++/modules/modules_support/builder.lua
index af79e8046..f651e2b69 100644
--- a/xmake/rules/c++/modules/modules_support/builder.lua
+++ b/xmake/rules/c++/modules/modules_support/builder.lua
@@ -263,12 +263,18 @@ function build_modules_for_batchjobs(target, batchjobs, sourcebatch, modules, op
opt.rootjob = batchjobs:group_leave() or opt.rootjob
batchjobs:group_enter(target:name() .. "/build_modules", {rootjob = opt.rootjob})
- batchjobs:addjob(target:name() .. "_populate_module_map", function(_, _)
- _try_reuse_modules(target, modules)
- _builder(target).populate_module_map(target, modules)
- end, {rootjob = opt.rootjob})
-
+ -- add populate module job
local modulesjobs = {}
+ local populate_jobname = target:name() .. "_populate_module_map"
+ modulesjobs[populate_jobname] = {
+ name = populate_jobname,
+ job = batchjobs:newjob(populate_jobname, function(_, _)
+ _try_reuse_modules(target, modules)
+ _builder(target).populate_module_map(target, modules)
+ end)
+ }
+
+ -- add module jobs
_build_modules(target, sourcebatch, modules, table.join(opt, {
build_module = function(deps, module, name, objectfile, cppfile)
local job_name = name and target:name() .. name or cppfile