From 2b4eb00bd19e6fdc60a50683392f66ddb34c0f6b Mon Sep 17 00:00:00 2001 From: Sergio Gasquez Arcos Date: Mon, 13 Mar 2023 09:04:13 +0100 Subject: [PATCH] Prepend PATH (#202) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * refactor: ♻️ Prepend variables in PATH * fix: 🐛 Fix Windows compilation --- src/toolchain/gcc.rs | 7 +++++-- src/toolchain/llvm.rs | 7 +++++-- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/toolchain/gcc.rs b/src/toolchain/gcc.rs index c80a555..c1cca10 100644 --- a/src/toolchain/gcc.rs +++ b/src/toolchain/gcc.rs @@ -115,10 +115,13 @@ impl Installable for Gcc { #[cfg(windows)] if cfg!(windows) { - exports.push(format!("$Env:PATH += \";{}\"", &self.get_bin_path())); + exports.push(format!( + "$Env:PATH = \"{};\" + $Env:PATH", + &self.get_bin_path() + )); std::env::set_var( "PATH", - std::env::var("PATH").unwrap() + ";" + &self.get_bin_path().replace('/', "\\"), + self.get_bin_path().replace('/', "\\") + ";" + &std::env::var("PATH").unwrap(), ); } #[cfg(unix)] diff --git a/src/toolchain/llvm.rs b/src/toolchain/llvm.rs index 5e093eb..a54281d 100644 --- a/src/toolchain/llvm.rs +++ b/src/toolchain/llvm.rs @@ -153,7 +153,10 @@ impl Installable for Llvm { "$Env:LIBCLANG_PATH = \"{}/libclang.dll\"", self.get_lib_path() )); - exports.push(format!("$Env:PATH += \";{}\"", self.get_lib_path())); + exports.push(format!( + "$Env:PATH = \"{};\" + $Env:PATH", + self.get_lib_path() + )); Command::new("setx") .args([ "LIBCLANG_PATH", @@ -164,7 +167,7 @@ impl Installable for Llvm { .output()?; std::env::set_var( "PATH", - std::env::var("PATH").unwrap() + ";" + &self.get_lib_path().replace('/', "\\"), + self.get_lib_path().replace('/', "\\") + ";" + &std::env::var("PATH").unwrap(), ); } #[cfg(unix)]