As of version 1.80, the manual still misses to describe the structure of GUI project files (chapter 12). The GUI itself has a lot of flaws, so I consider editing the project file through the GUI a waste of time. On the other hand, having these project files (under version control) and editing them by hand proved to be useful.
Here is the structure of a minimal project:
<?xml version="1.0" encoding="UTF-8"?>
<project version="1"/>
With such a file, Cppcheck is run on all potential C/C++ source files in the directory the cppcheck project file resides in (recursively including subfolders). You may exclude files or paths like this:
<?xml version="1.0" encoding="UTF-8"?>
<project version="1">
<exclude>
<path name="utilities/fileToExclude.c"/>
<path name="utilities/pathToExclude/"/>
</exclude>
</project>
Note: If you have the project already open in the GUI and edited its project file, remember to re-open the project file, only re-running all checks will not force a refresh of the project settings.