Visual Studioのビルド
一般
General ページには、このエージェントによって開始される VS ビルドに影響する設定が含まれています。
複数のCPU/コアの使用
リンクステップをローカルで並列に実行できるようにする。
このオプションは、異なるプロジェクトのリンクステップのイニシエータマシン上での並列実行を許可するかどうかを決定します。システムのメモリが複数のリンク ステップを処理できる場合にのみ選択してください。
Max.並列リンクに使用するCPU/Coreの数
[Allow linking steps to run in parallel locally] オプションが有効になっている場合、どの時点においても、リンクステップを並行して実行できる最大 CPU またはコア数を入力します。
プロジェクト
エラーの有無にかかわらず全てのプロジェクトをビルドする
このオプションを選択すると、依存する構成がビルドエラーで失敗しても、Incredibuild は継続して残りの構成のビルドします。プロジェクトをビルドする際に [Batch Build] ダイアログで別の値を指定して上書きできます。この新しいオプションは、それ以降のビルドでも有効です。
Advanced
Advanced ページには、このAgentによって開始される Visual Studio ビルドに影響する詳細設定が含まれています。
IDEパスの代わりに環境変数を使用する
このオプションを選択すると、Incredibuild は IDE で設定された変数の代わりにローカル環境変数 INCLUDE、LIB、および PATH を使用します。
投機的実行(Visual Studio 2010 以降)
Enhance throughput using out-of-order tasks spawning
このオプションを有効にすると (VS2010 以降)、Incredibuild に Visual Studio のタスク (コンパイル、リンク、RC など) を Visual Studioが通常実行する順番ではなく、最適化された順番で実行するように指示することで、ビルド・パフォーマンスが大幅に向上する場合があります。
Visual Studio のビルド タスクの時間当たりの処理量が増えるため、ビルドのパフォーマンスと CPU 使用率が改善します。例えば「プロジェクト A」に依存した「プロジェクト B」を考えてみましょう。通常であれば Visual Studio と Incredibuild はともに「プロジェクト A」のコンパイルとリンクが終わってから「プロジェクト B」を処理しますが、「予測実行」機能が有効な場合は「プロジェクト B」のコンパイル タスクの一部を「プロジェクト A」のタスクと同時に実行します。
重要:
WiiU、Café、Nintendo 3DS、および、CUDAコンパイラのプラットフォームやコンパイラでは、現在、投機的実行機能がサポートされていないため、無効になっています。これらのツールを使用しているマシンで「予測実行」機能を有効にしないでください。
PDBファイルの割り当て
PDBファイルの同時インスタンス数をXに制限する
このオプションを選択すると、Incredibuild は、同じプロジェクトに属するファイルのうち、同時にビルドできるファイルの数を制限します。PDB ファイルの数を抑えてリンク時間を短縮することができます。有効にすると、ビルドの並列化も制限を受けます。特定のプロジェクトで並列実行できるコンパイル数はここで設定した値以下になります。例えば、並列実行可能な 2つのプロジェクト (A と B) があり、このオプションを使って同時実行する PDB ファイル インスタンスを「8」に設定したとします。各プロジェクトに 100 件のコンパイルがあるとすると、並列実行されるコンパイルは 16 件 (「プロジェクト A」から 8 件、「プロジェクト B」から 8 件) となります。
このオプションを実際に使用する前に様々な値を試してみてください。一般的にこのオプションはプロジェクト数の多いソリューションに適しています。これは、プロジェクト数が多いほど並列化の余地があるためです。
64ビットツールセットを強制する
このオプションを選択すると、Incredibuild は Visual Studio の下でデフォルトの 32 ビット・ツールセットではなく、Visual Studio のネイティブ 64 ビット・ツールセットを使用してビルドを実行します。VS 2013 および VS 2015 のビルドが対象です。
リンカがより多くのメモリを使用できるようになるため、LNK1318 などのリンカーのメモリ関連の問題が解決されるとともに、一定程度のパフォーマンスが追加されます。
情報を閲覧する
「Browse Information」 ページは、Agentがプロジェクトのブラウズ情報を作成する方法をコントロールします。
情報の作成を閲覧する
MSVCのブラウズ情報機能は、シンボル定義や宣言へのソースコードナビゲーション、関数パラメータの自動補完や、そのほかにも便利な機能を備えています。この機能の使用時にコンパイラはソースファイルに拡張子「.SBR」のファイルを生成し、各ビルドの最後に BSCMake ツールを実行してブラウズ情報を生成します。このツールは MSVC がブラウズ情報に使用する単一のファイル (.BSC) に「.SBR」ファイルを「リンク」します。ブラウズ情報を生成するとビルドが遅くなることがあるため、常に使用されているわけではありません。
ブラウズ情報の作成時の動作は次から選べます。
プロジェクトの設定に従って常に.SBRファイルを生成する
このオプションを選択すると、ビルドする構成のプロジェクト設定で、「C/C++ページでブラウズ情報を生成する」(VC6.0)、または、[C/C++->ブラウズ情報ページでブラウズ情報を有効にする」(VC.NET)を指定している場合に限り、「.SBRファイル」(ブラウズ情報の構築に使用)が生成されるようになります。無効にすると、[Generate .BSC file] の設定に応じて .SBR ファイルの生成を決定します。このため Incredibuild と MSVC の両方でプリコンパイル済みヘッダーを使ったプロジェクトをビルドすると、相互運用上の問題が生じることがあります。
「.BSCファイル」(Source Browserデータベース)を生成します。
このオプションは、Incredibuild がブラウズ情報をビルドする BSCMake ステップを実行するかどうかをコントロールします。次から選びます。
- 「According to 'Generate browse info' project setting」: MSVC のプロジェクト設定ダイアログの「C/C++」ページで設定したコンパイル時の .SBR ファイル生成の設定で [Generate browse info] が有効な場合のみブラウズ情報を作成します。[Build browse info file] の設定 (プロジェクト設定ダイアログの「Browse Info」ページ) は動作に関係ありません。
- [Never]: ブラウズ情報を作成しません。デフォルトで選択されています。
- [Always]: 常にブラウズ情報を生成します。
- [Only for configurations containing these words]: 構成名で検索する文字列のリストを指定します。検出された構成のブラウズ情報が作成されます。コンマ (,) またはセミコロン (;) で区切って複数の文字列を入力できます。例えば「Debug」という文字列を指定した場合「Debug」の文字を含む全構成のブラウズ情報が作成されます。なお、キーワード検索は大文字と小文字を区別せず、英字のみに対応しています。
注意: 「常にプロジェクト設定に従って.SBRファイルを生成する」のオプションを選択し、「.BSCファイルを生成する」オプションとプロジェクト設定の間に矛盾がある場合は、プロジェクト設定に従ってその設定が決定づけられます。