Qt Creator

Qt Creator is an integrated development environment (IDE) which provides you with the tools needed to design and develop applications within the Qt application framework. You can leverage the power of Incredibuild to accelerate builds in Qt Creator.

This is done by enabling an Incredibuild Plugin in Qt creator that is already included in recent versions of Qt Creator, but must be manually downloaded for older versions.

The plugin integrates with both Incredibuild Windows and Linux, and can execute builds from a variety of build systems. To see the list of supported versions, see Support Tools.

Enabling the Incredibuild Plugin

  1. Prerequisite: Incredibuild is fully installed.

  2. Install the Incredibuild plugin

    • If you are using Qt version 4.12.1 or lower, download the appropriate plugin file (see links below) and load it into the following directory in Qt:
      QtCreator\lib\qtcreator\plugins directory.

    • If you are using Qt Creator 4.12.2: 

      in Qt go to Qt Creator Menu > Help > Installed Plugins (or Qt Creator > About Plugins on macOS) enable Incredibuild.

  3. To manage how the plugin affects your builds, click Details and edit the settings. These settings differ for windows and linux. For details about each settings, see Incredibuild Plugin Settings below.

In all text fields which are not drop-down menus or predefined text fields, you can enter Qt variables and Incredibuild will automatically translate the variables to their appropriate values.

How to Use

Once the Incredibuild plugin is installed, you will be able to add the "Incredibuild for Windows" or "Incredibuild for Linux" build steps to your Qt Creator from the Build Settings menu, which is accessed by clicking the Projects icon in Qt Creator. Upon adding an Incredibuild build step, Incredibuild will automatically detect the Build Step used in your build settings by iterating over the build steps you already defined. The initial build step settings will then be part of your Incredibuild build step, so your usual build tool will still be used, but with the added benefit of Incredibuild's build acceleration.

After adding an Incredibuild Build Step you will be asked if you would like to apply it to all configurations of your project. If you agree, the Incredibuild step will automatically be added to all relevant build configurations. After Incredibuild has iterated through your configurations and added itself to your initial Build Steps, it is advised to go through your project configurations, make sure that each step is configured properly, and to disable previous steps that are now irrelevant.

Example - QMake

In this example, the user has defined a qmake command that creates the Make build tool defined in the following Make Build Step. -Upon Adding the Incredibuild Build Step, the Command Helper field automatically detects the Build tool being used in the previous Build step, which is Make in this case.. -If you look at the Make command field in "Incredibuild for Windows" you will see that it is set to a directory containing "jom.exe", as defined in the Make Build Step above it.

Example - CMake

Likewise, in this example which uses CMake, upon adding the Incredibuild Build Step, the Build tool is automatically set to CMake.
In order for your compilation to use the Incredibuild build step instead of your original build step the Incredibuild plugin will automatically disable your original build step. You can easily revert to executing your original build step by disabling the Incredibuild build step and re-enabling your original build step as shown in the image below.

Running Builds in Qt using Incredibuild

After configuring your Incredibuild build step, simply build your project in Qt Creator as you normally would and Qt Creator will compile using Incredibuild.

The output of the Incredibuild console will conveniently appear within your Qt Creator Compile Output console.

An Incredibuild Build Monitor will open automatically if the "Open Monitor" Checkbox is on (this is checked by default).

Incredibuild Plugin Settings

Windows Settings

Field name

Description

Profile.xml

The Profile XML file is used to define how Automatic Interception Interface should handle the various processes involved in a distributed job. It is not necessary for 'Visual Studio' or 'Make and Build tools' builds, but can be used to provide configuration options if those builds use additional processes that are not included in those packages. it is required to configure distributable processes in 'Dev Tools' builds.

Avoid task execution on local machine when possible

Overrides the Agent Settings dialog "Avoid task execution on local machine when possible" option. This frees up more resources on the initiator machine and could be beneficial for distribution in scenarios where the initiating machine is bottlenecking the build with High CPU usage.

Maximum CPUs to utilize in the build

Specifies the maximum amount of remote cores to utilize in the build. Overrides global max. CPUs/Cores in build setting.

Newest allowed Helper machine OS

Specifies the newest operating system installed on a Helper machine to be allowed to participate as helper in the build.

Oldest allowed Helper machine OS

Specifies the oldest operating system installed on a Helper machine to be allowed to participate as Helper in the build.

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.

Save Incredibuild monitor file

Writes a copy of the build progress (.ib_mon) file to the specified location. - If only a folder name is given, Incredibuild generates a GUID for the file name. - A message containing the location of the saved .ib_mon file is added to the end of the build output.

Suppress STDOUT

Does not write anything to the standard output.

Output Log file

Writes build output to a file.

Show Commands in output

Shows, for each file built, the command-line used by Incredibuild to build the file.

Show Agents in output

Shows the Agent used to build each file.

Show Time in output

Shows the Start and Finish time for each file built.

Hide Incredibuild Header in output

Suppresses the 'Incredibuild' header in the build output.

Internal Incredibuild logging level

Overrides the internal Incredibuild logging level for this build. Does not affect output or any user accessible logging. Used mainly to troubleshoot issues with the help of Incredibuild support.

Set an Environment Variable

Sets or overrides environment variables for the context of the build.

Stop On Errors

When specified, the execution will stop as soon as an error is encountered. This is the default behavior in 'Visual Studio' builds, but not the default for 'Make and Build tools' or 'Dev Tools' builds.

Additional Arguments

Add additional buildconsole arguments manually. The value of this field will be concatenated to the final buildconsole command line.

Open Monitor

Opens an Incredibuild Build Monitor that graphically displays the build's progress once the build starts.

Keep Original Jobs Num

Setting this option to true, forces Incredibuild to not override the -j command line switch. The default Incredibuild behavior is to set a high value to the -j command line switch which controls the number of processes that the build tools executed by Qt Creator will execute in parallel (the default Incredibuild behavior will set this value to 200).

Linux Settings

Description

Field name

Specify nice value

Specify nice value. Nice Value should be numeric and between -20 and 19.

Internal Incredibuild logging level

Overrides the internal Incredibuild logging level for this build. Does not affect output or any user accessible logging. Used mainly to troubleshoot issues with the help of Incredibuild support.

Keep Original Job Number

Setting this option to true, forces Incredibuild to not override the -j command line switch. The default Incredibuild behavior is to set a high value to the -j command line switch which controls the number of processes that the build tools executed by Qt Creator will execute in parallel (the default Incredibuild behavior will set this value to 200).

Alternatetasks preference

Forceremote

Force allow_remote tasks to remote Helpers.

Incredibuild Plugin Files

Download the appropriate file, depending on your operating system and version of Qt. Copy the file to the following directory in Qt:
QtCreator\lib\qtcreator\plugins directory.

Windows

Linux