summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xmake/modules/private/action/require/impl/package.lua6
1 files changed, 4 insertions, 2 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua
index 2708e2d91..0061034df 100644
--- a/xmake/modules/private/action/require/impl/package.lua
+++ b/xmake/modules/private/action/require/impl/package.lua
@@ -710,8 +710,10 @@ function _load_package(packagename, requireinfo, opt)
opt = opt or {}
if opt.requirepath then
local splitinfo = opt.requirepath:split(".", {plain = true})
- if #splitinfo > 1 and splitinfo[1] == splitinfo[#splitinfo] then
- raise("circular dependency(%s) detected in package(%s)!", opt.requirepath, packagename)
+ if #splitinfo > 3 and
+ splitinfo[1] == splitinfo[#splitinfo - 1] and
+ splitinfo[2] == splitinfo[#splitinfo] then
+ raise("circular dependency(%s) detected in package(%s)!", opt.requirepath, splitinfo[1])
end
end