summaryrefslogtreecommitdiff
path: root/xmake/modules/package/manager/cargo/install_package.lua
diff options
context:
space:
mode:
authorSirLynix <[email protected]>2025-05-07 19:14:13 +0200
committerSirLynix <[email protected]>2025-05-07 19:14:13 +0200
commitc05d4bf0adc8a4d8a320b960d6383832775f13de (patch)
tree340317b895100a0a8ac67cada55c03d04118ba7d /xmake/modules/package/manager/cargo/install_package.lua
parent7301a531f1581e5b22897c13c66d2704c493dbd9 (diff)
cargo: fix package cross-compilation
Diffstat (limited to 'xmake/modules/package/manager/cargo/install_package.lua')
-rw-r--r--xmake/modules/package/manager/cargo/install_package.lua6
1 files changed, 5 insertions, 1 deletions
diff --git a/xmake/modules/package/manager/cargo/install_package.lua b/xmake/modules/package/manager/cargo/install_package.lua
index d6e8048a2..9f5d069cb 100644
--- a/xmake/modules/package/manager/cargo/install_package.lua
+++ b/xmake/modules/package/manager/cargo/install_package.lua
@@ -23,6 +23,7 @@ import("core.base.option")
import("core.project.config")
import("lib.detect.find_tool")
import("private.tools.rust.check_target")
+import("private.tools.rust.target_triple")
-- translate local path in dependencies
-- @see https://github.com/xmake-io/xmake/issues/4222
@@ -78,7 +79,10 @@ function main(name, opt)
-- get target
-- e.g. x86_64-pc-windows-msvc, aarch64-unknown-none
-- @see https://github.com/xmake-io/xmake/issues/4049
- local target = check_target(opt.arch, true) and opt.arch or nil
+ local target = #opt.arch:split("%-") >= 2 and check_target(opt.arch, true) and opt.arch
+ if not target then
+ target = target_triple(opt.plat, opt.arch)
+ end
-- generate Cargo.toml
local sourcedir = path.join(opt.cachedir, "source")