diff options
| author | SirLynix <[email protected]> | 2025-05-07 19:14:13 +0200 |
|---|---|---|
| committer | SirLynix <[email protected]> | 2025-05-07 19:14:13 +0200 |
| commit | c05d4bf0adc8a4d8a320b960d6383832775f13de (patch) | |
| tree | 340317b895100a0a8ac67cada55c03d04118ba7d /xmake/modules/package/manager/cargo/install_package.lua | |
| parent | 7301a531f1581e5b22897c13c66d2704c493dbd9 (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.lua | 6 |
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") |
