CMake の新機能の使用 (VS2017)

Incredibuild は Visual Studio 2017 の新しい CMake 機能に対応していません。ここではコマンドラインで新機能を使用する方法をみていきます。

CMake のサンプル プロジェクト (https://www.codeproject.com/Articles/1181455/A-CMake-tutorial-for-Visual-Cplusplus-developers) を使って試すことができます。

サンプル プロジェクトで可能な処理は、ご使用の CMake ファイルやソリューションにも適用できます。

生成:

  1. プロジェクトをダウンロードしてファイルをすべて同じフォルダにコピーします。

  2. Visual Studio に該当のフォルダを読み込みます。CMake では新規ファイルが自動で生成されますが、CMake の出力を Visual Studio にコピーする必要があります。

  3. CMake の出力に記載されたフォルダに以下のコマンドが生成されます。C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\CMake.exe" -G "Ninja" -DCMAKE_INSTALL_PREFIX:PATH="C:\Users\Beelal\CMakeBuilds\4ad98d3d-1ddb-bf3a-b858-3709d1a407c1\build\x86-Debug\install" -DCMAKE_BUILD_TYPE="Debug" -DCMAKE_MAKE_PROGRAM="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\Ninja\ninja.exe" "C:\Users\Beelal\Desktop\cmakedemo\cmakedemo\src- Save the command as "generation_command.bat"

  4. 上記コマンドを Incredibuild で実行するために XML プロファイルを作成して、(生成されたコマンドを含む) 2 番目のビルドコマンドを作成します。

    • 以下のように記述して XML プロファイルを「profile.xml」として保存します。

  5. 以下のコマンドを入力して元のコマンドを Incredibuild と「ラップ」します。

    • "ibconsole /command="generation_command.bat" /profile="profile.xml" /openmonitor"

    • バッチ ファイル「ib_command.bat」を作成すれば、次回から手動でコマンドを入力する必要がなくなります。

  6. 上記を実行すると、Incredibuild が関連するソリューションを生成します。

ソリューションのビルド:

  1. 上記手順でソリューションが生成されたら、Incredibuild でソリューションを高速にビルドします。

  2. 「C:Users\Beelal\CMakeBuilds\4ad98d3d-1ddb-bf3a-b858-3709d1a407c1」に格納されたプロジェクトに対して以下のコマンドを使用します。

    • "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin\CMake.exe" --build "C:\Users\Beelal\CMakeBuilds\4ad98d3d-1ddb-bf3a-b858-3709d1a407c1\install\x86-Debug" --clean-first -- "-v"

    • コマンドを「build_command.bat」として保存します。

  3. 以下のコマンドを使って Incredibuild でビルドします。

    • buildconsole /command="build_command.bat"

  4. これで Incredibuild を使って CMake ソリューションをビルドできるようになります。