diff options
Diffstat (limited to 'xmake/rules/c++/modules/xmake.lua')
| -rw-r--r-- | xmake/rules/c++/modules/xmake.lua | 9 |
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 |
