Out-of-Source Build

ここまで簡単のために

cmake .
make

のようにビルドして来ましたがこれについて少し詳しく見ていきましょう。 cmakeコマンドは引数にディレクトリを取ります。 まずシェル上では.は現在のディレクトリ $PWD を指すので、 上のコマンドはcmakeに現在のディレクトリにあるCMakeLists.txtを探しに行けという命令をしていることに成ります。

さて cmake . を実行すると次のようなファイルが$PWDに生成されているはずです

CMakeFiles/
Makefile
cmake_install.cmake
CMakeCache.txt

これらはcmakeが生成したビルド用の設定ファイル群で、ユーザーは中身を見る必要の無いものです。 これらをどこに出力するかはcmakeの-B, --buildオプションで指定でき、デフォルトでcmakeコマンドを実行したディレクトリになります。

cmake . -B build

このようにCMakeLists.txtを探すパス.と設定を出力するパスbuildを指定することが出来ます。 それぞれcmakeのスクリプト中では${CMAKE_SOURCE_DIR}, ${CMAKE_BINARY_DIR} として参照できます

Links