On this page

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> build

See 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-allDisables all components except for the ones you specify. We want to do a minimal build, so we always use this option first.
--enable-qtBuild the Qt Toolkit Support.
--with-qmake=<QTDIR>\bin\qmake.exeTells 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/squishidlTells 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.

Search Results