blob: c30577967559007204774f2e20efb1fec600b731 [file] [log] [blame]
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.