Add a way to explicitly specify RC toolkit path (#18402)
Closes #18393 Release Notes: - Added a `ZED_RC_TOOLKIT_PATH` env variable so `winresource` crate can fetch the RC executable path correctly on some configurations
This commit is contained in:
parent
707ccb04d2
commit
57ad5778fa
2 changed files with 34 additions and 0 deletions
|
@ -56,6 +56,13 @@ fn main() {
|
||||||
println!("cargo:rerun-if-changed={}", icon.display());
|
println!("cargo:rerun-if-changed={}", icon.display());
|
||||||
|
|
||||||
let mut res = winresource::WindowsResource::new();
|
let mut res = winresource::WindowsResource::new();
|
||||||
|
|
||||||
|
// Depending on the security applied to the computer, winresource might fail
|
||||||
|
// fetching the RC path. Therefore, we add a way to explicitly specify the
|
||||||
|
// toolkit path, allowing winresource to use a valid RC path.
|
||||||
|
if let Some(explicit_rc_toolkit_path) = std::env::var("ZED_RC_TOOLKIT_PATH").ok() {
|
||||||
|
res.set_toolkit_path(explicit_rc_toolkit_path.as_str());
|
||||||
|
}
|
||||||
res.set_icon(icon.to_str().unwrap());
|
res.set_icon(icon.to_str().unwrap());
|
||||||
res.set("FileDescription", "Zed");
|
res.set("FileDescription", "Zed");
|
||||||
res.set("ProductName", "Zed");
|
res.set("ProductName", "Zed");
|
||||||
|
|
|
@ -93,3 +93,30 @@ This error can happen if you are using the "rust-lld.exe" linker. Consider tryin
|
||||||
If you are using a global config, consider moving the Zed repository to a nested directory and add a `.cargo/config.toml` with a custom linker config in the parent directory.
|
If you are using a global config, consider moving the Zed repository to a nested directory and add a `.cargo/config.toml` with a custom linker config in the parent directory.
|
||||||
|
|
||||||
See this issue for more information [#12041](https://github.com/zed-industries/zed/issues/12041)
|
See this issue for more information [#12041](https://github.com/zed-industries/zed/issues/12041)
|
||||||
|
|
||||||
|
### Invalid RC path selected
|
||||||
|
|
||||||
|
Sometimes, depending on the security rules applied to your laptop, you may get the following error while compiling Zed:
|
||||||
|
|
||||||
|
```
|
||||||
|
error: failed to run custom build command for `zed(C:\Users\USER\src\zed\crates\zed)`
|
||||||
|
|
||||||
|
Caused by:
|
||||||
|
process didn't exit successfully: `C:\Users\USER\src\zed\target\debug\build\zed-b24f1e9300107efc\build-script-build` (exit code: 1)
|
||||||
|
--- stdout
|
||||||
|
cargo:rerun-if-changed=../../.git/logs/HEAD
|
||||||
|
cargo:rustc-env=ZED_COMMIT_SHA=25e2e9c6727ba9b77415588cfa11fd969612adb7
|
||||||
|
cargo:rustc-link-arg=/stack:8388608
|
||||||
|
cargo:rerun-if-changed=resources/windows/app-icon.ico
|
||||||
|
package.metadata.winresource does not exist
|
||||||
|
Selected RC path: 'bin\x64\rc.exe'
|
||||||
|
|
||||||
|
--- stderr
|
||||||
|
The system cannot find the path specified. (os error 3)
|
||||||
|
warning: build failed, waiting for other jobs to finish...
|
||||||
|
```
|
||||||
|
|
||||||
|
In order to fix this issue, you can manually set the `ZED_RC_TOOLKIT_PATH` environment variable to the RC toolkit path. Usually, you can set it to:
|
||||||
|
`C:\Program Files (x86)\Windows Kits\10\bin\<SDK_version>\x64`.
|
||||||
|
|
||||||
|
See this [issue](https://github.com/zed-industries/zed/issues/18393) for more information.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue