|
|
157行目: |
157行目: |
| 詳細を知りたい場合は、[[Qtの設定 - CMake#CMakeのポリシー設定]]において、<code>cmake_minimum_required</code>コマンドの挙動を調整する方法を参照すること。<br> | | 詳細を知りたい場合は、[[Qtの設定 - CMake#CMakeのポリシー設定]]において、<code>cmake_minimum_required</code>コマンドの挙動を調整する方法を参照すること。<br> |
| これにより、CMakeは内部でバグを修正し、新しい機能を導入しながらも、過去の特定のリリースの期待される振る舞いを維持することができる。<br> | | これにより、CMakeは内部でバグを修正し、新しい機能を導入しながらも、過去の特定のリリースの期待される振る舞いを維持することができる。<br> |
| <br><br>
| |
|
| |
| == projectコマンド ==
| |
| 全てのCMakeプロジェクトは、<code>project</code>コマンドを含む必要があり、<code>cmake_minimum_required</code>コマンドの後に記述する。<br>
| |
| <syntaxhighlight lang="cmake">
| |
| # CMake 3.0以降
| |
| project(
| |
| <プロジェクト名>
| |
| [VERSION <メジャー番号>[.<マイナー番号>.<バグフィックス番号>.<ビルド番号>]]
| |
| [LANGUAGES <プログラム言語名 例. CやCXX等>]
| |
| )
| |
|
| |
| # CMake 2.x以前
| |
| project(
| |
| <プロジェクト名>
| |
| [<プログラム言語名 例. CやCXX等>]
| |
| )
| |
| </syntaxhighlight>
| |
| <br>
| |
| <code><プロジェクト名></code>オプションは必須であり、英数字、アンダースコア(<code>_</code>)、ハイフン(<code>-</code>)が使用できる。<br>
| |
| ただし、空白は使用できない。<br>
| |
| <code><プロジェクト名></code>は、引用符で囲む必要はない。<br>
| |
| <br>
| |
| <code>VERSION</code>オプションは、CMake 3.0以降でのみサポートされている。<br>
| |
| <br>
| |
| <code>LANGUAGES</code>オプションは、CMakeプロジェクトで有効にするプログラム言語を指定する。(<code>C</code>、<code>CXX</code>、<code>Fortran</code>、<code>ASM</code>、<code>Java</code>等)<br>
| |
| 複数の言語を指定する場合は、それぞれをスペースで区切る。<br>
| |
| <br>
| |
| 特殊な状況下では、CMakeプロジェクトはプログラム言語を使用しないことを示す必要がある場合が存在する。<br>
| |
| このような場合、<code>LANGUAGES NONE</code>を指定する。
| |
| <br>
| |
| CMake 2.x以前では、<code>LANGUAGES</code>オプションがサポートされていないため、<code><プロジェクト名></code>の後にプログラム言語を指定する。<br>
| |
| <br>
| |
| <code>project</code>コマンドの重要な役割の1つは、有効化された各言語のコンパイラをチェックして、正常にコンパイルとリンクを行えるかどうかを確認することである。<br>
| |
| コンパイラやリンカのチェックが正常に終了した後、その結果はキャッシュされて、ビルドディレクトリのCMakeCache.txtファイルに保存される。<br>
| |
| その後、CMakeは有効化された機能を制御する多くの変数とプロパティをセットアップする。<br>
| |
| <br>
| |
| <code>project</code>コマンドの値は、変数<code>PROJECT_NAME</code>に自動的に設定される。<br>
| |
| 例えば、プロジェクトのCMakeLists.txtファイル内で<code>${PROJECT_NAME}</code>を使用することにより、プロジェクト名を参照することができる。<br>
| |
| <br><br> | | <br><br> |
|
| |
|