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.