Back to Cmake

CMAKE_HOST_SYSTEM_PROCESSOR

Help/variable/CMAKE_HOST_SYSTEM_PROCESSOR.rst

4.3.21.2 KB
Original Source

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.