WindowsでCMakeを使い、Visual Studio用のプロジェクト/ソリューションを生成する。

2019年2月24日C/C++,Programming,TECHNOLOGY,Windows

オープンソースのライブラリやらを使おうとしたとき、Visual Studioのプロジェクトファイルが見つからないことがありますよね。

ただ、フォルダをよくみるとCMakeLists.txtなるものがあったり。

このCMakeLists.txtとCMakeを組み合わせることで、ほとんどの場合Visual Studioのソリューションファイルを生成することができます。

と言うことで、今回はWindowsでCMakeを使いCMakeLists.txtからVisual Stuidoのプロジェクト/ソリューションを生成する手順を説明します。

 

 

CMakeについて超簡単な説明

CMakeは簡単に言うとマシンやOSごとに違う、依存関係などを解決してくれるためのツールです。

Linuxでアプリケーションをビルドする際にはMakefileを使用するのが一般的ですが、CMakeはどちらかと言うとmakeそのものに相当するのではなく、makeの前にだいたい使用することになるconfigureに近いようなものです。

CMakeを実行すると(設定によって変わりますが)、Windowsの場合はVisual Studioのプロジェクト、Macの場合はXcodeのプロジェクト、Linuxの場合はMakefileを作成してくれます。

あとは生成されたもの開いてビルドすればいいだけです。

 

 

CMakeのインストール

CMakeの公式サイト(https://cmake.org/)にアクセスし、上のDownloadページに行きます。

 

今回のターゲットは64ビット版WindowsなのでWindows x64-x64 Installerをダウンロードします。

 

インストーラーを実行し画面の指示に従ってインストールします。

 

インストーラーの途中でCMakeにPATHを通すか、聞かれます。

デフォルトのままPATHに追加しなくてもいいですが、コマンドラインから使う可能性が今後あるのであればPATHを通しておいて問題ないでしょう。

 

 

実際にCMakeを行ってみる。

CMakeを起動し、CMakeLists.txtをドラッグアンドドロップして読み込ませます。 (今回はテストとしてGLFWをCMakeします

 

すると使用したいVisual Studioのバージョンなどを聞かれるので、使いたいバージョンを選択し、Finishをクリックします (今回は Visual Studio 15 2017を使用します)

 

その後下の方にあるConfigureボタンをクリックします。

するとCMakeLists.txtの内容によってはこの画像のように赤く塗られたオプション表示が出てきます。

ここでビルドの設定などを変更することができます。

そして設定を反映させるためにもう一度Configureをクリックします。
(何も変更してなくてももう一度Configureをクリックする必要があります!)

 

赤い塗りつぶしも消え、無事Configureできました。

続いてプロジェクトファイルを作成するためにGenerateをクリックします。

 

コンソールにGenerating doneと表示されれば、プロジェクトファイルの作成が完了となります。

エクスプローラーから[プロジェクト名].slnを開く方法もありますが、Open ProjectボタンをクリックするとすぐにVisual Studioが開きます。

 

 

ビルド!

Visual Studioが開いたら、ソリューションエクスプローラーからALL_BUILDをビルドすることで全てのファイルをビルドすることができます。

ビルドする前にDebugなのか、Releaseなのかとかのオプションは変更しておきましょう。

 

 

終わり

CMakeが使えるようになることで様々なオープンソースのライブラリなどをビルドできるようになると思います。

ぜひみなさん活用してみてください。

 

CMake Cookbook: Building, testing, and packaging modular software with modern CMake (English Edition)

CMake Cookbook: Building, testing, and packaging modular software with modern CMake (English Edition)

Bast, Radovan, Di Remigio, Roberto
5,561円(03/14 06:25時点)
発売日: 2018/09/26
Amazonの情報を掲載しています
GNU Make 第3版

GNU Make 第3版

Robert Mecklenburg
3,080円(03/14 06:25時点)
Amazonの情報を掲載しています
C言語による スーパーLinuxプログラミング Cライブラリの活用と実装・開発テクニック

C言語による スーパーLinuxプログラミング Cライブラリの活用と実装・開発テクニック

飯尾 淳
3,366円(03/14 06:25時点)
発売日: 2011/06/07
Amazonの情報を掲載しています
Effective Modern C++ ―C++11/14プログラムを進化させる42項目

Effective Modern C++ ―C++11/14プログラムを進化させる42項目

Scott Meyers
4,180円(03/14 06:25時点)
Amazonの情報を掲載しています