A certain engineer "COMPLEX"

開発メモ その93 boostを使った最小のCMakeプロジェクト

Introduction


クロスプラットフォームのアプリケーションを作成するとき、CMakeは鉄板中の鉄板ですが、魔術のようなCMakeLists.txtを書くのはうんざりします。
Visual Studioならプロパティからヘッダーの参照、ライブラリの参照、という感じでスラスラ作業できますが。

そんな中クロスプラットフォームのコンソールアプリを作る必要に駆られたのでメモ。
ソースは下記になります

といっても、ソースそのものは本質では無く、CMakeLists.txtとboostの使い方が一番の肝。
特に、boostのパスを外部から指定してビルドするのがターゲットになります。

Explanation


まずは、CMakeLists.txt

色々コメントがありますが、add_executableで実行ファイルを指定しているのと、include_directoriesでboostのパスを指定するのが肝。
特に、include_directoriesが無いと、cmakeコマンドにboostのパスを渡してもビルドに失敗します。

次に、main.cpp

円周率を表示するだけです。

Build&Run


ビルドします。
CMakeLists.txtmain.cpが同じ階層にあるものとし、カレントディレクトリがCMakeLists.txtと同じだとします。
また、CMakeのパスは通っているものとします。

上のような感じです。

Conclusion


意外とboost+CMakeの簡単なアプリという組み合わせが無くて困りました。
ましてや、boostのパスを外部から指定するタイプの完全なサンプルが無かったのです。
インストール済みのboostをfindするのはあったのですが。

Source Code

https://github.com/takuya-takeuchi/Demo/tree/master/CMake1

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。