Merge pull request #2610 from rtfeldman/windows_fixes

`cargo build` on windows
This commit is contained in:
Richard Feldman 2022-03-02 18:20:06 -05:00 committed by GitHub
commit d91df42147
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 142 additions and 67 deletions

View file

@ -20,7 +20,6 @@ use std::io;
use std::io::{BufReader, BufWriter};
use std::mem;
use std::os::raw::c_char;
use std::os::unix::fs::PermissionsExt;
use std::path::Path;
use std::process::Command;
use std::time::{Duration, SystemTime};
@ -1615,9 +1614,14 @@ fn surgery_impl(
let flushing_data_duration = flushing_data_start.elapsed().unwrap();
// Make sure the final executable has permision to execute.
let mut perms = fs::metadata(out_filename)?.permissions();
perms.set_mode(perms.mode() | 0o111);
fs::set_permissions(out_filename, perms)?;
// TODO windows alternative?
#[cfg(target_family = "unix")]
{
use std::os::unix::fs::PermissionsExt;
let mut perms = fs::metadata(out_filename)?.permissions();
perms.set_mode(perms.mode() | 0o111);
fs::set_permissions(out_filename, perms)?;
}
let total_duration = total_start.elapsed().unwrap();