
crates/languages and extensions/gleam: handle different target envs (a new variant of os: `pc-windows-gnu`) crates/storybook: compile manifest for all windows targets (same as #9815) looks like fixes #9807, but there are still errors presented <details> ``` [2024-03-27T12:07:25+03:00 INFO Zed] ========== starting zed ========== [2024-03-27T12:07:26+03:00 INFO cosmic_text::font::system] Parsed 398 font faces in 60ms. [2024-03-27T12:07:26+03:00 INFO db] Opening main db [2024-03-27T12:07:26+03:00 ERROR util] crates\settings\src\settings_file.rs:76: EOF while parsing a value at line 1 column 0 [2024-03-27T12:07:26+03:00 ERROR util] crates\settings\src\keymap_file.rs:89: invalid binding value for keystroke escape, context Some("ChatPanel > MessageEditor") Caused by: no action type registered for chat_panel::CloseReplyPreview [2024-03-27T12:07:26+03:00 INFO gpui::platform::windows::platform] use DCompositionWaitForCompositorClock for vsync [2024-03-27T12:07:26+03:00 ERROR util] crates\zed\src\zed.rs:629: EOF while parsing a value at line 1 column 0 [2024-03-27T12:07:26+03:00 ERROR util] crates\zed\src/main.rs:720: Системе не удается найти указанный путь. (os error 3) [2024-03-27T12:07:26+03:00 INFO db] Opening main db [2024-03-27T12:07:26+03:00 INFO node_runtime] Node runtime install_if_needed [2024-03-27T12:07:26+03:00 ERROR util] crates\workspace\src/workspace.rs:912: Error in last_window, select_row_bound expected single row result but found none for: SELECT display, window_state, window_x, window_y, window_width, window_height, fullscreen FROM workspaces WHERE workspace_location IS NOT NULL ORDER BY timestamp DESC LIMIT 1 [2024-03-27T12:07:26+03:00 INFO blade_graphics::hal::init] Adapter "NVIDIA GeForce RTX 3050 Ti Laptop GPU" [2024-03-27T12:07:26+03:00 INFO blade_graphics::hal::init] Ray tracing is supported [2024-03-27T12:07:27+03:00 WARN blade_graphics::hal::init] Requested size 1x1 is outside of surface capabilities [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_impl") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_transformed") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_impl") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_transformed") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_impl") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_transformed") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_impl") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_transformed") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_impl") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_transformed") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_impl") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_transformed") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_impl") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_transformed") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_impl") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_device_position_transformed") [2024-03-27T12:07:27+03:00 INFO naga:🔙:spv::writer] Skip function Some("to_tile_position") [2024-03-27T12:07:27+03:00 INFO blade_graphics::hal::resource] Creating texture 0x2b2528fec20 of size 1024x1024x1 and format R8Unorm, name 'atlas', handle 0 [2024-03-27T12:07:27+03:00 INFO blade_graphics::hal::resource] Creating buffer 0x2b2524762a0 of size 65536, name 'chunk-0', handle 1 [2024-03-27T12:07:27+03:00 INFO blade_graphics::hal::resource] Creating buffer 0x2b252477ba0 of size 4096, name 'chunk-0', handle 2 [2024-03-27T12:07:27+03:00 INFO blade_graphics::hal::resource] Creating buffer 0x2b2524765c0 of size 9184, name 'chunk-1', handle 3 [2024-03-27T12:07:27+03:00 ERROR util] crates\copilot_ui\src\copilot_completion_provider.rs:207: copilot is still starting error: process didn't exit successfully: `target\release\Zed.exe` (exit code: 0xc0000005, STATUS_ACCESS_VIOLATION) fish: Job 1, 'RUST_BACKTRACE=full RUST_LOG=in…' terminated by signal SIGSEGV (Address boundary error) ``` </details> Release Notes: - N/A
70 lines
2.8 KiB
Rust
70 lines
2.8 KiB
Rust
use std::process::Command;
|
|
|
|
fn main() {
|
|
if cfg!(target_os = "macos") {
|
|
println!("cargo:rustc-env=MACOSX_DEPLOYMENT_TARGET=10.15.7");
|
|
|
|
println!("cargo:rerun-if-env-changed=ZED_BUNDLE");
|
|
if std::env::var("ZED_BUNDLE").ok().as_deref() == Some("true") {
|
|
// Find WebRTC.framework in the Frameworks folder when running as part of an application bundle.
|
|
println!("cargo:rustc-link-arg=-Wl,-rpath,@executable_path/../Frameworks");
|
|
} else {
|
|
// Find WebRTC.framework as a sibling of the executable when running outside of an application bundle.
|
|
println!("cargo:rustc-link-arg=-Wl,-rpath,@executable_path");
|
|
}
|
|
|
|
// Weakly link ReplayKit to ensure Zed can be used on macOS 10.15+.
|
|
println!("cargo:rustc-link-arg=-Wl,-weak_framework,ReplayKit");
|
|
|
|
// Seems to be required to enable Swift concurrency
|
|
println!("cargo:rustc-link-arg=-Wl,-rpath,/usr/lib/swift");
|
|
|
|
// Register exported Objective-C selectors, protocols, etc
|
|
println!("cargo:rustc-link-arg=-Wl,-ObjC");
|
|
}
|
|
|
|
// Populate git sha environment variable if git is available
|
|
println!("cargo:rerun-if-changed=../../.git/logs/HEAD");
|
|
if let Ok(output) = Command::new("git").args(["rev-parse", "HEAD"]).output() {
|
|
if output.status.success() {
|
|
let git_sha = String::from_utf8_lossy(&output.stdout);
|
|
let git_sha = git_sha.trim();
|
|
|
|
println!("cargo:rustc-env=ZED_COMMIT_SHA={git_sha}");
|
|
|
|
if let Ok(build_profile) = std::env::var("PROFILE") {
|
|
if build_profile == "release" {
|
|
// This is currently the best way to make `cargo build ...`'s build script
|
|
// to print something to stdout without extra verbosity.
|
|
println!(
|
|
"cargo:warning=Info: using '{git_sha}' hash for ZED_COMMIT_SHA env var"
|
|
);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#[cfg(target_os = "windows")]
|
|
{
|
|
#[cfg(target_env = "msvc")]
|
|
{
|
|
// todo(windows): This is to avoid stack overflow. Remove it when solved.
|
|
println!("cargo:rustc-link-arg=/stack:{}", 8 * 1024 * 1024);
|
|
}
|
|
|
|
let manifest = std::path::Path::new("resources/windows/manifest.xml");
|
|
let icon = std::path::Path::new("resources/windows/app-icon.ico");
|
|
println!("cargo:rerun-if-changed={}", manifest.display());
|
|
println!("cargo:rerun-if-changed={}", icon.display());
|
|
|
|
embed_manifest::embed_manifest(embed_manifest::new_manifest(manifest.to_str().unwrap()))
|
|
.unwrap();
|
|
|
|
let mut res = winresource::WindowsResource::new();
|
|
res.set_icon(icon.to_str().unwrap());
|
|
if let Err(e) = res.compile() {
|
|
eprintln!("{}", e);
|
|
std::process::exit(1);
|
|
}
|
|
}
|
|
}
|