Compiling the QPPS library code with the application

To use QPPS classes to access PPS objects, we copy the QPPS source code into the QtHmi folder and then build the QPPS library functionality into the application.

The QPPS library provides a Qt5 API for reading from and writing to PPS objects, effectively replacing the POSIX system calls required to access and parse those objects. The source code for this library is included in the Qt source code package that's part of the platform installers.

To compile the QPPS library code into QtHmi:
Note: If you have already unpackaged the Qt source code and remember the location where you stored the QPPS library files, you can skip to Step 3.
  1. Access the Qt source code package and locate the QPPS library code.
    By default, the installers copy the package to DEFAULT_SDP_PATH/source/appsmedia_1_1_qt_source.zip. Within the package, the QPPS library code is found at this path: /qt/src/Homescreen/qpps/. This last directory contains another directory named qpps, which stores the actual source code.
  2. Unzip the contents of the /qt/src/Homescreen/qpps/ directory (including the nested qpps directory) to your project directory (e.g., C:\users\username\QtHmi\).
    The qpps subdirectory is added to your project directory and contains the header and class definition files needed to use QPPS classes in the QtHmi code.
  3. In Qt Creator, click the Edit icon on the left side, right-click the QtHmi folder in the Projects view, then choose Add Existing Directory...
  4. In the resulting dialog, on the Source directory line, click Browse to open the file selector.
  5. Navigate to the directory containing the QPPS library code, then click Select Folder.
    The newly selected directory is listed on the Source directory line.
  6. Click OK to close the dialog.

The QPPS header and class definition files have been added to the QtHmi project, giving you access to the QPPS classes. When you build the HMI application, the library functionality will be built into the binary, ensuring that the application runs whether or not the target contains the QPPS library file.

In addition, Qt Creator has added this content to the project file (QtHmi.pro):

SOURCES += \
    main.cpp \
    qpps/dirwatcher.cpp \
    qpps/object.cpp \
    qpps/variant.cpp

HEADERS += \
    qpps/changeset.h \
    qpps/dirwatcher.h \
    qpps/dirwatcher_p.h \
    qpps/object.h \
    qpps/object_p.h \
    qpps/qpps_export.h \
    qpps/variant.h