This repository was archived by the owner on May 28, 2025. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +52
-0
lines changed Expand file tree Collapse file tree 2 files changed +52
-0
lines changed Original file line number Diff line number Diff line change 1+ <?xml version =" 1.0" encoding =" UTF-8" standalone =" yes" ?>
2+ <!--
3+ This is a Windows application manifest file.
4+ See: https://docs.microsoft.com/en-us/windows/win32/sbscs/application-manifests
5+ -->
6+ <assembly xmlns =" urn:schemas-microsoft-com:asm.v1" manifestVersion =" 1.0" xmlns : asmv3 =" urn:schemas-microsoft-com:asm.v3" >
7+ <!-- Versions rustc supports as compiler hosts -->
8+ <compatibility xmlns =" urn:schemas-microsoft-com:compatibility.v1" >
9+ <application >
10+ <!-- Windows 7 --> <supportedOS Id =" {35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
11+ <!-- Windows 8 --> <supportedOS Id =" {4a2f28e3-53b9-4441-ba9c-d69d4a4a6e38}" />
12+ <!-- Windows 8.1 --> <supportedOS Id =" {1f676c76-80e1-4239-95bb-83d0f6d0da78}" />
13+ <!-- Windows 10 and 11 --> <supportedOS Id =" {8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}" />
14+ </application >
15+ </compatibility >
16+ <!-- Use UTF-8 code page -->
17+ <asmv3 : application >
18+ <asmv3 : windowsSettings xmlns =" http://schemas.microsoft.com/SMI/2019/WindowsSettings" >
19+ <activeCodePage >UTF-8</activeCodePage >
20+ </asmv3 : windowsSettings >
21+ </asmv3 : application >
22+ <!-- Remove (most) legacy path limits -->
23+ <asmv3 : application >
24+ <asmv3 : windowsSettings xmlns : ws2 =" http://schemas.microsoft.com/SMI/2016/WindowsSettings" >
25+ <ws2 : longPathAware >true</ws2 : longPathAware >
26+ </asmv3 : windowsSettings >
27+ </asmv3 : application >
28+ </assembly >
Original file line number Diff line number Diff line change 1+ use std:: env;
2+
3+ fn main ( ) {
4+ let target_os = env:: var ( "CARGO_CFG_TARGET_OS" ) ;
5+ let target_env = env:: var ( "CARGO_CFG_TARGET_ENV" ) ;
6+ if Ok ( "windows" ) == target_os. as_deref ( ) && Ok ( "msvc" ) == target_env. as_deref ( ) {
7+ set_windows_exe_options ( ) ;
8+ }
9+ }
10+
11+ // Add a manifest file to rustc.exe.
12+ fn set_windows_exe_options ( ) {
13+ static WINDOWS_MANIFEST_FILE : & str = "Windows Manifest.xml" ;
14+
15+ let mut manifest = env:: current_dir ( ) . unwrap ( ) ;
16+ manifest. push ( WINDOWS_MANIFEST_FILE ) ;
17+
18+ println ! ( "cargo:rerun-if-changed={}" , WINDOWS_MANIFEST_FILE ) ;
19+ // Embed the Windows application manifest file.
20+ println ! ( "cargo:rustc-link-arg-bin=rustc-main=/MANIFEST:EMBED" ) ;
21+ println ! ( "cargo:rustc-link-arg-bin=rustc-main=/MANIFESTINPUT:{}" , manifest. to_str( ) . unwrap( ) ) ;
22+ // Turn linker warnings into errors.
23+ println ! ( "cargo:rustc-link-arg-bin=rustc-main=/WX" ) ;
24+ }
You can’t perform that action at this time.
0 commit comments