13,040
回編集
(ページの作成:「== 概要 == CMakeとは、多様なプラットフォームでソースコードをビルドするためのツールである。<br> <br> ここでは、CMake向けに…」) |
|||
| 26行目: | 26行目: | ||
cmake -DCMAKE_INSTALL_PREFIX=<インストールディレクトリ> <ソースコードがあるディレクトリ> | cmake -DCMAKE_INSTALL_PREFIX=<インストールディレクトリ> <ソースコードがあるディレクトリ> | ||
<br> | <br> | ||
オプション設定を対話式に変更する場合は、<code>ccmake</code>コマンドを使用する。<br> | |||
ccmakeの操作方法は、画面下部に表示されている通りである。<br> | |||
矢印キーもしくは[J]キー、[K]キーでカーソルが上下に移動すると、中段に選択中の変数の説明が表示される。<br> | |||
[Enter]キーでその項目を編集して、[C]キーでConfigureを実行、[G]キーでGenerateを実行して、ccmakeを終了する。<br> | |||
ccmake <ソースコードがあるディレクトリ> | ccmake <ソースコードがあるディレクトリ> | ||
<br> | |||
オプション設定をGUIに変更する場合は、buildディレクトリを作成して、その中で以下のコマンドを実行する。<br> | |||
cmake-gui <ソースコードがあるディレクトリ> | |||
<br><br> | |||
== ビルドタイプの指定 == | |||
変数を通したプロジェクト設定の例として、デバッグ / リリース等のビルドタイプを指定する方法がある。<br> | |||
この設定には、<code>CMAKE_BUILD_TYPE、CMAKE_CONFIGURATION_TYPES</code>という2つのキャッシュ変数が絡む。<br> | |||
どちらを設定すべきかは、ジェネレータによって変わる。<br> | |||
<br> | |||
==== Makefile ==== | |||
ジェネレータがMakefileの場合、単一のビルドオプションしか保持できないので、Configure / Generate時にビルドタイプを指定する。<br> | |||
ビルドタイプは、キャッシュ変数<code>CMAKE_BUILD_TYPE</code>に値を設定することで指定できる。<br> | |||
cmake -DCMAKE_INSTALL_PREFIX=<インストールディレクトリ> -DCMAKE_BUILD_TYPE=Release <ソースコードがあるディレクトリ> | |||
<br> | |||
次に、生成されたMakefileを使用してビルドする。<br> | |||
cmake --build . | |||
<br> | |||
CMakeでは、標準でDebug、Release、MinSizeRel、RelWithDebInfoの4種類のビルドタイプが用意されている。<br> | |||
それぞれどのようなビルドオプションが採用されるかはコンパイラによって違うので、別途調べること。<br> | |||
<br> | |||
==== IDE ==== | |||
ジェネレータがVisual StudioやXcodeといったIDEの場合、プロジェクトファイルに複数のビルドタイプを保持できるので、<br> | |||
Configure / Generate時にビルドタイプを指定する必要はない。<br> | |||
cmake -DCMAKE_INSTALL_PREFIX=<インストールディレクトリ> <ソースコードがあるディレクトリ> | |||
<br> | |||
次に、ビルドの実行時に、どのビルドタイプを使用するかを指定する。<br> | |||
cmake --build . --config Release | |||
<br> | |||
プロジェクトファイルに含めるビルドタイプを、<code>Release</code>と<code>RelWithDebInfo</code>の2つに限定する場合は、<br> | |||
キャッシュ変数<code>CMAKE_CONFIGURATION_TYPES</code>に<code>Release;RelWithDebInfo</code>のように値を設定する。<br> | |||
<br><br> | <br><br> | ||
__FORCETOC__ | __FORCETOC__ | ||
[[カテゴリ:CentOS]][[カテゴリ:SUSE]] | [[カテゴリ:CentOS]][[カテゴリ:SUSE]] | ||