CMake 是一個跨平台的開源元建構系統,可以建置、測試和打包軟體。它可用於支援多種本機構建置環境,包括 make、Apple 的 xcode 和 Microsoft Visual Studio。
這個儲存庫包含一些現代 CMake 配置範例,這些配置是我在探索它在各種專案中的用法時選取的。這些範例以類似教程的格式排列。第一個範例非常基礎,並且根據前面的範例逐漸增加複雜性以顯示更複雜的用例。
這些範例已在 Ubuntu 16.04 上進行了測試,但應該可以在任何支援 CMake v3.5+ 的 Linux 系統下運行。
此分支適用於 CMake 3.5 及以上版本。
有關使用 CMake 版本 2.x 的範例,請參閱分支 v2-style-includes。
有關使用 CMake 版本 3.0 的範例,請參閱分支 v3.0-minimum
大多數範例的基本要求是:
CMake v3.5+
C++ 編譯器(預設為 gcc)
製作
在 Ubuntu 上安裝上述內容的最簡單方法如下
$ sudo apt-get install build-essential
$ sudo apt-get install cmake
一些具體範例可能需要其他工具,包括:
促進
$ sudo apt-get install libboost-all-dev
原始緩衝區
$ sudo apt-get install libprotobuf-dev $ sudo apt-get install protobuf-編譯器
程式檢查
$ sudo apt-get install cppcheck
鐺
$ sudo apt-get install clang-3.6
忍者
$ sudo apt-get install ninja-build
柯南
$ sudo apt-get install python3 python3-pip $ sudo pip3 安裝柯南
產生具有所有要求和各種版本的 CMake 的 Docker 容器,以協助更輕鬆地測試範例。這些可以從 docker hub 存儲庫 matrim/cmake-examples 中獲得。
要建立全套 cmake-examples 測試案例,您可以執行:
docker run -it matrim/cmake-examples:3.5.1
cd ~
git clone https://github.com/ttroy50/cmake-examples.git code
cd code
./test.sh
有關建置和運行 docker 容器的更多詳細信息,請參閱 dockerfiles。
網路上有很多CMake教學和範例。下面的清單包含一些我發現對我的 CMake 之旅很有幫助的連結。
現代 CMake 幻燈片
rix0r 現代 CMake 博客
官方 CMake 教程
官方 CMake 維基
CMake 有用的變數
Derek Molloy - CMake 簡介
模組化 C++ 項目
常見的 CMake 反模式
將 clang 靜態分析器與 CMake 結合使用
使用 CDash 進行靜態分析 - 包括有關將 CppCheck 與 CMake 結合使用的一些信息
CMake 技巧
John Lamp - CMake 教程
柯南文檔