CMAKE_SYSTEM_NAME¶
CMake 要建置的作業系統名稱。請參閱 CMAKE_SYSTEM_VERSION
變數以取得作業系統版本。
請注意,在腳本模式下執行時,CMAKE_SYSTEM_NAME
預設不會設定任何值,因為它沒有建置任何東西。
主機建置的系統名稱¶
CMAKE_SYSTEM_NAME
預設設定為與 CMAKE_HOST_SYSTEM_NAME
變數相同的值,以便建置目標為主機系統。
跨編譯的系統名稱¶
首次設定新的建置樹時,可以明確設定 CMAKE_SYSTEM_NAME
以啟用跨編譯。在這種情況下,也必須明確設定 CMAKE_SYSTEM_VERSION
變數。
CMake 已知的系統名稱¶
以下是可能值的列表,每個值都與對應的作業系統或環境相關聯。
值 |
名稱 |
---|---|
|
Analog Devices 音訊數位訊號處理 |
|
IBM Unix 作業系統 |
|
Android 作業系統 |
|
微控制器作業系統 |
|
個人電腦作業系統(已停止) |
|
Blue Gene/L 靜態環境 |
|
Blue Gene/P 動態環境 |
|
Blue Gene/P 靜態環境 |
|
Blue Gene/Q 動態環境 |
|
Blue Gene/Q 靜態環境 |
|
BSD 作業系統(已停止) |
|
Cray XT 系列作業系統 |
|
Cray Linux 環境 |
|
Windows 的 Cygwin 環境 |
|
Apple 桌上型作業系統 (macOS、OS X 等) |
|
MS-DOS 或相容系統 |
|
BSD 衍生作業系統 |
|
即時嵌入式作業系統 |
|
編譯器工具鏈至 WebAssembly |
|
嵌入式裝置的即時作業系統 |
|
FreeBSD 作業系統 |
|
Google 基於 Zircon 核心的作業系統 |
|
通用 ADSP (音訊 DSP) 環境 |
|
通用 ELF (可執行和可連結格式) 環境 |
|
某些平台,例如裸機嵌入式裝置 |
|
Green Hills Software MULTI 環境 |
|
基於 GNU/Hurd 的作業系統 |
|
受 BeOS 啟發的 Unix 作業系統 |
|
Hewlett Packard Unix |
|
Apple 行動電話作業系統 |
|
具有 GNU 使用者空間的 FreeBSD 核心 |
|
所有基於 Linux 的發行版 |
|
Windows 的 POSIX 相容層 |
|
MirOS BSD 作業系統 |
|
MP-RAS UNIX 作業系統 |
|
MSYS 環境 (MSYSTEM=MSYS) |
|
NetBSD 作業系統 |
|
OpenBSD 作業系統 |
|
HP 的 OpenVMS 作業系統 |
|
OS/2 作業系統 |
|
Compaq Tru64 UNIX (以前的 DEC OSF/1, Digital Unix)(已停止) |
|
BlackBerry 的類 Unix 作業系統 |
|
RISC OS 作業系統 |
|
SCO OpenServer 5 |
|
類 Unix 作業系統 |
|
SINIX 作業系統 |
|
Oracle Solaris 和所有 illumos 作業系統 |
|
Syllable 作業系統 |
|
Compaq Tru64 UNIX (以前的 DEC OSF/1) 作業系統 |
|
Apple TV 作業系統 |
|
Unix 作業系統(已停止) |
|
SCO UnixWare (pre release 7) |
|
SCO UnixWare 7 |
|
Apple 混合實境作業系統 |
|
WebAssembly 系統介面 |
|
Apple watch 作業系統 |
|
Windows 桌上型作業系統 |
|
Windows Embedded Compact |
|
Windows 行動電話作業系統 |
|
通用 Windows 平台應用程式 |
|
SCO Xenix Unix 作業系統(已停止) |
平台特定注意事項
MSYS2 的
msys/cmake
套件 (/usr/bin/cmake
) 僅在MSYSTEM=MSYS
環境下工作,系統名稱為MSYS
。在其他環境(如MSYSTEM=MINGW64
)下,請使用另一個套件,例如mingw64/mingw-w64-x86_64-cmake
(/mingw64/bin/cmake
),其目標為MSYSTEM=MINGW64
,系統名稱為Windows
。Cygwin 的
cmake
套件 (/usr/bin/cmake
) 使用系統名稱CYGWIN
。Windows 上非 Cygwin 的 CMake (例如$PROGRAMFILES/CMake/bin/cmake
) 即使在 Cygwin 環境下執行,也使用系統名稱Windows
。