summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2025-11-20 22:33:05 +0800
committerruki <[email protected]>2025-11-20 22:33:05 +0800
commita0ce2348dded9dfc0c6541f22b0ba22b8912a3ce (patch)
tree23948e9fa26721cedb9cd1fef6894e4b1bdfeb18
parent660450b6adb49c5a8b792a0c844a414d0a1b7379 (diff)
fix passconfs
-rw-r--r--xmake/modules/package/tools/xmake.lua33
1 files changed, 31 insertions, 2 deletions
diff --git a/xmake/modules/package/tools/xmake.lua b/xmake/modules/package/tools/xmake.lua
index e7b3a47f3..4ff3c6239 100644
--- a/xmake/modules/package/tools/xmake.lua
+++ b/xmake/modules/package/tools/xmake.lua
@@ -445,11 +445,40 @@ function _get_package_depconfs_envs(envs, package, opt)
local requireconfs = {}
for _, dep in ipairs(package:librarydeps()) do
local requireinfo = dep:requireinfo()
- if requireinfo and (requireinfo.override or (requireinfo.configs and not table.empty(requireinfo.configs))) then
+ -- {
+ -- requirekey = "imgui#8b6c4fbd",
+ -- originstr = "imgui",
+ -- configs = { },
+ -- resolvedinfo = {
+ -- version = "v1.91.1",
+ -- configs = { }
+ -- },
+ -- version = "v1.91.1"
+ --}
+ local passed_requireinfo
+ if requireinfo then
+ local resolvedinfo = requireinfo.resolvedinfo
+ if resolvedinfo then
+ requireinfo = resolvedinfo
+ end
+ end
+ if requireinfo then
+ if requireinfo.version and requireinfo.version ~= "latest" then
+ passed_requireinfo = passed_requireinfo or {}
+ passed_requireinfo.version = requireinfo.version
+ passed_requireinfo.override = true
+ end
+ if requireinfo.configs and not table.empty(requireinfo.configs) then
+ passed_requireinfo = passed_requireinfo or {}
+ passed_requireinfo.configs = requireinfo.configs
+ passed_requireinfo.override = true
+ end
+ end
+ if passed_requireinfo then
local requirepaths = {}
_get_package_requirepaths(requirepaths, package, dep, {})
if #requirepaths > 0 then
- table.insert(requireconfs, {requirepaths = requirepaths, requireinfo = requireinfo})
+ table.insert(requireconfs, {requirepaths = requirepaths, requireinfo = passed_requireinfo})
end
end
end