File system and registry
This chapter is about the usage Coco makes of the file system to store permanent settings.
Location of the installed files
The location of the installed files varies according to the platform.
Microsoft Windows
The location of the programs can be chosen at installation time. The installer creates and environment variable SQUISHCOCO that contains the path to the installation directory. By default it is either C:\Program Files\squishcoco or C:\Program Files (x86)\squishcoco, depending on the platform. In this documentation we use the expression <Windows Coco> to refer to it.
This directory contains the following files and directories:
- The standard Coco executables, like CoverageBrowser, cmcsexeimport, etc.
- The documentation.
- The prefix versions of the wrapper programs and their configuration files. The prefix version of a compiler wrapper is a file that begins with
cs, likecscl.exeas wrapper forcl.exe. The configuration file for this program is thencl.cspro. - Directories with specific versions of the compiler wrappers.
An example are the directories
visualstudioandvisualstudio_x64which contain the wrappers for Microsoft® Visual Studio®. These directories often contain compiler wrappers without acsprefix: There is e.g. a programcl.exein the directoryvisualstudiothat wraps the programcl.exeof Visual Studio. - Directories with tutorial and example programs, like
parser,texteditandtutorial.
Linux
The location can be chosen at installation time. The default value is /opt/SquishCoco/. The directory has the following subdirectories:
bin/, lib/: The Coco binaries, including the prefix versions of the compiler wrappers and their profile files.wrapper/bin/: The compiler wrappers as files without thecsprefix.doc/: Documentation files.samples/: Example programs and files for the tutorials.
macOS
The programs are installed at /Applications/SquishCoco.
This directory contains the Coco binaries, including the prefixed versions of the compiler wrappers and their profile files. It also contains the documentation. It has the following subdirectories:
wrapper/: The compiler wrappers as files without thecsprefix.samples/: Example programs and files for the tutorials.
Location of the License Service configuration data
The Qt License Service stores its configuration data in a directory.
- Under Linux, this directory is
~/.local/share/Qt/qtlicd. - Under macOS, it is
$HOME/Library/Application Support/Qt/qtlicd. - Under Windows, it is
C:\Users\<user>\AppData\Roaming\Qt\qtlicd.
License location under the Coco legacy license mechanism
Note: This section is about the old Coco license mechanism, which is now deprecated.
The professional and the non-commercial edition of Coco use different naming schemes to locate the files and registry keys that contain information about the license. In the following description, the professional edition is primarily described, with the values that change in the noncommercial edition following in parentheses.
Node-locked licenses
When searching for a license, Coco first tries to find a node-locked license.
- If the environment variable
SQUISHCOCO_LICENSEKEY_DIRis set, Coco treats the content as a directory name and tries to find there the license file. The license file is named.squishcoco-3-license. - It then searches for a license file in the home directory (described below).
- If Coco runs under Windows, it searches instead in the registry under
HKEY_CURRENT_USER\Software\squishcoco\LicenseKey.
It is possible that a license is present but that it has been deactivated. If Coco finds such a license, it stops searching for another node-locked license and tries to find a license server instead.
Note: Setting SQUISHCOCO_LICENSEKEY_DIR globally for all users is not recommended. It would force all users to use the same license, but each license key is specific to user and host.
Address of the license server
If no node-locked license is found, Coco will try to find the location of a license server.
- First it tries to read the specification of a license server from the environment variable
SQUISHCOCO_LICENSE_SERVERif such a variable is present and its value is not an empty string. - If Coco runs under Windows, it searches in the registry under
HKEY_CURRENT_USER\Software\squishcoco\LicenseServerfor a specification. - It then tries to read the specification from a file
.squishcoco-3-licserver, which is located in the home directory (see below). - It then tries to read the specification from the system file
/etc/squishcoco-3-licserveron Unix or%windir%\system32\drivers\etc\squishcoco-3-licserveron Windows.
The specification of the license server consists of a host name or an IP address, possibly followed by a colon and a port number: myserver.com:49344.
The home directory
When searching for the home directory, Coco evaluates the following environment variables and takes the first one which is set.
- The content of the variable
HOMEPATH. - Under Windows, if
HOMEPATHis set, either:- If
HOMEDRIVEis set, the value ofHOMEDRIVE+HOMEPATH. - Otherwise the content of
HOMEPATH.
- If
- The content of
HOME. - Under Windows, the content of
USERPROFILE.
Location of the temporary files
During compilation, the CoverageScanner creates some temporary files, which it usually deletes automatically after use.
By default, the temporary files are created in the system temporary files directory. This is /tmp on UNIX® systems, and the directory given by the environment variable %TEMP% on Windows. It is possible to change this location by setting the environment variable SQUISHCOCO_TEMP_DIR to the path of another directory. This directory must already exist when the files are written, it is not created automatically.
The automatic deletion of temporary files can be switched off with the command line option --cs-keep-instrumentation-files (see Debugging).
Location of the program settings
If a program has other permanent settings that must be stored in a file, that file is located in the following directory:
- On Windows:
%APPDATA%\ squishcoco - On Linux:
$HOME/.config/squishcoco
Location of the installation log file
The Windows installer produces a log file at %TEMP%\SquishCoco_logfile\vsaddin.log. It can be consulted upon installation problems.
Coco v7.5.0 ©2025 The Qt Company Ltd.
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.