Programing/Tool/CMake/Guides/Tutorial のバックアップ(No.3)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Programing/Tool/CMake/Guides/Tutorial へ行く。
- 1 (2020-12-29 (火) 02:37:25)
- 2 (2021-01-01 (金) 06:53:03)
- 3 (2021-01-01 (金) 14:03:00)
- 4 (2021-01-01 (金) 17:14:18)
- 5 (2023-11-10 (金) 11:40:43)
CMake Tutorialの簡易翻訳
はじめに
Step1.基本
- 基本プロジェクト
最も基本的な、ソースコードから実行ファイルをビルドするプロジェクトです。
このような単純なプロジェクトの場合、必要なのはたった3行の CMakeLists.txt ファイルのみです。
次のような CMakeLists.txt ファイルをディレクトリに作成します。
バージョン番号と設定用ヘッダファイルの追加
- バージョン番号の追加
実行ファイルとプロジェクトにバージョン番号を追加します。 - 設定用ヘッダファイルの生成
設定したバージョン番号をソースコードに渡すためのヘッダファイルを生成します。
configure_fileコマンドを使用することで、テンプレートファイル(TutorialConfig.h.in)内にCMakeLists.txtで定義した変数の内容を埋め込んで、ヘッダファイル(TutorialConfig.h)を生成します。 - 検索パスの追加
設定用ヘッダファイルはバイナリツリーに書き込まれます。
そのため、ヘッダファイルを #include で検索するためには、パスのリストに追加する必要があります。
CMakeLists.txt の最後に次の行を追加します。 - テンプレートファイル
設定用ヘッダファイル(TutorialConfig.h)の元となるテンプレートファイル(TutorialConfig.h.in)を作成します。
CMakeがこのヘッダーファイルを生成すると、@Tutorial_VERSION_MAJOR@ と @Tutorial_VERSION_MINOR@ が変数値に置き換えられます。 - ソースファイルの変更
tutorial.cxxを変更して、設定用ヘッダーファイル(TutorialConfig.h)をインクルードします。
以下のように実装することで実行可能ファイルの名前とバージョン番号を出力できます。
C++規格への対応
- コードの修正
tutorial.cxx内のatofをstd::stodに置き換えて、C++11規格の機能を追加します。
同時に#include <cstdlib>を削除します。 - CMakeLists.txtの修正
C++11規格を使用する場合、CMakeコード上でも明示的に指定する必要があります。
特定のC++規格に対応する最も簡単な方法は、CMAKE_CXX_STANDARD変数を使用する方法です。
このチュートリアルでは、CMakeLists.txtファイルの CMAKE_CXX_STANDARD変数を11に設定し、CMAKE_CXX_STANDARD_REQUIREDをTrueに設定します。
add_executableの呼び出し前にCMAKE_CXX_STANDARD宣言を必ず追加してください。
ビルドとテスト
cmakeもしくはcmake-guiを実行して、プロジェクトを構成し、選択したビルドツールでビルをします。
For example, from the command line we could navigate to the Help/guide/tutorial directory of the CMake source code tree and create a build directory:
Next, navigate to the build directory and run CMake to configure the project and generate a native build system:
Then call that build system to actually compile/link the project:
Finally, try to use the newly built Tutorial with these commands: