Installing Squish for Qt from Source Packages
Generally, customers do not need to build the entirety of Squish, but only the Qt Toolkit Support, which includes the parts of Squish which must be binary-compatible with the AUT. This includes squishserver, startaut, and the wrapper libraries.
Quick Install
If the AUT uses non-standard compiler options or a non-standard Qt configuration, you have to compile these parts of Squish from sources using the very same compiler and Qt library that was used for building the AUT.
A customized version of Squish can be distributed to different computers running the same operating system, as instructed in Distributing and Sharing an Installation.
Basic Requirements
For a build and installation, certain requirements must be met. Some of these requirements concern the Qt library that Squish itself is built with, and some concern the tools used during the build.
- A C++ compiler compatible with the version used for building Qt, findable in your
PATH. - A Qt install for building the AUT must be available, located in
<QTDIR>. - Squish for Qt, installed in <SQUISHDIR>, with Major.Minor version matching the Squish source package.
Supported Compilers
Squish has been tested on a variety of Windows and Unix-like systems and with several different compilers. Generally, we release a Squish for Qt for each binary release of Qt, for each of our official platforms, using the same compiler that was used to build Qt. You should do the same, if possible, when you build Squish.
The precise compiler requirements depend on what version of Qt you are using. See the links below for more information.
Configure and build
It is assumed that a Squish source package has been unpacked into the directory <SQUISHSRC>.
Change into <SQUISHSRC>, create a <SQUISHBUILD> directory under that, change into it, and run the configuration script:
$ ../configure --disable-all --enable-qt --with-qmake=<QTDIR>/bin/qmake --with-squishidl=<SQUISHDIR>/bin/squishidl
SQUISHBUILD> ..\configure --disable-all --enable-qt --with-qmake=<QTDIR>\bin\qmake --with-squishidl=<SQUISHDIR>\bin\squishidl
After configure has finished, start the build process:
$ ./build
SQUISHBUILD> buildSee Solving Build Errors if you run into problems.
Configure Switches
When invoked, configure tries to automatically detect your system's configuration system and the optimal configuration for Squish. In some cases, the results of the automatic detection or the defaults Squish uses do not match what you want. In these situations it is possible to override the detected and default settings by passing various command line options to configure.
Here is what those configure switches mean:
--disable-all | Disables all components except for the ones you specify. We want to do a minimal build, so we always use this option first. |
--enable-qt | Build the Qt Toolkit Support. |
--with-qmake=<QTDIR>\bin\qmake.exe | Tells configure where the qmake tool is, providing all of the necessary information about your Qt installation to Squish. This is optional if the correct qmake is found first in your PATH. |
--with-squishidl=<SQUISHDIR>/bin/squishidl | Tells configure where the squishidl executable is located. We reuse this tool from a binary install of Squish to build the Qt Toolkit Support, instead of building squishidl ourselves. |
For a complete list of configure options, execute configure --help on the command line or see configure.
Installing into <SQUISHDIR>
Before we install, change into <SQUISHDIR> and prepare a few files.
$ rm -r lib/extensions/qt $ rm lib/libsquishqt* $ cp etc/paths.ini etc/paths.ini.bak
SQUISHDIR> copy etc\paths.ini etc\paths.ini.bak SQUISHDIR> rd /q /s lib\extensions\qt SQUISHDIR> del /q bin\winhook.dll bin\squishqt*.dll
Next, change into <SQUISHBUILD> and execute the following install command.
$ ./build install DESTDIR=<SQUISHDIR>
SQUISHBUILD> build install DESTDIR=<SQUISHDIR>
Finally, we change back into <SQUISHDIR> and restore etc/paths.ini.
$ mv etc/paths.ini.bak etc/paths.ini
SQUISHDIR> move /Y etc\paths.ini.bak etc\paths.ini
The modified Squish binary package should be ready for use with your application.
© 2025 The Qt Company Ltd.
Documentation contributions included herein are the copyrights of
their respective owners.
The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation.
Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property
of their respective owners.