From 2bf33a0925af585eac7b50f76a31d620073d8b1f Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 17 Jan 2025 00:47:34 +0800 Subject: [PATCH] fix nuget links #6082 --- .../package/manager/nuget/find_package.lua | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/xmake/modules/package/manager/nuget/find_package.lua b/xmake/modules/package/manager/nuget/find_package.lua index 5521f0bec1..9f8817dc74 100644 --- a/xmake/modules/package/manager/nuget/find_package.lua +++ b/xmake/modules/package/manager/nuget/find_package.lua @@ -89,14 +89,18 @@ function _find_package(name, result, opt) -- get linkdirs and links if file:endswith(".lib") then - local libfile = path.unix(path.join(libdir, libarch, toolset, libmode, runtime)) - if file:startswith(libfile .. "/") then - result.links = result.links or {} - result.linkdirs = result.linkdirs or {} - result.libfiles = result.libfiles or {} - table.insert(result.linkdirs, path.directory(filepath)) - table.insert(result.links, target.linkname(path.filename(filepath), {plat = plat})) - table.insert(result.libfiles, filepath) + local searchdirs = {} + table.insert(searchdirs, path.unix(path.join(libdir, libarch, toolset, libmode, runtime))) + table.insert(searchdirs, path.unix(path.join(libdir, libarch))) + for _, searchdir in ipairs(searchdirs) do + if file:startswith(searchdir .. "/") then + result.links = result.links or {} + result.linkdirs = result.linkdirs or {} + result.libfiles = result.libfiles or {} + table.insert(result.linkdirs, path.directory(filepath)) + table.insert(result.links, target.linkname(path.filename(filepath), {plat = plat})) + table.insert(result.libfiles, filepath) + end end end end