Using IncrediBuild for Visual Studio 2010 and Later
You can use IncrediBuild with Visual Studio 2010 and later the same as with Visual Studio 2008 and earlier with the additions described in the following sections.
Check out the Visual Studio 2008 and Earlier section if you would like to see what has changed since then.
Using Profile.xml to Distribute Custom Steps and Execute Tasks in Visual Studio 2010 and Later Builds
By default, custom steps, exec tasks, and special build tools are not distributed to remote agents.
IncrediBuild can be enabled to distribute and manage these tasks, by using an XML file based on IncrediBuild Automatic Interception interface. A profile.xml file can be utilized in two ways in order to manage such tasks:
- In the command line of BuildConsole specify ‘/profile=[profile_file_name].xml’ (without the square bracket characters).
- Per solution, create ‘[solution_folder]\[solution_name].ib_profile.xml’ profile xml file, which will be loaded if no profile file was specified with the ‘/profile=[profile_file_name].xml’ switch.
The following XML file instructs IncrediBuild to distribute every "gawk" task that is executed by the build. Note that even though the real file is "gawk.exe", the file extension is not specified:
Setting a Specific Project to Run Locally
Distribution of heavy tasks to remote agents might lead to a high I/O ratio on the Initiator machine, which can lead to an increase in the build time. The projects containing those heavy tasks can be defined to run only on the local machine.
To mark a project to run only locally:
- Right-click the project in Visual Studio, and select "Properties"->"Configuration Properties"->"C/C++"->"Preprocessor Definitions".
- Add the following string to the "Preprocessor Definitions" section: IB_RunLocal
Synchronizing Specific Files Back to the Initiator Machine
This section is mainly relevant for processes that are defined as VC compiler = true. For example: Microsoft compiler and Intel compiler, which are defined in IncrediBuild to return OBJ files. If you want them to return other files, you can explicitly define those files that should be synchronized back to the Initiator machine.
To define files to be synchronized back to the Initiator machine: