Cmake
CMake 基本說明

CMake是一個跨平台自動化建構系統,主要用於管理軟體的建置流程。CMake用一個名為 CMakeLists.txt 的組態檔來描述整個專案的編譯、鏈接和打包方式,不依賴於特定編譯器,並能支援多層目錄、多個程式與多個函式庫的建置管理。
-
CPack:自動打包安裝包。
CPack 是 CMake 的內建打包工具,用來將你的軟體專案建立成多種安裝包或發行包格式(如 zip、tar.gz、deb、rpm、nsis 等)。它會根據專案的 CMakeLists.txt 或 CPack 設定檔來打包目標檔案、二進位與相關文件,方便在不同平台進行安裝或釋出。
常見用法:
- 設定好安裝規則(如 install 命令)。
- 執行
cpack
指令即可自動打包成指定格式。
-
CTest:自動化項目測試。
CTest 是 CMake 內建的測試驅動工具,讓你能管理與自動化執行測試(例如單元測試)。你可以在 CMakeLists.txt 中定義各種測試(如 add_test),然後用
ctest
指令批量跑這些測試、匯出報告,方便 CI/CD 整合與持續驗證軟體品質。常見用法:
- 在專案內加入測試設定(add_test)。
- 編譯好後執行
ctest
指令即可自動執行全部測試案例並輸出結果。
CMake 基本工作流程
- 撰寫 CMakeLists.txt(設定專案與目標)
- 建立獨立 build 目錄(out-of-source build)
- 執行
cmake ../
生成構建系統 - 執行
cmake --build .
編譯專案 - 執行
ctest
進行測試