BuildConsole Command Line Interface

Overview

"BuildConsole.exe", located in the IncrediBuild installation folder, is a console application which allows running distributed Visual Studio builds from scripts and applications.

To run a distributed job that uses one of the interfaces in the XGE Interfaces extension package, use the xgConsole.exe command line interface.

Usage

The following syntax is used to operate BuildConsole.exe:
BuildConsole <Target> [Options]
Where <Target> is one of:

Here are a few examples for running BuildConsole:

- To rebuild the "Debug" Solution-Configuration in the solution "MySln.sln

BuildConsole.exe MySln.sln /rebuild /cfg="Debug|Win32"

- To build the specific project "MyProj" only:

BuildConsole.exe MyProj.vcproj /build /cfg="Debug|Win32"

- To build a more complex combination of projects and configurations, using a Preset called "MyPreset" previously saved in the Batch Build dialog:

BuildConsole.exe MySln.sln /build /preset="MyPreset"

In addition to this syntax, BuildConsole also supports msdev.exe and devenv.exe command line syntax for building projects. If you are already using batch files that spawn either msdev.exe or devenv.exe, edit your files and replace these program names with "BuildConsole.exe" to replace the standard MSVC build with an IncrediBuild distributed build.

Note that if you get a "'BuildConsole' is not recognized as an internal or external command, operable program or batch file." error when running BuildConsole, either manually add the IncrediBuild installation folder to your system path or rerun the IncrediBuild setup application on your machine with the "Add IncrediBuild folder to the system path" option selected.

Command Line Options

The following command line flags can be used with BuildConsole:
Option Function Notes
@ Specified a response file containing a BuildConsole command line. - Use this option when the command line for running BuildConsole is too long to specify explicitly in your script.
/Cfg=<configuration> Determines the solution configuration to be built (with VC6 builds, this option specifies the project configuration). - Value should be surrounded by quotes.
- Several comma-separated configuration names may be specified.
- When building an MSVC 6.0 project, both of the following formats are valid: /cfg="Win32 Debug" and /cfg="myProj - Win32 Debug".
- Value is not case-sensitive.
/Prj=<project name> Determines the project to be built. - Value may be surrounded by quotes.
- Running BuildConsole on an .sln file without the /prj option will run the command on the specified solution configuration.
- The "*" and "?" characters may be used as wildcard signs when specifying project names, to perform an operation on several projects. Additionally, several project names may be entered, separated by commas. In this case all projects will be built using the same configuration name.
For example, to build all configurations in a solution/workspace, use the following syntax:
BuildConsole MyWksp /prj="*"
/Preset Determines the projects/configurations that will be built using a Preset previously saved in the Batch Build dialog - This option is useful when a complex combination of projects and configurations is required.
- The /Preset command option replaces both the /cfg and the /prj options.
/All Makes a solution/workspace build continue regardless of specific projects failing to build. Normally IncrediBuild will stop the build when a project fails to build its output file. This option instructs IncrediBuild to continue building the remaining project configurations, regardless of previous projects failing to build.
/Clean Cleans intermediate and output files for the project(s) and all dependencies.  
/Rebuild Performs a Clean operation before building the project.  
/SETENV="<name>=<value>" Sets or overrides environment variables for the context of the run build. Use /SetEnv several times to set/override multiple variables.
/NoRecurse Builds only the specified project configurations, ignoring any sub-projects these configurations may have. - When used in conjunction with /Clean, this will clean only the specified configurations.
- When used in conjunction with /Rebuild, this will rebuild only the specified configurations.
/UseEnv Use PATH, INCLUDE, LIBPATH, and LIB environment variables instead of MS Visual C++ IDE paths. - To set this option globally, use the Agent Settings dialog "Use environment variables instead of IDE paths" option.
- if a build is initiated from a Visual Studio IDE window instantiated using the devenv.exe "/useenv" command line option, this build will always use "/useenv".
/compile=<source file name> When used, only the specified file(s) will be built. - Value may be surrounded by quotes.
- Several source filenames may be entered, separated by commas.
/Log[=filename] Writes build output to a file. If filename is omitted, a file named IB_<target-name>.log is created in the current directory.
/Mon[=filename] Writes a copy of the build progress (.ib_mon) file to the specified location. - If only a folder name is given, IncrediBuild will generate a GUID for the file name. - A message containing the location of the saved .ib_mon file will be added to the end of the build output.
/DumpSourceFiles= Writes all of the source file paths in a project/solution to a file. <<output filename> is mandatory
/out=filename Redirects entire command line output to a file.
/Silent Does not write anything to the standard output. Default behavior is to write the build results, as seen in the Build Monitor's Output display.
/Attach Displays the build output of either the current or the last build. If a build is currently running on the machine, this displays the output for the build up to that point, and continues displaying the build's output until it ends. If no build is running, BuildConsole will display the entire build output for the last build initiated from this machine.
/Wait If another build initiated by this Agent is currently running, waits until that build is finished and then starts the new build. This is also the default behavior.
/NoWait When specified, if another build initiated by this Agent is already running Buildconsole will exit with a "Another build already running" message.
/cl_add="<options>" Allows additional compiler options to be added to all calls to cl.exe. Enter one or more commands separated by a space character, as they would appear in the cl.exe command line. For example:
BuildConsole MyProj /cl_add="/O2 /FA"
/cl_rem="<options>" Specifies compiler options that will be removed from all calls to cl.exe. Enter one or more commands separated by a space character, as they would appear in the cl.exe command line. For example:
BuildConsole MyProj /cl_rem="/Z7 /Zd /Zi /ZI"
/link_add="<options>" Allows additional linker options to be added to all calls to link.exe. Enter one or more commands separated by a space character, as they would appear in the cl.exe command line. For example:
BuildConsole MyProj /link_add="/map:MyProj.map"
/link_rem="<options>" Specifies linker options that will be removed from all calls to link.exe. Enter one or more commands separated by a space character, as they would appear in the cl.exe command line. For example:
BuildConsole MyProj /link_rem="/map:MyProj.map"
/CEconfig="<configuration name>" Specifies theWCE platform for eMbedded Visual C++ 4.0 builds.  
/BrowseInfo=[ON/OFF] Forces or suppresses creation of browse information, regardless of current browse information settings. See the Agent Settings section for more information regarding browse information settings.
/IncrediLink Forces IncrediLink mode for this build.  
/NoIncrediLink Disables IncrediLink mode for this build.  
/NoLink Performs all build steps except linking.  
/NoLogo Suppresses the "Xoreax IncrediBuild" header in the build output.  
/Beep Plays a sound when build is complete.  
/Stop Stops a currently running build on the local machine. BuildConsole will return the code 3 when a build has been stopped. If /stop was used and no build is currently running, 2 will be returned.
/Enable Enables the IncrediBuild Agent.  
/Disable Disables the IncrediBuild Agent.  
/Reset Clears the Agent's file cache contents.  
/Title=<build title> Specifies a custom header line which will be displayed in the beginning of the build output text. This title will also be used for the Build History and Build Monitor displays. Value may be surrounded by quotes.
/ShowCmd Shows, for each file built, the command-line used by IncrediBuild to build the file.  
/ShowAgent Shows the Agent used to build each file.  
/ShowTime Shows the Start and Finish time for each file built.  
/OpenMonitor Opens the Build Monitor window showing the build progress.  
/MaxCPUS=<n> Override global max. CPUs/Cores in build setting  
/Help Shows usage help and version information.  

Return Codes

BuildConsole returns the following return codes:

0 - No errors were encountered
1 - Errors were encountered during the operation.
2 - A fatal IncrediBuild error was encountered (Invalid parameters, input file not found etc.).
3 - The operation was stopped before completing.

Additional Notes:

Copyright (C) 2001-2008 Xoreax Software Ltd. All rights reserved.
Converted from CHM to HTML with chm2web Standard 2.7 (unicode)