diff options
| author | ruki <[email protected]> | 2022-12-28 00:20:27 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2022-12-28 00:20:27 +0800 |
| commit | 081dd1de9439e2bf71ab1a1afffac3cb9a1049e1 (patch) | |
| tree | e8d36489d6ede3c85665f701a6b09e97276e1f7f | |
| parent | 2db2785a79ea04e5b8e63159f4e258d1a3d6412d (diff) | |
fix rust package name
| -rw-r--r-- | xmake/modules/package/manager/cargo/find_package.lua | 14 |
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 |
