Qt Creator build service plug-in Bretzn in Windows

A project called Bretzn has now a plug-in for Qt Creator in order to build the application for different services. Unfortunately the information of how to get it up and running is rather scarce. This story is about my trial, hence not a real tutorial.

The following prerequisites should be installed:

All those application should be available at command line. As for a reference, my PATH environment variable looks like this:

C:\Qt\SDK_1.1_TP\mingw\bin;C:\Qt\SDK_1.1_TP\Desktop\Qt\4.7.1\mingw\bin;C:\strawberry\perl\bin;C:\Windows\System32;C:\Program Files\CMake 2.8\bin

Secondly fetch the sources for Attica via git command line:

git clone http://anongit.kde.org/attica

Build Attica via CMake-gui. It will ask for details such as qmake location and should you use MinGW. First run “Configure”, then run “Generate”. Both of those are simply a button in the interface.

Now via Qt for Desktop (MinGW) command prompt, go to the folder which was set as the build folder and issue the following commands:

mingw32-make install

Attica will be installed to “C:\Program Files\attica”

Next step is to fetch the source for the plug-in:

git clone http://git.gitorious.org/+obs-creator/qt-creator/buildserviceplugin.git

Once the cloning has finished, switch to “buildservice” branch, this command should be done in the newly fetched source folder:

git checkout buildservice

In order to build the plug-in, the whole Qt Creator needs to be build. This can be achieved with the following commands, assuming that initially the current folder is the source folder. Idea is to avoid building in the source directory, thus keeping source and result separated.

cd ..
mkdir buildserviceplugin-build
cd buildserviceplugin-build
qmake "QT_PRIVATE_HEADERS=" ..\buildserviceplugin\qtcreator.pro

Huh huh…

Now this should theoretically succeed, but due to some minor cross requirements, it seems to fail at the moment.

Unfortunately building Qt Creator requires some private headers which will be only available if the Qt library was build from the sources locally. Therefore it is needed to define the path for them and in case it is left empty, as below, those part requiring them (essentially QmlDesigner and QmlInspector) are not build.

Few references related to this new plug-in: