CMAKE_SYSTEM_NAME ----------------- The name of the operating system for which CMake is to build. See the :variable:`CMAKE_SYSTEM_VERSION` variable for the OS version. Note that ``CMAKE_SYSTEM_NAME`` is not set to anything by default when running in script mode, since it's not building anything. System Name for Host Builds ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``CMAKE_SYSTEM_NAME`` is by default set to the same value as the :variable:`CMAKE_HOST_SYSTEM_NAME` variable so that the build targets the host system. System Name for Cross Compiling ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ``CMAKE_SYSTEM_NAME`` may be set explicitly when first configuring a new build tree in order to enable :ref:`cross compiling `. In this case the :variable:`CMAKE_SYSTEM_VERSION` variable must also be set explicitly. System Names Known to CMake ^^^^^^^^^^^^^^^^^^^^^^^^^^^ The following is a list of possible values, each associated with corresponding operating systems or environments. ========================= ====================================================== Value Name ========================= ====================================================== ``ADSP`` Analog Devices Audio Digital Signal Processing ``AIX`` IBM Unix operating system ``Android`` Android operating system ``ARTOS`` Operating system for microcontrollers ``BeOS`` Operating system for personal computers (discontinued) ``BlueGeneL`` Blue Gene/L static environment ``BlueGeneP-dynamic`` Blue Gene/P dynamic environment ``BlueGeneP-static`` Blue Gene/P static environment ``BlueGeneQ-dynamic`` Blue Gene/Q dynamic environment ``BlueGeneQ-static`` Blue Gene/Q static environment ``BSDOS`` BSD operating system (discontinued) ``Catamount`` Operating system for Cray XT series ``CrayLinuxEnvironment`` Cray Linux Environment ``CYGWIN`` Cygwin environment for Windows ``Darwin`` Apple stationary operating systems (macOS, OS X, etc.) ``DOS`` MS-DOS or compatible ``DragonFly`` BSD-derived operating system ``eCos`` Real-time embedded operating system ``Emscripten`` Compiler toolchain to WebAssembly ``Euros`` Real-time operating system for embedded devices ``FreeBSD`` FreeBSD operating system ``Fuchsia`` Operating system by Google based on the Zircon kernel ``Generic-ADSP`` Generic ADSP (Audio DSP) environment ``Generic-ELF`` Generic ELF (Executable and Linkable Format) environment ``Generic`` Some platforms, e.g. bare metal embedded devices ``GHS-MULTI`` Green Hills Software MULTI environment ``GNU`` GNU/Hurd-based operating system ``Haiku`` Unix operating system inspired by BeOS ``HP-UX`` Hewlett Packard Unix ``iOS`` Apple mobile phone operating system ``kFreeBSD`` FreeBSD kernel with a GNU userland ``Linux`` All Linux-based distributions ``Midipix`` POSIX-compatible layer for Windows ``MirBSD`` MirOS BSD operating system ``MP-RAS`` MP-RAS UNIX operating system ``MSYS`` MSYS environment (MSYSTEM=MSYS) ``NetBSD`` NetBSD operating systems ``OpenBSD`` OpenBSD operating systems ``OpenVMS`` OpenVMS operating system by HP ``OS2`` OS/2 operating system ``OSF1`` Compaq Tru64 UNIX (formerly DEC OSF/1, Digital Unix) (discontinued) ``QNX`` Unix-like operating system by BlackBerry ``RISCos`` RISC OS operating system ``SCO_SV`` SCO OpenServer 5 ``SerenityOS`` Unix-like operating system ``SINIX`` SINIX operating system ``SunOS`` Oracle Solaris and all illumos operating systems ``syllable`` Syllable operating system ``Tru64`` Compaq Tru64 UNIX (formerly DEC OSF/1) operating system ``tvOS`` Apple TV operating system ``ULTRIX`` Unix operating system (discontinued) ``UNIX_SV`` SCO UnixWare (pre release 7) ``UnixWare`` SCO UnixWare 7 ``visionOS`` Apple mixed reality operating system ``watchOS`` Apple watch operating system ``Windows`` Windows stationary operating systems ``WindowsCE`` Windows Embedded Compact ``WindowsPhone`` Windows mobile phone operating system ``WindowsStore`` Universal Windows Platform applications ``Xenix`` SCO Xenix Unix operating system (discontinued) ========================= ====================================================== Platform-specific notes: * MSYS2's ``msys/cmake`` package (``/usr/bin/cmake``) works only under ``MSYSTEM=MSYS`` environments, with system name ``MSYS``. Under other environments like ``MSYSTEM=MINGW64``, use another package such as ``mingw64/mingw-w64-x86_64-cmake`` (``/mingw64/bin/cmake``), which targets ``MSYSTEM=MINGW64`` with system name ``Windows``. * Cygwin's ``cmake`` package (``/usr/bin/cmake``) uses system name ``CYGWIN``. A non-cygwin CMake on Windows (e.g. ``$PROGRAMFILES/CMake/bin/cmake``) uses system name ``Windows`` even when it runs under a Cygwin environment.