summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2024-01-03 23:47:53 +0800
committerGitHub <[email protected]>2024-01-03 23:47:53 +0800
commit76f21280af93d9826fb2ec43bf19df16cfd7f29e (patch)
treeb5a81686d28153399322be60632aa31b66616915
parent817dbbb9766ec2dc22665346dccd624db27b3645 (diff)
parent1208a32b30687ede7acacc129d1b2019aae5eaed (diff)
Merge pull request #4562 from xmake-io/packagedeps
fix package deps #4522
-rw-r--r--xmake/modules/private/action/require/impl/package.lua16
1 files changed, 9 insertions, 7 deletions
diff --git a/xmake/modules/private/action/require/impl/package.lua b/xmake/modules/private/action/require/impl/package.lua
index a06698a02..8bbeeee45 100644
--- a/xmake/modules/private/action/require/impl/package.lua
+++ b/xmake/modules/private/action/require/impl/package.lua
@@ -951,24 +951,26 @@ function _load_packages(requires, opt)
if package:get("deps") and opt.nodeps ~= true then
-- load dependent packages and do not load system/3rd packages for package/deps()
- local packagedeps = {}
- local deps, plaindeps = _load_packages(package:get("deps"), {requirepath = requirepath,
+ local _, plaindeps = _load_packages(package:get("deps"), {requirepath = requirepath,
requires_extra = package:extraconf("deps") or {},
parentinfo = requireinfo,
nodeps = opt.nodeps,
system = false})
- for _, dep in ipairs(deps) do
- table.insert(packages, dep)
- packagedeps[dep:name()] = dep
- end
for _, dep in ipairs(plaindeps) do
dep:parents_add(package)
end
- package._DEPS = packagedeps
package._PLAINDEPS = plaindeps
package._ORDERDEPS = table.unique(_sort_packagedeps(package))
package._LIBRARYDEPS = table.reverse_unique(_sort_librarydeps(package))
package._LIBRARYDEPS_WITH_PRIVATE = table.reverse_unique(_sort_librarydeps(package, {private = true}))
+ -- we always need load dependences everytime
+ -- @see https://github.com/xmake-io/xmake/issues/4522
+ local packagedeps = {}
+ for _, dep in ipairs(package._ORDERDEPS) do
+ table.insert(packages, dep)
+ packagedeps[dep:name()] = dep
+ end
+ package._DEPS = packagedeps
end
end