概述
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`: 透過圖形介面方便設定