本文へスキップ

CMakeとは?

しーめいく

CMakeは、C/C++などのプロジェクトのビルド設定を記述し、各種ビルドシステム向けのファイルを自動生成するクロスプラットフォームのビルド管理ツールです。

CMakeは、ソフトウェアプロジェクトのビルドプロセスを管理するオープンソースのツールです。直接コンパイルを行うのではなく、プロジェクトの構成をプラットフォーム非依存の方法で記述したCMakeLists.txtを元に、Makefile・Ninja・Visual Studio用プロジェクトファイルなど各環境に適したビルドファイルを自動生成します。

C・C++プロジェクトでの利用が中心ですが、FortranやCUDAなど他の言語もサポートしています。現代のCMakeではターゲットベースの設計が推奨されており、ライブラリや実行ファイルをターゲットとして定義し、依存関係・インクルードパス・コンパイルオプションをターゲット単位で管理します。

CMakeの主な利点は次のとおりです。

  • Windows・macOS・Linuxなど複数OSで同一の設定ファイルを使い回せる
  • find_packageコマンドによる外部ライブラリの検出が容易
  • 大規模プロジェクトのモジュール分割・サブディレクトリ管理に対応
  • IDEとの統合が広くサポートされている

Qt・OpenCV・Boostなど主要なCライブラリの多くがCMake対応のパッケージを提供しており、オープンソースのC/C++プロジェクトでは事実上の標準的なビルド管理ツールとなっています。

使い方・例文

「cmake .. && make」というコマンドでソースツリー外にビルド成果物を生成する手順は、CMakeを用いたC++プロジェクトの典型的な開発フローです。

この用語をシェア

𝕏 でポスト LINE

最終更新:

関連用語