diff --git a/Cargo.lock b/Cargo.lock index f1200f1e..2f726b9d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -415,6 +415,7 @@ dependencies = [ "regex", "serde", "serde_json", + "winresource", ] [[package]] @@ -1145,6 +1146,16 @@ dependencies = [ "windows-sys 0.59.0", ] +[[package]] +name = "winresource" +version = "0.1.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "17cdfa8da4b111045a5e47c7c839e6c5e11c942de1309bc624393ed5d87f89c6" +dependencies = [ + "toml 0.9.7", + "version_check", +] + [[package]] name = "wit-bindgen" version = "0.46.0" diff --git a/azure-pipelines/pre-release.yml b/azure-pipelines/pre-release.yml index 198e1bc8..7080fd50 100644 --- a/azure-pipelines/pre-release.yml +++ b/azure-pipelines/pre-release.yml @@ -24,6 +24,7 @@ extends: template: azure-pipelines/rust-package/pipeline.yml@templates parameters: binaryName: "pet" + opusName: "Python Environment Tools" signing: true apiScanSoftwareVersion: 2024 # major version of `pet` for internal reporting tsa: diff --git a/azure-pipelines/stable.yml b/azure-pipelines/stable.yml index 0346d3f9..594f05a7 100644 --- a/azure-pipelines/stable.yml +++ b/azure-pipelines/stable.yml @@ -14,6 +14,7 @@ extends: template: azure-pipelines/rust-package/pipeline.yml@templates parameters: binaryName: "pet" + opusName: "Python Environment Tools" signing: true apiScanPublishSymbols: true apiScanSoftwareVersion: 2024 # major version of `pet` for internal reporting diff --git a/crates/pet/Cargo.toml b/crates/pet/Cargo.toml index 99f7b23c..9b554432 100644 --- a/crates/pet/Cargo.toml +++ b/crates/pet/Cargo.toml @@ -11,6 +11,9 @@ pet-windows-registry = { path = "../pet-windows-registry" } [target.'cfg(target_os = "windows")'.dependencies] msvc_spectre_libs = { version = "0.1.1", features = ["error"] } +[target.'cfg(target_os = "windows")'.build-dependencies] +winresource = "0.1" + [target.'cfg(unix)'.dependencies] pet-homebrew = { path = "../pet-homebrew" } diff --git a/crates/pet/build.rs b/crates/pet/build.rs new file mode 100644 index 00000000..f259621f --- /dev/null +++ b/crates/pet/build.rs @@ -0,0 +1,23 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License. + +fn main() { + #[cfg(target_os = "windows")] + { + let version = std::env::var("CARGO_PKG_VERSION").unwrap_or_else(|_| "0.1.0".to_string()); + + let mut res = winresource::WindowsResource::new(); + res.set("ProductName", "Python Environment Tools"); + res.set("FileDescription", "Python Environment Tools"); + res.set("CompanyName", "Microsoft Corporation"); + res.set( + "LegalCopyright", + "Copyright (c) Microsoft Corporation. All rights reserved.", + ); + res.set("OriginalFilename", "pet.exe"); + res.set("InternalName", "pet"); + res.set("FileVersion", &version); + res.set("ProductVersion", &version); + res.compile().expect("Failed to compile Windows resources"); + } +}