Skip to content

Commit

Permalink
fix: hard code cross-compile build option for ARM64/M1 (#46)
Browse files Browse the repository at this point in the history
* Hard code cross-compile build option for ARM64

* Hard cord cmake args for arm64 on M1
  • Loading branch information
leet4tari committed Jul 19, 2022
1 parent 4295aea commit 4f88a37
Showing 1 changed file with 34 additions and 1 deletion.
35 changes: 34 additions & 1 deletion build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ fn main() {
} else if target.contains("aarch64-unknown-linux-gnu") {
let c = Command::new("cmake")
.arg("-D")
.arg("ARCH=default")
.arg("ARCH=arm64")
.arg("-D")
.arg("ARCH_ID=aarch64")
.arg("-D")
Expand All @@ -91,6 +91,39 @@ fn main() {
std::io::stderr().write_all(&c.stderr).unwrap();
assert!(c.status.success());

let m = Command::new("cmake")
.arg("--build")
.arg(".")
.arg("--config")
.arg("Release")
.output()
.expect("failed to execute Make");
println!("status: {}", m.status);
std::io::stdout().write_all(&m.stdout).unwrap();
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")
.arg("ARCH=arm64")
.arg("-D")
.arg("ARCH_ID=aarch64")
.arg("-D")
.arg("CMAKE_CROSSCOMPILING=true")
.arg("-D")
.arg("CMAKE_SYSTEM_PROCESSOR=aarch64")
.arg("-D")
.arg("CMAKE_C_FLAGS='-arch arm64'")
.arg("-D")
.arg("CMAKE_CXX_FLAGS='-arch arm64'")
.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());

let m = Command::new("cmake")
.arg("--build")
.arg(".")
Expand Down

0 comments on commit 4f88a37

Please sign in to comment.