在 CMake 中判断 Mac 是 Intel 架构还是 ARM 架构,可以通过检测 CMAKE_SYSTEM_PROCESSOR
变量。这个变量返回的是系统的处理器架构信息,可以根据它的值来区分 Intel 和 ARM。
具体来说:
- 对于 Intel Mac,
CMAKE_SYSTEM_PROCESSOR
会返回"x86_64"
。 - 对于 ARM Mac(Apple Silicon,如 M1 或 M2),
CMAKE_SYSTEM_PROCESSOR
会返回"arm64"
。
可以在 CMakeLists.txt
文件中使用这个信息来执行不同的逻辑。
示例代码:
if(CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")message(STATUS "This is an Intel Mac.")
elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")message(STATUS "This is an ARM Mac (Apple Silicon).")
else()message(STATUS "Unknown architecture: ${CMAKE_SYSTEM_PROCESSOR}")
endif()