pub fn find_windows_sdk_tool<T: AsRef<str>>(tool: T) -> Option<PathBuf>
Expand description
Find MSVC build tools other than the compiler and linker
On Windows + MSVC this can be used try to find tools such as MIDL.EXE
in Windows Kits and/or SDK directories.
The compilers and linkers can be better found with the cc
or vswhom
crates.
This always returns None
on non-MSVC targets.
ยงExamples
In your build script, find midl.exe
and use it to compile an IDL file:
extern crate embed_resource;
extern crate vswhom;
let midl = embed_resource::find_windows_sdk_tool("midl.exe").unwrap();
// midl.exe uses cl.exe as a preprocessor, so it needs to be in PATH
let vs_locations = vswhom::VsFindResult::search().unwrap();
let output = Command::new(midl)
.env("PATH", vs_locations.vs_exe_path.unwrap())
.args(&["/out", &env::var("OUT_DIR").unwrap()])
.arg("haka.pfx.idl").output().unwrap();
assert!(output.status.success());