CMAKE_SYSTEM_NAME

CMAKE 将用于构建的操作系统的名称。有关操作系统版本,请参阅 CMAKE_SYSTEM_VERSION 变量。

请注意,在脚本模式下运行时,由于它不会构建任何内容,因此 CMAKE_SYSTEM_NAME 默认情况下不会被设置为任何值。

用于宿主构建的系统名称

CMAKE_SYSTEM_NAME 默认设置为与 CMAKE_HOST_SYSTEM_NAME 变量相同的值,以便构建面向宿主系统。

用于交叉编译的系统名称

可以在首次配置新的构建树时显式设置 CMAKE_SYSTEM_NAME,以启用 交叉编译。在这种情况下,CMAKE_SYSTEM_VERSION 变量也必须显式设置。

CMake 已知的系统名称

以下是可以的值的列表,每个值均与相应的操作系统或环境相关联。

名称

ADSP

模拟设备音频数字信号处理

AIX

IBM Unix 操作系统

Android

Android 操作系统

ARTOS

微控制器的操作系统

BeOS

个人电脑操作系统(已停产)

BlueGeneL

Blue Gene/L 静态环境

BlueGeneP-dynamic

Blue Gene/P 动态环境

BlueGeneP-static

Blue Gene/P 静态环境

BlueGeneQ-dynamic

Blue Gene/Q 动态环境

BlueGeneQ-static

Blue Gene/Q 静态环境

BSDOS

BSD 操作系统(已停产)

Catamount

Cray XT 系列操作系统

CrayLinuxEnvironment

Cray Linux 环境

CYGWIN

Windows 的 Cygwin 环境

Darwin

Apple 固定操作系统(macOS、OS X 等)

DOS

MS-DOS 或兼容系统

DragonFly

源于 BSD 的操作系统

eCos

实时嵌入式操作系统

Emscripten

WebAssembly 编译器工具链

Euros

嵌入式设备的实时操作系统

FreeBSD

FreeBSD 操作系统

Fuchsia

基于 Zircon 内核的 Google 操作系统

Generic-ADSP

通用 ADSP(音频 DSP)环境

Generic-ELF

通用 ELF(可执行和可链接格式)环境

Generic

某些平台,例如裸金属嵌入式设备

GHS-MULTI

Green Hills Software MULTI 环境

GNU

基于 GNU/Hurd 的操作系统

Haiku

受 BeOS 启发的 Unix 操作系统

HP-UX

惠普 Unix

iOS

Apple 移动电话操作系统

kFreeBSD

带有 GNU 用户空间的 FreeBSD 内核

Linux

所有基于 Linux 的发行版

Midipix

兼容 POSIX 的 Windows 层

MirBSD

MirOS BSD 操作系统

MP-RAS

MP-RAS UNIX 操作系统

MSYS

MSYS 环境 (MSYSTEM=MSYS)

NetBSD

NetBSD 操作系统

OpenBSD

OpenBSD 操作系统

OpenVMS

惠普的 OpenVMS 操作系统

OS2

OS/2 操作系统

OSF1

康柏 Tru64 UNIX(原 DEC OSF/1、Digital Unix)(已停止开发)

QNX

BlackBerry 的类 Unix 操作系统

RISCos

RISC OS 操作系统

SCO_SV

SCO OpenServer 5

SerenityOS

类 Unix 操作系统

SINIX

SINIX 操作系统

SunOS

Oracle Solaris 和所有 illumos 操作系统

syllable

Syllable 操作系统

Tru64

康柏 Tru64 UNIX(原 DEC OSF/1)操作系统

tvOS

Apple TV 操作系统

ULTRIX

Unix 操作系统(已停止开发)

UNIX_SV

SCO UnixWare(第 7 版之前)

UnixWare

SCO UnixWare 7

visionOS

Apple 混合现实操作系统

WASI

WebAssembly 系统接口

watchOS

Apple watch 操作系统

Windows

Windows 桌面操作系统

WindowsCE

Windows Embedded Compact

WindowsPhone

Windows 手机操作系统

WindowsStore

通用 Windows 平台应用

Xenix

SCO Xenix Unix 操作系统(已停止开发)

平台特定的注释

  • MSYS2 的 msys/cmake 软件包 (/usr/bin/cmake) 仅在 MSYSTEM=MSYS 环境中工作,系统名称为 MSYS。在 MSYSTEM=MINGW64 等其他环境下,使用其他软件包,例如 mingw64/mingw-w64-x86_64-cmake (/mingw64/bin/cmake),它将目标指向系统名称为 WindowsMSYSTEM=MINGW64

  • Cygwin 的 cmake 软件包 (/usr/bin/cmake) 使用系统名称 CYGWIN。Windows 上的非 Cygwin CMake(例如 $PROGRAMFILES/CMake/bin/cmake)使用系统名称 Windows,即使它在 Cygwin 环境下运行。