13,007
回編集
118行目: | 118行目: | ||
endif() | endif() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<br><br> | |||
== ソースツリーおよびビルドツリー == | |||
ビルドに使用されるソースコードを含むトップレベルディレクトリをソースツリーと呼ぶ。<br> | |||
ソースツリーは、トップレベルのCMakeLists.txtが配置され、プロジェクトが定義される。<br> | |||
<br> | |||
ビルドの生成物を保管するためのディレクトリをビルドツリーと呼ぶ。<br> | |||
ビルドツリーは、CMakeCache.txtが作成・保管され、キャッシュ変数やオプション等が格納される。<br> | |||
<br> | |||
同一ディレクトリを両方の用途に使用することも可能であるが、ビルドツリーをソースツリーと分離(out-of-source build)して、ソースツリーを綺麗に保つことが推奨されている。<br> | |||
<br> | |||
<code>cmake</code>コマンドの実行中において、実行時の情報を提供する変数が多数提供されている。<br> | |||
例えば、処理中の位置を取得する場合は、次のような変数がある。<br> | |||
* <code>CMAKE_SOURCE_DIR</code> (非推奨) | |||
*: ソースツリーの絶対パス | |||
*: <br> | |||
* <code>CMAKE_BINARY_DIR</code> | |||
*: バイナリツリーの絶対パス | |||
*: <br> | |||
* <code>CMAKE_CURRENT_SOURCE_DIR</code> | |||
*: ソースツリーにおける現在処理中のディレクトリの絶対パス | |||
*: <br> | |||
* <code>CMAKE_CURRENT_BINARY_DIR</code> | |||
*: ビルドツリー内における現在処理中のディレクトリの絶対パス | |||
<br><br> | <br><br> | ||