| CMAKE_HOST_SYSTEM_PROCESSOR |
| --------------------------- |
| |
| The name of the CPU CMake is running on. |
| |
| Windows Platforms |
| ^^^^^^^^^^^^^^^^^ |
| |
| On Windows, this variable is set to the value of the environment variable |
| ``PROCESSOR_ARCHITECTURE``. |
| |
| Unix Platforms |
| ^^^^^^^^^^^^^^ |
| |
| On systems that support ``uname``, this variable is set to the output of: |
| |
| - ``uname -m`` on GNU, Linux, Cygwin, Android, or |
| - ``arch`` on OpenBSD, or |
| - on other systems, |
| |
| * ``uname -p`` if its exit code is nonzero, or |
| * ``uname -m`` otherwise. |
| |
| macOS Platforms |
| ^^^^^^^^^^^^^^^ |
| |
| The value of ``uname -m`` is used by default. |
| |
| On Apple Silicon hosts, the architecture printed by ``uname -m`` may vary |
| based on CMake's own architecture and that of the invoking process tree. |
| |
| .. versionadded:: 3.19.2 |
| |
| On Apple Silicon hosts: |
| |
| * The :variable:`CMAKE_APPLE_SILICON_PROCESSOR` variable or |
| the :envvar:`CMAKE_APPLE_SILICON_PROCESSOR` environment variable |
| may be set to specify the host architecture explicitly. |
| |
| * If :variable:`CMAKE_OSX_ARCHITECTURES` is not set, CMake adds explicit |
| flags to tell the compiler to build for the host architecture so the |
| toolchain does not have to guess based on the process tree's architecture. |