Distributing and Sharing an Installation

Once you have completed the build steps described in Installing Squish for Qt from Desktop Source Packages or Installing Squish for Qt from Embedded Source Packages, you have a system ready to use on the local machine. You may repeat these steps for licensed users on as many machines as you like. Squish is normally licensed per user rather than per machine, so one licensee can install Squish on all the machines they use.

This section is for users or system administrators who wish to distribute or share a build performed on one machine to a different location or for users on other machines. If access to a local installation is all you need, you can safely skip the rest of this section and proceed to the Standalone Installation of the IDE section, and then to the chapters about using Squish, starting with Squish Concepts if you are new to Squish.

There are many reasons why you might want to reuse the built executables and libraries:

  • Division of labor between developers or system administrators who will build Squish and testers who will use Squish.
  • Separation between machines used for product development and machines used specifically for testing.
  • Reduced maintenance work required when upgrading the software.
  • Saving time by doing a single compilation and distributing the results.
  • Saving disk space since only the executables and their supporting libraries need to be distributed, not the entire source code.

Distributables

After completing the build, the distributables can be found in the top-level bin, lib, and etc directories. The bin directory contains the executables (and some supporting .dll files on Windows), while other supporting libraries and script files are in the lib directory. The etc directory is used to hold installation configuration files—user specific settings are stored elsewhere, as explained shortly. Here is the list of all the files that comprise the Squish toolset (including those needed by the Squish IDE). We have used wildcard syntax to indicate multiple files where appropriate.

Windows
bin\*.*
lib\*.*
etc\paths.ini
etc\squish.ini
etc\*wrapper_descriptors.xml
Linux/Unix/macOS
bin/*
lib/*
etc/paths.ini
etc/squish.ini
etc/*wrapper_descriptors.xml

The wrapper library and wrapper descriptors have been specified using a wildcard (*) because there may be several of these depending on the toolkits you built Squish to make use of (e.g., Qt, Java, etc.).

Distribution

To distribute the build to another location on the same machine, or on a different one, just copy over all the files (or only those in the groups required), from the three directories listed above. The original build path is hard-coded into the binaries, but they will still work in a different location. To enable the executables to locate the libraries and other files that they depend on, it is important that the relative positions of the files remains the same. This means that you can copy the files from the bin, lib, and etc directories, to whatever directories you want, providing that the relative paths between the files remain the same, i.e., the directories used to store the files must have the same parent directory.

For example, if you copied the bin directory's files to the directory C:\tools\squish\executable, then the companion files from the lib, and etc directories must go in directories under C:\tools\squish, such as C:\tools\squish\library and C:\tools\squish\configuration.

Shared Installation

To allow all licensed users to access Squish from a shared network location, make the bin, lib, and etc directories accessible to them. This can be done via a share on Windows or via an NFS mount on Unix, for example. As mentioned earlier, the bin, lib and etc directories must all share the same parent directory.

User-specific settings are stored locally on a per-user basis in the application data directory on Windows (%APPDATA%\froglogic\Squish), or the $HOME/.squish directory on Unix and macOS.

© 2024 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.