差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| fltk:helloworld-cmake [2025/05/24 22:55] – [CMakeLists.txt] freemikan | fltk:helloworld-cmake [2025/05/30 14:01] (現在) – [CMakeを使ったHello World] Add a link to fltk: page for FLTK logo freemikan | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| ====== CMakeを使ったHello World ====== | ====== CMakeを使ったHello World ====== | ||
| + | [[fltk: | ||
| - | {{: | + | このページでは、[[helloworld|前回のチュートリアル]]で作成したのとまったく同じプログラムを、CMakeを使ってビルドする方法を紹介します。 |
| + | 具体的には、FLTKを利用するために必要なCMakeListsファイルの最低限の内容とcmakeコマンドの実行方法だけ紹介します。 | ||
| + | CMake自体についての詳しい解説は行いません。 | ||
| ===== 前提 ===== | ===== 前提 ===== | ||
| 行 7: | 行 10: | ||
| 違う場所にインストールした場合は(そうであっても全く問題ありません)、パスをご自身のものに置き換えてください。 | 違う場所にインストールした場合は(そうであっても全く問題ありません)、パスをご自身のものに置き換えてください。 | ||
| - | CMakeもインストールされている必要があります。 | + | また、CMakeもインストールされている必要があります。 |
| ===== 作業ディレクトリの用意 ===== | ===== 作業ディレクトリの用意 ===== | ||
| 作業ディレクトリは $HOME/ | 作業ディレクトリは $HOME/ | ||
| 行 27: | 行 30: | ||
| ===== プログラムのソースコード ===== | ===== プログラムのソースコード ===== | ||
| プログラムのソースコード[[fltk: | プログラムのソースコード[[fltk: | ||
| - | main.cppという名前でコピーを作成しておきます。 | + | 作業ディレクトリhello-fltk-cmake直下にmain.cppという名前でコピーを作成しておきます。 |
| ===== CMakeLists.txt ===== | ===== CMakeLists.txt ===== | ||
| + | 作業ディレクトリhello-fltk-cmakeの直下にCMakeLists.txtという名前のファイルを作成します。 | ||
| __CMakeLists.txt__: | __CMakeLists.txt__: | ||
| 行 46: | 行 50: | ||
| </ | </ | ||
| - | CMake自体にFLTKのMODULEモードのコンフィギュレーションが(FindFLTK.cmake)が同梱されています。 | + | CMake自体にFLTKのMODULEモードのコンフィギュレーション(FindFLTK.cmake)が同梱されています。 |
| 一方、FLTKもCMakeのコンフィギュレーションを提供しています。 | 一方、FLTKもCMakeのコンフィギュレーションを提供しています。 | ||
| - | 可能ならばFLTKの方を利用するほうが良いでしょう。 | + | なるべくFLTKが提供するものを利用するほうが良いでしょう。 |
| FLTK 1.3まではMODULEモードのコンフィギュレーションが提供されていましたが、FLTK 1.4からCONFIGモードのコンフィギュレーションが提供されています。 | FLTK 1.3まではMODULEモードのコンフィギュレーションが提供されていましたが、FLTK 1.4からCONFIGモードのコンフィギュレーションが提供されています。 | ||
| 上のCMakeLists.txtのように '' | 上のCMakeLists.txtのように '' | ||
| 行 54: | 行 58: | ||
| あまり詳細に踏み込みたくはないので、今回は最低限のオプションのみ指定しました。 | あまり詳細に踏み込みたくはないので、今回は最低限のオプションのみ指定しました。 | ||
| ===== ビルドディレクトリの作成 ===== | ===== ビルドディレクトリの作成 ===== | ||
| + | 現在の作業ディレクトリhello-fltk-cmakeの中にbuildという名前のディレクトリを作成して、その中に移動します。 | ||
| <cli> | <cli> | ||
| 行 61: | 行 66: | ||
| ===== CMakeコンフィギュレーションの実行 ===== | ===== CMakeコンフィギュレーションの実行 ===== | ||
| + | buildディレクトリの中でcmakeコマンドを実行します。 | ||
| <cli> | <cli> | ||
| 行 66: | 行 72: | ||
| </ | </ | ||
| + | CMAKE_PREFIX_PATHにFLTKをインストールしたパスを設定するのが最大のポイントです。 | ||
| + | もし標準的なディレクトリFLTKをインストールしたのであれば不要なオプションです。 | ||
| + | しかし、今回のように非標準的な場所にインストールした場合であっても、柔軟かつ簡単に対処できるのはCMakeの強みの一つと言えます。 | ||
| ===== ビルドの実行 ===== | ===== ビルドの実行 ===== | ||
| + | CMakeコンフィギュレーション時に「-G」で指定しなければ、大抵はMakefileが生成されます。 | ||
| + | もしかしたらbuild.ninjaやそれ以外のケースがあるかもしれませんので、少し注意して経過を観察してみてください。 | ||
| + | |||
| + | Makefileが生成されているのであればmakeを実行します。 | ||
| <cli> | <cli> | ||
| 行 72: | 行 85: | ||
| </ | </ | ||
| - | あるいは | + | もしbuild.ninjaが生成されているのであればninjaを実行します。 |
| + | |||
| + | < | ||
| + | $ ninja | ||
| + | </ | ||
| + | |||
| + | どのビルドツールを実行するのかの判断をCMakeにまかせてしまう場合はcmakeをを実行します。 | ||
| <cli> | <cli> | ||
| $ cmake --build . | $ cmake --build . | ||
| </ | </ | ||
| + | |||
| + | この場合、カレントディレクトリを意味する「.」を忘れないようにしてください。 | ||
| ==== 結果の確認 ==== | ==== 結果の確認 ==== | ||
| + | ソースコード(hello-fltk-cmake.cpp)に問題がなければ、ビルドに成功して実行可能バイナリファイルが生成されます。 | ||
| <cli> | <cli> | ||
| 行 92: | 行 114: | ||
| ===== Hello Worldプログラムの実行 ===== | ===== Hello Worldプログラムの実行 ===== | ||
| + | 最後に、生成された実行可能バイナリファイルを実行して、プログラムが起動することを確認しておきましょう。 | ||
| <cli> | <cli> | ||
| $ ./ | $ ./ | ||
| </ | </ | ||
| + | |||
| + | うまく行けばウィンドウが表示されます。 | ||
| {{ : | {{ : | ||
| + | |||
