summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/modules_support
diff options
context:
space:
mode:
authorruki <[email protected]>2022-08-06 00:49:37 +0800
committerruki <[email protected]>2022-08-06 00:49:37 +0800
commit11c04bf269dba07285bbbc50dee6fa13cdc15f8d (patch)
tree901f34aae756ed3e8c60697ef438a84042f6bf9a /xmake/rules/c++/modules/modules_support
parentbee2b91e6e7171c5034f2beef7bb6d0f1af247d8 (diff)
wrap generate headerunits
Diffstat (limited to 'xmake/rules/c++/modules/modules_support')
-rw-r--r--xmake/rules/c++/modules/modules_support/common.lua30
1 files changed, 21 insertions, 9 deletions
diff --git a/xmake/rules/c++/modules/modules_support/common.lua b/xmake/rules/c++/modules/modules_support/common.lua
index 2cba5fe89..b5a49e680 100644
--- a/xmake/rules/c++/modules/modules_support/common.lua
+++ b/xmake/rules/c++/modules/modules_support/common.lua
@@ -406,16 +406,28 @@ function fallback_generate_dependencies(target, jsonfile, sourcefile)
end
-- generate dependencies
-function generate_dependencies(target, opt)
-
- -- get sourcebatch
- local sourcebatch = target:sourcebatches()["c++.build.modules.builder"]
- patch_sourcebatch(target, sourcebatch)
-
- -- generate dependencies
+function generate_dependencies(target, sourcebatch, opt)
modules_support(target).generate_dependencies(target, sourcebatch, opt)
-
- -- load and parse module dependencies
local moduleinfos = load_moduleinfos(target, sourcebatch)
return parse_dependency_data(target, moduleinfos)
end
+
+-- generate headerunits
+function generate_headerunits(target, batchcmds, sourcebatch, opt)
+
+ -- get headerunits info
+ local headerunits, stl_headerunits = get_headerunits(target, sourcebatch)
+
+ -- generate headerunits
+ local headerunits_flags
+ -- build stl header units as other headerunits may need them
+ if stl_headerunits then
+ headerunits_flags = headerunits_flags or {}
+ table.join2(headerunits_flags, modules_support(target).generate_stl_headerunits(target, batchcmds, stl_headerunits, opt))
+ end
+ if headerunits then
+ headerunits_flags = headerunits_flags or {}
+ table.join2(headerunits_flags, modules_support(target).generate_user_headerunits(target, batchcmds, headerunits, opt))
+ end
+ return headerunits_flags
+end