fixing windows cargo build errors

This commit is contained in:
Anton-4 2022-02-28 13:48:11 +01:00
parent 16e568be76
commit 784894bb8f
No known key found for this signature in database
GPG key ID: C954D6E0F9C0ABFD
7 changed files with 72 additions and 29 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};
@ -1627,9 +1626,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();