CMake
出典: フリー百科事典『ウィキペディア(Wikipedia)』
CMake | |
開発元: | Andy Cedilnik, Bill Hoffman, Brad King, Ken Martin, Alexander Neundorf |
---|---|
最新版: | 2.4.8 / 2008年1月23日 |
対応OS: | クロスプラットフォーム |
種別: | Software development tools |
ライセンス: | BSDライセンス |
公式サイト: | http://www.cmake.org/ |
CMakeはソフトウェアのビルドを自動化するためのクロスプラットフォームなシステムである。 UnixにおけるMakeに相当するものであり、ビルドプロセスは設定ファイルCMakeLists.txtによって完全に制御される。 最終的なソフトウェアを直接にはビルドしない点がMakeとは異なっており、 代わりに、よく使われている標準的なビルドファイル(UnixにおけるmakefileやWindows Visual C++におけるプロジェクト/ワークスペースなど)を生成する。 このため、開発者は自分の使いやすい開発環境(IDEなど)から利用できる。 ネイティブなビルド環境を利用する点がSConsなどのような類似システムと最も異なっている。 CMakeはさまざまな条件下でのソースコードのコンパイル、ライブラリやラッパーの生成、実行ファイルのビルドに対応できる。CMake は場所内ビルドと場所外ビルドをサポートするので、単一のビルドツリーに対して複数のビルドをサポートする[1]。CMake は静的および動的ライブラリのビルドもサポートする。
"CMake" という名前は "cross platform make"(クロスプラットフォームな make)の略である。 名前に "make" を使っているのにもかかわらず、CMake は make とは別で、Unix 開発で一般的な make システムよりもより高度なアプリケーションスイートである。
目次 |
[編集] 歴史
CMake was created in response to the need for a suitable cross-platform build environment for the Insight Segmentation and Registration Toolkit (ITK) funded by the United States National Library of Medicine as part of the Visible Human Project. It was influenced by an earlier system called pcmaker created by Ken Martin and other developers to support the Visualization Toolkit (VTK), an open-source 3D graphics and visualization system. To create CMake, Bill Hoffman at Kitware incorporated some key ideas from pcmaker, and added many more of his own, with the thought to adopt some of the functionality of the GNU build system. The initial CMake implementation was mid-2000, with accelerated development occurring in early 2001. Many improvements were due to the influences of other developers incorporating CMake into their own systems. For example, the VXL software community adopted CMake as their build environment, contributing many essential features. Brad King added several features in order to support CABLE and GCC-XML, a set of automated wrapping tools; and GE Corporate R&D required support of their testing infrastructure (DART). Other features were added to support the transition of VTK's build environment to CMake, and to support ParaView, a parallel visualization system to support the Advanced Computing Lab at Los Alamos National Laboratory.
[編集] 主な特徴
- 設定ファイルは CMake スクリプトであり、スクリプトはソフトウェアのビルドに特化したプログラミング言語を使う。
- C、C++、Fortran や Java に対する自動依存分析の組込み。
- CMake スクリプト言語を通した SWIG、Qt や FLTK のサポート。
- Built-in support for Microsoft Visual Studio .NET and past Visual Studio versions, including generation of .dsp, .dsw, .sln and .vcproj files,
- 従来のタイムスタンプを使ったファイルの内容の変更の検知。
- 並列ビルドのサポート。
- クロスコンパイル
- CMake が graphviz のダイアグラムを出力するのを利用した、すべての依存関係の全体図。
- クロスプラットフォームなビルドのサポートと、Linux、他の POSIX システム(AIX、*BSD システム、HP-UX、IRIX/SGI、MinGW/MSYS や Solaris を含む)、Mac OS X や Windows 95/98/NT/2000/XP での動作確認。
- DART、CTest や CPack というソフトウェアのテストとリリースのためのツール群との統合。
[編集] Cmakeを利用しているアプリケーション
- Bullet Physics Engine
- KDE (バージョン4から)
- The Visualization Toolkit
- Insight Segmentation and Registration Toolkit
- ParaView
- DevIL - オープンな画像ライブラリ
- OpenSceneGraph
- Scribus
- Kicad
- Drishti
- PvPGN
- Chicken
- ParadisEO
- Quantum GIS
- lurc
[編集] 脚注
- ^ ここで場所内ビルド (in-place build) とは、ソースファイルが含まれるディレクトリ内でのビルドを指し、逆に場所外ビルド (out-of-place build) とはソースディレクトリ外でのビルドを指す。場所外ビルドでは、ソースディレクトリ内にコンパイルで生成されるオブジェクトファイルなどを入れられずに済み、ソースディレクトリをそのままの状態に保つことができる。つまりソースディレクトリと生成物の入るディレクトリとを別にできる。
[編集] 関連項目
- Automake
- SCons
- VTK