From 081dd1de9439e2bf71ab1a1afffac3cb9a1049e1 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 28 Dec 2022 00:20:27 +0800 Subject: fix rust package name --- xmake/modules/package/manager/cargo/find_package.lua | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/xmake/modules/package/manager/cargo/find_package.lua b/xmake/modules/package/manager/cargo/find_package.lua index 68fc60445..d53268333 100644 --- a/xmake/modules/package/manager/cargo/find_package.lua +++ b/xmake/modules/package/manager/cargo/find_package.lua @@ -27,6 +27,15 @@ import("core.project.target") import("lib.detect.find_tool") import("lib.detect.find_file") +-- get rust library name +-- +-- e.g. +-- sdl2 -> libsdl2 +-- obj-rs -> libobj +function _get_libname(name) + return "lib" .. name:split("%-")[1] +end + -- get the name set of libraries function _get_names_of_libraries(name, configs) local names = hashset.new() @@ -43,7 +52,7 @@ function _get_names_of_libraries(name, configs) if splitinfo and #splitinfo > 1 then name = splitinfo[1]:trim() if #name > 0 then - names:insert("lib" .. name:gsub("-", "_")) + names:insert(_get_libname(name)) end end else @@ -53,8 +62,7 @@ function _get_names_of_libraries(name, configs) end cargo_file:close() else - -- rust packages like actix-web will produce a file named actix_web-<...> - names:insert("lib" .. name:gsub("-", "_")) + names:insert(_get_libname(name)) end return names end -- cgit v1.3.1