Skip to content

Commit 867cac2

Browse files
authored
Merge pull request #7041 from xmake-io/passdeps
fix passconfs
2 parents c81d274 + a0ce234 commit 867cac2

File tree

1 file changed

+31
-2
lines changed

1 file changed

+31
-2
lines changed

xmake/modules/package/tools/xmake.lua

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -445,11 +445,40 @@ function _get_package_depconfs_envs(envs, package, opt)
445445
local requireconfs = {}
446446
for _, dep in ipairs(package:librarydeps()) do
447447
local requireinfo = dep:requireinfo()
448-
if requireinfo and (requireinfo.override or (requireinfo.configs and not table.empty(requireinfo.configs))) then
448+
-- {
449+
-- requirekey = "imgui#8b6c4fbd",
450+
-- originstr = "imgui",
451+
-- configs = { },
452+
-- resolvedinfo = {
453+
-- version = "v1.91.1",
454+
-- configs = { }
455+
-- },
456+
-- version = "v1.91.1"
457+
--}
458+
local passed_requireinfo
459+
if requireinfo then
460+
local resolvedinfo = requireinfo.resolvedinfo
461+
if resolvedinfo then
462+
requireinfo = resolvedinfo
463+
end
464+
end
465+
if requireinfo then
466+
if requireinfo.version and requireinfo.version ~= "latest" then
467+
passed_requireinfo = passed_requireinfo or {}
468+
passed_requireinfo.version = requireinfo.version
469+
passed_requireinfo.override = true
470+
end
471+
if requireinfo.configs and not table.empty(requireinfo.configs) then
472+
passed_requireinfo = passed_requireinfo or {}
473+
passed_requireinfo.configs = requireinfo.configs
474+
passed_requireinfo.override = true
475+
end
476+
end
477+
if passed_requireinfo then
449478
local requirepaths = {}
450479
_get_package_requirepaths(requirepaths, package, dep, {})
451480
if #requirepaths > 0 then
452-
table.insert(requireconfs, {requirepaths = requirepaths, requireinfo = requireinfo})
481+
table.insert(requireconfs, {requirepaths = requirepaths, requireinfo = passed_requireinfo})
453482
end
454483
end
455484
end

0 commit comments

Comments
 (0)