summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2022-12-28 00:20:27 +0800
committerruki <[email protected]>2022-12-28 00:20:27 +0800
commit081dd1de9439e2bf71ab1a1afffac3cb9a1049e1 (patch)
treee8d36489d6ede3c85665f701a6b09e97276e1f7f
parent2db2785a79ea04e5b8e63159f4e258d1a3d6412d (diff)
fix rust package name
-rw-r--r--xmake/modules/package/manager/cargo/find_package.lua14
1 files 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