diff options
| author | ruki <[email protected]> | 2025-11-20 22:33:05 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2025-11-20 22:33:05 +0800 |
| commit | a0ce2348dded9dfc0c6541f22b0ba22b8912a3ce (patch) | |
| tree | 23948e9fa26721cedb9cd1fef6894e4b1bdfeb18 | |
| parent | 660450b6adb49c5a8b792a0c844a414d0a1b7379 (diff) | |
fix passconfs
| -rw-r--r-- | xmake/modules/package/tools/xmake.lua | 33 |
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 |
