2013年09月15日

cmake ってなに?

MuseScore のコードを読んでみようかと思い立ってまずわからなかったのが cmake

CMakeはソフトウェアのビルドを自動化するためのクロスプラットフォームなシステムである。 UnixにおけるMakeに相当するものであり、ビルドプロセスは設定ファイルCMakeLists.txtによって完全に制御される。 最終的なソフトウェアを直接にはビルドしない点がMakeとは異なっており、 代わりに、よく使われている標準的なビルドファイル(UnixにおけるmakefileやWindows Visual C++におけるプロジェクト/ワークスペースなど)を生成する。(wikipedia)

ということだそうで、cmakeっていう呪文を唱えると、Makefile やらプロジェクトファイルやらを作ってくれるらしい。必要なのは CMakeLists.txt というファイル。

順序的には、cmake でMakefileを作る、makeでビルドする、という流れになる。

ちなみに、MuseScoreでは、

-G"Unix Makefiles" -DCMAKE_BUILD_TYPE=DEBUG
というのがcmakeのオプション(unixの場合)。MakeLists.txtを見ると、CMAKE_BUILD_TYPE っていう変数に DEBUG という値を入れてるっぽい。はいはい、ちゃんと本家を見ましょう。

本家Link: http://www.cmake.org/

-D で渡されたパラメータに応じて、include するファイルなどを決めているみたいです。-G はMakefileジェネレータの名前で、Visual Studio 10 とかやるとそれ専用のファイルができるらしいです。

mingw の場合は -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_TOOLCHAIN_FILE=build/mingw32.mingw.cmake -DCMAKE_INSTALL_PREFIX=../win32install になっています。

今日はこのくらいにしとこう。


posted by けんじ at 20:34 | Comment(0) | パソコンいろいろ
- 広告 -
この記事へのコメント
コメントを書く
お名前: [必須入力]

ホームページアドレス:

コメント: [必須入力]

※半角英数字のみのコメントは投稿できません。
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。