374374-- patch sourcebatch
375375function _patch_sourcebatch (target , sourcebatch )
376376
377- local cachekey = target :fullname () .. " .patched_sourcebatch"
378-
379377 -- target deps modules
380378 local depsmodules = _get_targetdeps_modules (target ) or {}
381379
@@ -386,9 +384,8 @@ function _patch_sourcebatch(target, sourcebatch)
386384 local keys = # externalmodules > 0 and table.concat (table .orderkeys (externalmodules )) or " "
387385 local md5sum = hash .md5 (bytes (keys ))
388386 local localcache = support .localcache ()
389- local cached_patched_sourcebatch = localcache :get ( cachekey )
387+ local cached_patched_sourcebatch = localcache :get2 ( target : fullname (), " patched_sourcebatch " )
390388 if not cached_patched_sourcebatch or md5sum ~= cached_patched_sourcebatch .md5sum then
391- -- insert std package and deps modules, try to reused them if possible
392389 local reuse = target :policy (" build.c++.modules.reuse" ) or
393390 target :policy (" build.c++.modules.tryreuse" )
394391 local reused = {}
@@ -423,7 +420,7 @@ function _patch_sourcebatch(target, sourcebatch)
423420 local dependfile = _target :dependfile (sourcefile or objectfile )
424421 table.insert (sourcebatch .dependfiles , dependfile )
425422 end
426- localcache :set ( cachekey , {sourcefile = sourcebatch .sourcefiles , dependfiles = sourcebatch .dependfiles , reused = reused , md5sum = md5sum })
423+ localcache :set2 ( target : fullname (), " patched_sourcebatch " , {sourcefile = sourcebatch .sourcefiles , dependfiles = sourcebatch .dependfiles , reused = reused , md5sum = md5sum })
427424 else
428425 local reused = hashset .from (cached_patched_sourcebatch .reused )
429426 for sourcefile , fileconfig in pairs (externalmodules ) do
@@ -503,11 +500,11 @@ function _do_parse(target, sourcebatch)
503500 table.insert (cxx_sourcebatch .objectfiles , objectfile )
504501 end
505502 end
506- localcache :set2 (" c++.modules " , target :fullname () .. " . c++.build.sourcebatch" , cxx_sourcebatch )
503+ localcache :set2 (target :fullname (), " c++.build.sourcebatch" , cxx_sourcebatch )
507504 end
508505 else
509506 modules = get_modules (target )
510- local cxx_sourcebatch_cached = localcache :get2 (" c++.modules " , target :fullname () .. " . c++.build.sourcebatch" )
507+ local cxx_sourcebatch_cached = localcache :get2 (target :fullname (), " c++.build.sourcebatch" )
511508 if cxx_sourcebatch_cached then
512509 local cxx_sourcebatch = target :sourcebatches ()[" c++.build" ]
513510 cxx_sourcebatch .sourcefiles = cxx_sourcebatch_cached .sourcefiles
@@ -517,7 +514,7 @@ function _do_parse(target, sourcebatch)
517514 end
518515
519516 -- sort modules
520- sort_modules_by_dependencies (target , modules , { jobgraph = target : policy ( " build.jobgraph " )} )
517+ sort_modules_by_dependencies (target , modules )
521518 profiler .leave (target :fullname (), " c++ modules" , " scanner" , " parse module dependencies and compute dependency graph" )
522519
523520 -- save cache if all other target finished
0 commit comments