CMake はソフトウェアをビルド、テスト、パッケージできるクロスプラットフォームでオープンソースなメタ-ビルドシステムです。 make、Appleのxcode、Microsoft Visual Studioなどを含む複数のネイティブビルド環境をサポートするのに使えます。
このリポジトリには、私が様々なプロジェクトにおける使われ方を調査して選んだモダンなCMakeのコンフィギュレーションの事例が含まれます。 事例集はチュートリアル風に構成されています。 最初の事例は非常に基礎的で、複雑さは以前の事例を利用してさらに複雑なユースケースを示すようにゆっくりと上昇していきます。
これら事例群はUbuntu 16.04上でテストしましたが、CMake v3.5+をサポートする任意のLinuxシステムで動作するはずです。
このブランチはCMake version 3.5以降で動作します。
-
CMake version 2.x の事例集はこちら v2-style-includes.
-
CMake version 3.0 の事例集はこちら v3.0-minimum
多くの事例では以下のものが要求されます。
-
CMake v3.5+
-
C++ コンパイラ (デフォルトはgcc)
-
make
上記のものを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-compiler
-
$ 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 install conan
すべての要件を含み、様々なバージョンのCMakeを含むDockerコンテナが事例集を簡単にテストするために生成されています。Docker hubリポジトリ matrim/cmake-examples で利用できます。
cmake-examplesのすべてのテストケースをビルドするには以下のようにします。
docker run -it matrim/cmake-examples:3.5.1
git clone https://github.com/ttroy50/cmake-examples.git
cd cmake-examples
./test.sh
ビルドと実行に関する詳細はDockerコンテナの dockerfilesを参照してください。
オンラインには多くのCMakeチュートリアルや事例集が存在します。 以下のリストはCMakeの調査において助けになったリンクです。
-
Static Analysis with CDash - CMakeでCppCheckを利用するための情報があります