首頁 > 其他外部套件 > cmake

cmake: 跨平台建置系統產生器

CMake 是一個用於生成獨立於作業系統和編譯器的建置系統的工具。它主要用於 C、C++ 專案,可以生成 Makefile、Visual Studio 專案、Xcode 專案等多種建置檔案。這使得開發者能夠在不依賴特定 IDE 或建置工具的情況下管理和建置專案。

概述

CMake 基於定義建置過程的 CMakeLists.txt 檔案,為使用者選擇的建置工具(例如 Make、Ninja)生成相應的建置腳本。這對於標準化和自動化複雜專案的建置過程至關重要。

主要特點

  • 跨平台支援 (Linux, Windows, macOS 等)
  • 生成多種建置系統 (Makefiles, Visual Studio, Xcode 等)
  • 易於模組化專案管理
  • 支援測試和打包 (CTest, CPack)

主要選項

執行 CMake 命令時常用的主要選項。

基本設定

建置系統產生器

建置與安裝

資訊

生成的命令:

請試著組合命令。

這個 Django 應用程序是一個技術指南文檔,旨在為用戶輕鬆解釋 Linux 的各種命令。

`cmake` 執行命令。

請將上述選項組合在一起,與 AI 一同虛擬執行命令。

使用範例

使用 CMake 設定和建置專案的各種場景。

基本建置設定與 Makefile 生成

mkdir build
cd build
cmake ..
make

基於當前目錄的來源,在 'build' 子目錄中生成 Makefile。

明確指定來源和建置目錄

cmake -S /path/to/my_project_source -B /path/to/my_project_build

明確指定來源目錄和建置目錄來生成建置檔案。

使用 Ninja 產生器與 Release 建置

cmake -S . -B build -G Ninja -D CMAKE_BUILD_TYPE=Release

使用 Ninja 建置系統,並將建置類型設定為 Release 來生成建置檔案。

透過 CMake 執行建置

cmake --build build

透過 CMake 命令執行建置,而不是直接呼叫生成的建置系統(如 Makefile)。

安裝建置好的專案

cmake --install build

將建置好的專案安裝到系統的預設路徑(例如 /usr/local)。

安裝

CMake 在大多數 Linux 發行版中預設不提供,因此需要透過套件管理器進行安裝。

Debian/Ubuntu

sudo apt update
sudo apt install cmake

使用 APT 套件管理器安裝 CMake。

Fedora/RHEL/CentOS

sudo dnf install cmake

使用 DNF 或 YUM 套件管理器安裝 CMake。

Arch Linux

sudo pacman -S cmake

使用 Pacman 套件管理器安裝 CMake。

提示與注意事項

有效使用 CMake 的提示和注意事項。

分離式建置 (Out-of-Source Build)

建議始終使用分離式建置,即將來源程式碼目錄與建置目錄分開。這有助於保持來源目錄的整潔,並方便切換不同的建置設定。

  • 防止來源目錄污染
  • 方便同時管理不同的建置設定 (Debug/Release)

CMakeLists.txt 檔案

CMake 的核心是定義專案建置規則的 CMakeLists.txt 檔案。理解此檔案的語法和結構非常重要。

  • 位於專案的根目錄
  • 也可以存在於子目錄中 (透過 add_subdirectory 命令包含)

利用 GUI 工具

對於複雜的 CMake 專案,可以使用 `ccmake` (終端機介面) 或 `cmake-gui` (圖形介面) 等工具來視覺化設定和管理快取變數。

  • `ccmake`: 在終端機中互動式設定快取變數
  • `cmake-gui`: 透過圖形介面方便設定

相同類別命令