Cmakeメモ

使い方
カレントディレクトリにCmakeLists.txtを用意して,下記コマンドを実行.

$ cmake . # "."はビルドディレクトリ.これでMakefileが生成される
$ make

makeを実行しても何も出力されないのはMakefileに$(VERBOSE).SILENTが指定されているから.
実行過程の情報が欲しければこれをコメントアウトする.

CmakeLists.txtの書き方

# cmakeのバージョン
cmake_minimum_required(VERSION 2.8) 

# -I : include pathを順に追加
include_directories(/usr/share/path1)
include_directories(/usr/share/path2)

# -D : 定義を追加
add_definitions(-DDEBUG)

# -L : ライブラリ検索パスを追加
link_directories(/usr/share/lib)

# 出力する実行可能形式と,それが依存するソースファイル.(ヘッダは自動解析)
add_executable(Main main.cpp src1.cpp src2)       

# -l : リンクライブラリ (add_executableよりも後ろに書く) -lm -lglut を指定する
target_link_libraries(Main glut m)


特定のアプリの場合

# cmakeのバージョン
cmake_minimum_required(VERSION 2.8) 

find_package(GLUT)
find_package(OpenGL)

set(CMAKE_CXX_FLAGS "-g -Wall")
add_executable(Main main_openGL.cpp)
target_link_libraries(Main ${GLUT_LIBRARY} ${OPENGL_LIBRARY} m)

特定のアプリ(OpenGL, OpenCV, Qt)などはcmake側で予め用意されている.
用意されているアプリは/usr/share/cmake/Module/Find.cmakeにある.