統合モードの設定
Visual Studio でビルドを実行する場合は、外部モードまたは内部モードを選ぶことができます (デフォルトは外部モード)。統合モードはビルドに応じて変更できます。
注意: CMake プロジェクトは必ず内部モードで実行されます。
-
Visual Studio で、Tools >Options, orIncredibuild >Extension Settings、もしくは、Extensions >Incredibuild > Extension Settingsと進みます。
-
Incredibuild Extension >Integration Mode を選択し、必要なIncredibuild Integration モードを選択します。
外部 (External) モード
Visual Studio の設定や手順をバイパスして Incredibuild にビルド プロセスを最初から最後まで完全に制御させます。起動は Visual Studio から行いますが、Visual Studio のネイティブ プロセス外部で動作します。Incredibuild 9.5.0 以前は外部モードのみでした。外部モードではビルド開始時に追加でメモリが使われるため初期化の時間がわずかに長くなります。
外部モードの特徴は次の通りです。
-
予測実行機能をサポート (ネイティブでは未対応) しているので、依存関係がないコンパイル タスクであれば、より高度な並列処理でビルドをさらに高速化できます。
-
バッチビルド機能を使用できます。
-
Visual Studio から実行したビルドと Incredibuild BuildConsole を使ってコマンドラインから実行したビルドで同じ出力を生成します。
-
ビルドの進捗状況や出力を Visual Studio 内の Incredibuild ビルドモニターに表示できます。
-
Visual StudioOutput ウィンドウのBuild Order ビューが表示されます(Internal モードのProjects ビューの代わりに表示されます)。
内部 (Internal) モード
Visual Studio の特別な設定をビルドに適用したい場合や、Visual Studio のポストビルド ウィンドウ、プロシージャ、拡張機能、メッセージを使用したい場合は内部モードを使用します。
注意: 内部モードは Visual Studio 2017 以降でご利用になれます。
内部モードの特徴は次の通りです。
-
Incredibuild をビルド プロセスに統合して、Visual Studio のネイティブ プロセスと構成でビルドを実行します。設定と手順は Visual Studio のままなので違和感なく操作を行えます。
-
すべての処理とポストビルド プロセスが Visual Studio 単独の場合と同じように動作します。ビルドにかかる時間が外部モードよりも短くてすみます。
-
ビルドの出力やエラーは Visual Studio のネイティブ ウィンドウに表示されます。
-
Visual Studio の「出力」ウィンドウに [Build Order] ビューが表示されます。
-
ビルドの進行状況の確認や「出力」ウィンドウの結果を処理するための拡張機能をサポートしています。
-
「エラー一覧」ウィンドウにビルドの結果が反映され、フィルタリング済みのビューが表示されるのでソースコードへ簡単に移動できます。
-
Visual Studio から実行したビルドと Incredibuild BuildConsole を使ってコマンドラインから実行したビルドではほとんどの場合、異なる出力を生成します。これは、Visual Studio からビルドを実行する際には Visual Studio の設定が適用される一方、コマンドラインからでは適用されないためです。
次の機能は内部モードではご利用になれません。
-
バッチビルド機能: ビルド開始時に自動的に外部モードに切り替わります。
-
投機的実行 機能がエージェント設定 で有効になっている場合、Incredibuild はビルドが始まると 自動的にこの機能を無効にし、つまり、この機能なしの Internal モードでビルドが実行されます。
-
[eUse environment variables instead of IDE paths] と [Force 64-bit toolset]: これらのオプションは内部モードでは適用されません。
-
Incredibuild Build Monitor のProjects ビューは使用できず、Visual StudioOutput ウィンドウのBuild Order ビュー(プロジェクトでソートした出力結果を表示)に置き換えられます。
-
レジストリで設定されている Incredibuild のオプションの一部は内部モードでは利用できません。