Hi Johannes,
On 26.07.2017 14:42, Johannes Kliemann wrote:
Hi,
I tried to build the Qt Virtualkeyboard example. I adapted the target.mk of the calculatorform example to point to the correct project file. Make fails at the project file at line 6 with missing separator. This part contains the following:
static { QT += svg QTPLUGIN += qtvirtualkeyboardplugin }
Is there an additional flag required? Manually running qmake && make works fine.
the Genode build system does not run qmake, but includes the qmake project file as if it were a Makefile. This works well for simple project files, but if the project file uses qmake-specific syntax and these parts are relevant, they must be replaced with something that GNU make understands. In your case it would probably suffice to just delete the 'static {' line and the '}' line.
The 'QT' variable gets evaluated in [1] and there's no svg support right now. A port of the Qt5Svg library would include the following new files:
- repos/libports/lib/import/import-qt5_svg.mk - repos/libports/lib/mk/qt5_svg.mk - repos/libports/lib/mk/qt5_svg_generated.inc
The 'QTPLUGIN' variable does not get evaluated in the 'target_final.inc' file right now. To do that, I think you would need to add each part of the variable content to the LIBS variable (prefixed with 'qt5_'), resulting in 'LIBS += qt5_qtvirtualkeyboardplugin' in your case, and then build the plugin as a shared library, similar to the 'qt5_qjpeg' library.
I've attached the generated include files and a patch with the script used to generate the files, in case you need to change the configuration and regenerate them.
Regards, Christian
[1] https://github.com/genodelabs/genode/blob/master/repos/libports/src/app/qt5/...