summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/xmake.lua
diff options
context:
space:
mode:
authorruki <[email protected]>2021-10-15 22:56:04 +0800
committerruki <[email protected]>2021-10-15 22:56:04 +0800
commit031626f8266e7bcced4d0f1f8f7a7cc5c45ba00a (patch)
tree67273fb662a15bf6913d3b280136f6bff55baa7d /xmake/rules/c++/modules/xmake.lua
parent4db6d4b4eab1d11a93cd48778c9dc19699d605ce (diff)
add generate moduledeps stub
Diffstat (limited to 'xmake/rules/c++/modules/xmake.lua')
-rw-r--r--xmake/rules/c++/modules/xmake.lua9
1 files changed, 9 insertions, 0 deletions
diff --git a/xmake/rules/c++/modules/xmake.lua b/xmake/rules/c++/modules/xmake.lua
index 53a7899d0..0e1e99d5d 100644
--- a/xmake/rules/c++/modules/xmake.lua
+++ b/xmake/rules/c++/modules/xmake.lua
@@ -21,6 +21,15 @@
-- define rule: c++.build.modules
rule("c++.build.modules")
set_extensions(".mpp", ".mxx", ".cppm", ".ixx")
+ before_build(function (target, opt)
+ local sourcebatches = target:sourcebatches()
+ if sourcebatches then
+ local sourcebatch = sourcebatches["c++.build.modules"]
+ if sourcebatch then
+ import("moduledeps").generate(target, sourcebatch, opt)
+ end
+ end
+ end)
before_build_files(function (target, batchjobs, sourcebatch, opt)
-- we disable to build across targets in parallel, because the source files may depend on other target modules
-- @note we cannot set it in on_load, because it will affect all c++ projects