An important feature of a serial port library is a notification when the available serial ports change, e. g. because a USB-to-serial adapter is connected or disconnected. This is particularly important when the currently used port becomes unavailable. The program must then indicate that the connection has been closed and attempt to reconnect.
There seem to be a number of relevant, portable, serial port libraries that are integrated with Qt:
QExtSerialPort and QSerialDevice don't compile with some 4.7 Qt versions due to a missing private header (qwineventnotifier_p.h). While a library should not depend on a private Qt header, this may be the only way to get notifications on Windows. This does not seem to be an issue with Qt 4.8 and Qt 5 is reported to have a public QWinEventNotifier.
The library of choice would be QtSerialPort (due to its nice interface and good Qt integration), but it does not provide a signal when the available ports change. Therefore, its predecessor, QSerialDevice, is used. Since this library is not maintained any more (because it has been succeeded by QtSerialPort), it is included in the startkladde source tree under 3rdpary/qserialdevice. Fortunately, it provides a CMakeLists.txt which makes integration with our build system easy.
When (if) an available-ports-changed notification is added to QtSerialPort, we may want to use that library instead.