summaryrefslogtreecommitdiff
path: root/xmake/rules/c++/modules/build_modules/module_parser.lua
diff options
context:
space:
mode:
Diffstat (limited to 'xmake/rules/c++/modules/build_modules/module_parser.lua')
-rw-r--r--xmake/rules/c++/modules/build_modules/module_parser.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/xmake/rules/c++/modules/build_modules/module_parser.lua b/xmake/rules/c++/modules/build_modules/module_parser.lua
index 5319d5b46..91a09aadb 100644
--- a/xmake/rules/c++/modules/build_modules/module_parser.lua
+++ b/xmake/rules/c++/modules/build_modules/module_parser.lua
@@ -81,7 +81,10 @@ function _build_batchjobs_with_deps(moduledeps, batchjobs, rootjob, jobrefs, mod
if modulejob then
jobrefs[moduleinfo.name] = modulejob
for _, depname in ipairs(moduleinfo.deps) do
- _build_batchjobs_with_deps(moduledeps, batchjobs, modulejob, jobrefs, moduledeps[depname])
+ local dep = moduledeps[depname]
+ if dep then -- maybe nil, e.g. `import <string>;`
+ _build_batchjobs_with_deps(moduledeps, batchjobs, modulejob, jobrefs, dep)
+ end
end
end
end