rust-lang / crates-build-env

Build environment for third-party Rust crates
MIT License
71 stars 92 forks source link

Export environment from `vcvars64.bat` #17

Closed ecstatic-morse closed 4 years ago

ecstatic-morse commented 5 years ago

Resolves #13.

Some build scripts want to have the compiler and/or linker on the PATH (such as blt.mond). On Windows, this is usually achieved by running a Visual Studio cmd shell which sets the appropriate environment. However, I didn't see a simple way to do this in the Dockerfile for powershell (there's no equivalent to source in bash). Instead, we use a variant of a hack described on Stack Overflow.

Note the call to [Environment]::SetEnvironmentVariable. Simply setting variables in $env: will not persist beyond a single RUN command.