2 releases
new 0.1.1 | Nov 10, 2024 |
---|---|
0.1.0 | Nov 10, 2024 |
#153 in Build Utils
191 downloads per month
36KB
741 lines
Winscribe
A build script to create, compile and include Windows resource and manifest files in your executables.
This crate is in early stages of development.
Usage
Add it as a build dependency to your Cargo.toml
.
[build-dependencies]
winscribe = "0.1.0"
In your build.rs
use ResBuilder
to customize your resource file then call .compile()
on it to link it to your binary.
use winscribe::icon::Icon;
use winscribe::manifest::{DpiMode, Feature, Manifest};
use winscribe::{ResBuilder, ResError};
fn main() {
// Only run it if the target is Windows
if std::env::var("CARGO_CFG_WINDOWS").is_ok() {
resource().expect("Failed to include resource!");
}
}
fn resource() -> Result<(), ResError> {
// Use Cargo's environment variables to fill in some file details
ResBuilder::from_env()?
// Add an application icon as a resource
.push(Icon::app("./assets/application.ico"))
// Compose a new manifest with DPI awareness and usage of Controls DLL v6
.push(Manifest::from([
Feature::DpiAware(DpiMode::PerMonitorV2),
Feature::ControlsV6,
]))
// Compile and link the resource to the binary
.compile()
}
Requirements
To compile the resource file a Windows SDK version 10 or later needs to be installed.
Special Thanks
Winscribe started out as a heavily modifed version of:
License
Licensed under either of
- MIT License (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option.
Dependencies
~0–4MB