Visual Studio Builds

General

General 页面含有影响此 Agent 所启动 Visual Studio Builds 的设置:

Multiple CPU/Core Utilization

允许链接步骤在本地并行运行:

此选项确定是否允许不同项目的链接步骤在 Initiator 机器上并行运行。建议仅在您的系统内存支持多链接步骤的情况下选择该选项。

Max.number of CPU/Cores used for parallel linking:

启用 Allow linking steps to run in parallel locally 时,输入可用于在某一指定位置并行执行链接步骤的最大 CPU 或内核数。

Projects

Build all Projects Regardless of Errors

勾选该选项后,即使某一独立配置执行失败并提示构建错误,Incredibuild 仍会继续处理构建项目中剩余的配置内容。构建项目时,通过在 Batch Build 对话框选择不同的值可在对应项目中覆盖该选项。新选项将会应用到后续构建项目中。

Advanced

Advanced 页面含有影响此 Agent 所启动 Visual Studio Builds 的高级设置:

Use Environment variables instead of IDE paths

勾选该选项后,Incredibuild 将使用本地环境变量(INCLUDE、LIB 和 PATH)而不是 IDE 中设置的变量。

预测执行程序(Visual Studio 2010 或更高版本)

Enhance throughput using out-of-order tasks spawning

启用该选项(VS2010 或更高版本)可通过指示 Incredibuild 以经过优化的顺序执行 Visual Studio 任务 (编译、链接、RC 等),从而大幅提升构建效率。通过这种方法执行任务的顺序不一定与 Visual Studio 的执行顺序一致。

Incredibuild 会尝试增加 Visual Studio 的构建任务吞吐量,从而激发构建性能和 CPU 利用率。应用场景示例:项目 B 依赖于项目 A。通常情况下,Visual Studio 和 Incredibuild 都会先完成整个 A 项目的编译和链接,然后再处理项目 B。启用“predictive execution”后,Incredibuild 可能会推断出项目 B 的某些编译任务可以与项目 A 的任务同时执行。

重要事项:

“预测执行程序”功能目前不支持下列平台/编译器,需在使用时禁用该功能:WiiUCaféNintendo 3DSCUDAcompiler。禁止在使用上述工具中任何一种的计算机上启用“预测执行程序”功能。

PDB File Allocation

Limit Concurrent PDB file instances to X

勾选该选项后,Incredibuild 将限制同一项目中可并行构建的文件数量。这样只有少数 PDB 会被处理,从而加快链接时间。勾选该选项还能限制构建中的并行任务数量,即特定项目中可并行执行的编译任务数量不能超过设定的值。例如,如果你有两个可并行执行的项目,并且勾选了该选项将并行 PDB 文件实例数量限制为 8。假设每个项目包含 100 个编译任务,最终会执行十六个编译任务 – 项目 A 和项目 B 分别执行八个任务。

建议启用该功能前使用不同的值进行测试。通常而言,项目数量越多,任务可并行处理的可能性也就越大,所以该功能更适用于涉及大量项目的方案。

Force 64-bit toolset

勾选该选项后,Incredibuild 将在 Visual Studio 环境中使用 Visual Studio 的原生 64 位工具集而非默认的 32 位工具集执行构建项目。该功能仅会对运行在 VS 2013 和 VS 2015 环境中的构建项目生效。

选择该选项可提升一定的性能,同时解决与 Linker 内存相关的各种问题,比如 LNK1318 用作 Linker 时可使用更多内存。

Browse Information

Browse Information 页面用于控制 Agent 创建项目浏览信息的方式。

Browse Information Creation

MSVC 的浏览信息功能可以使源代码导航到符号定义和声明部分,自动完成函数参数以及其他功能。使用过程中,编译器会为每个源文件生成一个扩展名为 .SBR 的文件。每次构建结束时,通过运行 BSCMake 工具生成浏览信息,该工具将 .SBR 文件 “链接”到 MSVC 用于浏览信息的单个文件中(扩展名为 .BSC)。生成浏览信息会影响构建速度,因此不会一直启用该功能。

创建浏览信息时,Incredibuild 提供下列行为选项:

Always generate .SBR files according to project settings

勾选该选项后,只有当正在构建的配置在 C/C++ 页面 (VC6.0) 指定了“Generate browse info”或在 C/C++->Browse information 页面 (VC.NET) 指定了“Enable browse information”时才会生成 .SBR 文件(用于构建浏览信息)。取消勾选该选项,Incredibuild 将根据 “Generate .BSC file”设置决定是否生成 .SBR 文件。而在同时应用 Incredibuild 和 MSVC 构建使用预编译头文件的项目时,这可能会导致互操作性问题。

Generate .BSC (Source Browser database) file:

该选项用于控制 Incredibuild 是否执行构建浏览信息的 BSCMake 步骤。以下选项可用:

  • According to 'Generate browse info' project setting – MSVC Project Settings 对话框的 C/C++页面定义了编译时是否生成 .SBR 文件。选择该选项后,Incredibuild 仅在勾选了 Project Settings 的 “Generate browse info”选项时才会生成浏览文件。请注意,“Build browse info file”设置(可在 Project Settings 对话框的“Browse Info”页面找到选项)不会对 Incredibuild 的行为产生任何影响。
  • Never – 任何情况下均不生成浏览文件。该选项为默认选项。
  • Always – 总是生成浏览文件。
  • Only for configurations containing these words – 允许指定字符串列表,供 Incredibuild 在配置名称中查找。如果查找到一条或多条内容,则会相应生成配置的浏览信息。支持输入多条字符串,并用逗号或分号分隔。例如,如果在该选项中使用“Debug”字符串,Incredibuild 将为所有包含“Debug”的配置生成浏览信息。请注意,关键字搜索不区分大小写,仅支持英文字符。

注意:勾选“Always generate .SBR files according to project settings”后,“Generate .BSC file”选项和项目设置若存在冲突,将以具体项目设置为准