mirror of
https://github.com/cargo-bins/cargo-binstall.git
synced 2025-04-21 13:08:42 +00:00
Merge pull request #199 from NobodyXu/fix-and-improve-windows-target-detection
This commit is contained in:
commit
f056978858
1 changed files with 9 additions and 6 deletions
|
@ -91,9 +91,7 @@ pub async fn detect_targets() -> Vec<String> {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(target_os = "windows")]
|
#[cfg(target_os = "windows")]
|
||||||
if v[0].contains("gnu") {
|
v.extend(windows::detect_alternative_targets(&v[0]));
|
||||||
v.push(v[0].replace("gnu", "msvc"));
|
|
||||||
}
|
|
||||||
|
|
||||||
v
|
v
|
||||||
} else {
|
} else {
|
||||||
|
@ -221,12 +219,17 @@ mod windows {
|
||||||
use super::TARGET;
|
use super::TARGET;
|
||||||
use guess_host_triple::guess_host_triple;
|
use guess_host_triple::guess_host_triple;
|
||||||
|
|
||||||
|
pub(super) fn detect_alternative_targets(target: &str) -> Option<String> {
|
||||||
|
let (prefix, abi) = target.rsplit_once('-').expect("Invalid target triple");
|
||||||
|
|
||||||
|
// detect abi in ["gnu", "gnullvm", ...]
|
||||||
|
(abi != "msvc").then(|| format!("{prefix}-msvc"))
|
||||||
|
}
|
||||||
|
|
||||||
pub(super) fn detect_targets_windows() -> Vec<String> {
|
pub(super) fn detect_targets_windows() -> Vec<String> {
|
||||||
let mut targets = vec![guess_host_triple().unwrap_or(TARGET).to_string()];
|
let mut targets = vec![guess_host_triple().unwrap_or(TARGET).to_string()];
|
||||||
|
|
||||||
if targets[0].contains("gnu") {
|
targets.extend(detect_alternative_targets(&targets[0]));
|
||||||
targets.push(targets[0].replace("gnu", "msvc"));
|
|
||||||
}
|
|
||||||
|
|
||||||
targets
|
targets
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue