2014-06-16はじめに簡単な設定ファイル(CMakeLists.txt)を書くだけでMakefileを生成してくれるcmakeはとても便利なものだけど、いまいち初心者には敷居が高い。チュートリアルはあるけど、肝心なことが書いてなかったりもする。この文章ではライブラリを使ったお試しコード用のMakefileをcmakeで簡単に作ることを目指す。例題用コード画面に800x600の白いウインドウを表示するだけのX11ライブラリを使った簡単なプログラムを用意した。閉じるボタンを押しても死なないのはご愛嬌。書くcmakeを使うためにはCMakeLists.txtを記述する必要がある。上記のソースコードと同じディレクトリに以下のCMakeLists.txtを作成する。${X11_LIBRARIES})3行目のadd_executableはcreate_windowという実行形式の作成とそれにcreate_window.cというファイルが必要であることが記載されている。4行目のfind_packageはビルドに必要なX11パッケージを使用する旨が記載されている。5行目のtarget_link_librariesにはcreate_windowのリンクに必要なライブラリが記載されている。2番目の引数X11_LIBRARIESは4行目のfind_packageの際に取り込まれた変数で、X11ライブラリ一覧が記載されている。CMakeLists.txtが書けたら同じディレクトリでcmakeを実行してMakefileを生成する。.後ろのピリオド(カレントディレクトリを指定)を忘れずに。あとはmakeを実行すれば、カレントディレクトリにcreate_windowというバイナリができる。使用可能なパッケージを知るには上記では使用するパッケージとしてX11を指定した。使用できるパッケージの一覧はcmakeのモジュール一覧で確認できる。'^Find'さらにモジュールの詳細を以下のコマンドで確認できる。X11(snip)パッケージにないライブラリを使用するにはパッケージにないライブラリ(例えばlibEGL.so)を使用するにはCMakeLists.txtに以下のように記載する。${EGL_LIBRARY})正式な方法としては自前パッケージ(FindEGL.cmake)を作成する方法がある。それについては以下を参照。-g")さらに学ぶにはcmakeのチュートリアルがおすすめ。http://opencv.jp/cmake/cmake_tutorial.htmlFAQ複数の実行形式を作りたい。"BUILDTYPE=2")pkg-configを使いたいCMakeLists.txt内でfind_package(PkgConfig)を呼ぶことによってpkg_check_modulesコマンドを利用することができる。このコマンドはpkg-configを呼び出し、その結果を利用する。