mirror of
https://github.com/0xNikilite/oboromi.git
synced 2026-01-31 01:15:22 +01:00
Add x86_64 support for macOS in CMake build script
The build script now sets CMAKE_OSX_ARCHITECTURES and deployment target for both arm64 and x86_64 architectures on macOS, improving compatibility with Intel-based Macs. Previously, only arm64 was explicitly handled.
This commit is contained in:
@@ -294,16 +294,28 @@ fn main() {
|
||||
"-DCMAKE_CXX_FLAGS=/wd4100 /wd4189",
|
||||
]);
|
||||
} else if is_apple {
|
||||
// Force ARM64 architecture for ARM64 targets
|
||||
cmake_args.extend(&[
|
||||
"-DCMAKE_CXX_STANDARD=17",
|
||||
"-DCMAKE_CXX_FLAGS=-fno-strict-aliasing -Wno-unused-parameter -Wno-incomplete-types",
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=13.0",
|
||||
"-DCMAKE_C_COMPILER=/usr/bin/clang",
|
||||
"-DCMAKE_CXX_COMPILER=/usr/bin/clang++",
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.10",
|
||||
"-DCMAKE_OSX_ARCHITECTURES=arm64", // Force ARM64 for aarch64 targets
|
||||
]);
|
||||
// Force the correct architecture based on target
|
||||
if target.starts_with("aarch64-") {
|
||||
cmake_args.extend(&[
|
||||
"-DCMAKE_OSX_ARCHITECTURES=arm64",
|
||||
"-DCMAKE_CXX_STANDARD=17",
|
||||
"-DCMAKE_CXX_FLAGS=-fno-strict-aliasing -Wno-unused-parameter -Wno-incomplete-types",
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=13.0",
|
||||
"-DCMAKE_C_COMPILER=/usr/bin/clang",
|
||||
"-DCMAKE_CXX_COMPILER=/usr/bin/clang++",
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.10",
|
||||
]);
|
||||
} else {
|
||||
cmake_args.extend(&[
|
||||
"-DCMAKE_OSX_ARCHITECTURES=x86_64",
|
||||
"-DCMAKE_CXX_STANDARD=17",
|
||||
"-DCMAKE_CXX_FLAGS=-fno-strict-aliasing -Wno-unused-parameter -Wno-incomplete-types",
|
||||
"-DCMAKE_OSX_DEPLOYMENT_TARGET=13.0",
|
||||
"-DCMAKE_C_COMPILER=/usr/bin/clang",
|
||||
"-DCMAKE_CXX_COMPILER=/usr/bin/clang++",
|
||||
"-DCMAKE_POLICY_VERSION_MINIMUM=3.10",
|
||||
]);
|
||||
}
|
||||
} else {
|
||||
cmake_args.extend(&[
|
||||
"-DCMAKE_CXX_STANDARD=17",
|
||||
@@ -323,6 +335,9 @@ fn main() {
|
||||
if target_os == "macos" && target_arch == "aarch64" {
|
||||
cmake_cmd.env("CMAKE_OSX_ARCHITECTURES", "arm64");
|
||||
cmake_cmd.env("MACOSX_DEPLOYMENT_TARGET", "13.0");
|
||||
} else if target_os == "macos" && target_arch == "x86_64" {
|
||||
cmake_cmd.env("CMAKE_OSX_ARCHITECTURES", "x86_64");
|
||||
cmake_cmd.env("MACOSX_DEPLOYMENT_TARGET", "13.0");
|
||||
}
|
||||
|
||||
let cmake_status = cmake_cmd.status();
|
||||
@@ -364,6 +379,8 @@ fn main() {
|
||||
build_cmd.env("MACOSX_DEPLOYMENT_TARGET", "13.0");
|
||||
if target_arch == "aarch64" {
|
||||
build_cmd.env("CMAKE_OSX_ARCHITECTURES", "arm64");
|
||||
} else if target_arch == "x86_64" {
|
||||
build_cmd.env("CMAKE_OSX_ARCHITECTURES", "x86_64");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user