Skip to content

Commit

Permalink
Merge pull request #50 from leet4tari/leet-target-osx-sysroot
Browse files Browse the repository at this point in the history
build(fix): add env pass through for cmake_osx_sysroot
  • Loading branch information
SWvheerden authored May 15, 2023
2 parents 6e75547 + 6086b94 commit 7f3748b
Showing 1 changed file with 17 additions and 8 deletions.
25 changes: 17 additions & 8 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,12 @@ fn main() {
},
}
env::set_current_dir(build_dir).unwrap();

let host = env::var("HOST").unwrap();
// println!("host: {}", host);
let target = env::var("TARGET").unwrap();
if target.contains("windows") {
// println!("target: {}", target);
if host.contains("windows") && target.contains("windows-msvc") {
let c = Command::new("cmake")
.arg("-G")
.arg("Visual Studio 16 2019")
Expand Down Expand Up @@ -103,8 +107,8 @@ fn main() {
std::io::stderr().write_all(&m.stderr).unwrap();
assert!(m.status.success());
} else if target.contains("aarch64-apple-darwin") {
let c = Command::new("cmake")
.arg("-D")
let mut c = Command::new("cmake");
c.arg("-D")
.arg("ARCH=arm64")
.arg("-D")
.arg("ARCH_ID=aarch64")
Expand All @@ -115,14 +119,18 @@ fn main() {
.arg("-D")
.arg("CMAKE_C_FLAGS='-arch arm64'")
.arg("-D")
.arg("CMAKE_CXX_FLAGS='-arch arm64'")
.arg("CMAKE_CXX_FLAGS='-arch arm64'");
if let Ok(env) = env::var("RANDOMX_RS_CMAKE_OSX_SYSROOT") {
c.arg("-D").arg("CMAKE_OSX_SYSROOT=".to_owned() + env.as_str());
}
let output = c
.arg(repo_dir.to_str().unwrap())
.output()
.expect("failed to execute CMake");
println!("status: {}", c.status);
std::io::stdout().write_all(&c.stdout).unwrap();
std::io::stderr().write_all(&c.stderr).unwrap();
assert!(c.status.success());
println!("status: {}", output.status);
std::io::stdout().write_all(&output.stdout).unwrap();
std::io::stderr().write_all(&output.stderr).unwrap();
assert!(output.status.success());

let m = Command::new("cmake")
.arg("--build")
Expand All @@ -144,6 +152,7 @@ fn main() {
std::io::stdout().write_all(&c.stdout).unwrap();
std::io::stderr().write_all(&c.stderr).unwrap();
assert!(c.status.success());

let m = Command::new("make").output().expect("failed to execute Make");
println!("status: {}", m.status);
std::io::stdout().write_all(&m.stdout).unwrap();
Expand Down

0 comments on commit 7f3748b

Please sign in to comment.