CMake メモ

基本

変数

set 命令を使う。

set (HOGE) 

とした場合、空の変数 hoge を作ることができる。 変数にデータを入れたい時は

set (HOGE "0")

とする。変数をさらに変数に入れたい場合には ${} で展開する。 HUGA と HUGA にそれぞれ"0"と "1"を入れて、 HUGA の内容に HOGE を追加したい場合には以下のようにする。

set (HOGE "0")
set (HUGA "1")
set (HUGA ${HUGA} "${HOGE}")

インクルードファイル

include_directories 命令を使う。 include ファイルがあるディレクトリを指定する。 以下のように一行毎に書いてもいいし、

include_directories(${FOO_INCLUDE_DIR})
include_directories(${BAR_INCLUDE_DIR})

以下のように纏めることもできる。

include_directories(${FOO_INCLUDE_DIR} ${FOO_INCLUDE_DIR})

cmake ファイルへのパス

CMake は基本的に.cmake ファイルをCMakeで管理している。 よって提供されていない場合には自分で作成するしかない。 作成した .cmake ファイルを探すパスを追加する必要がある。 CMAKE_MODULE_PATH を使う。 みんな cmake/modules に置いているので、以下のように設定しておくとよいだろう。

set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules")

マクロの定義

if(NOT COMMAND oreore_macro)
    macro(oreore_macro)
        message(${ARGN})
    endmacro()
endif()

ライブラリ