[oe] [meta-qt5] Qt 5.8 examples are not built

Heikki Sarkanen heikki.sarkanen at tamtron.fi
Mon Apr 24 16:54:44 UTC 2017


Hi,

I don't know how the PACKAGECONFIG in qtbase has worked but I have built Qt examples with meta-qt5 on both Qt 5.7 and 5.8 by using the "<qtrecipe>-examples" packages like in Wandboard wiki [1]. So if you want to build examples for qtquickcontrols2 you should build that package: "bitbake qtquickcontrols2-examples". If you want to include some examples to your image you could use 'IMAGE_INSTALL_append = "qtquickcontrols2-examples qtlocation-examples"'.

[1] http://wiki.wandboard.org/index.php/Building_Qt5_using_yocto_on_Wandboard

BR,
Heikki Sarkanen

________________________________________
From: openembedded-devel-bounces at lists.openembedded.org <openembedded-devel-bounces at lists.openembedded.org> on behalf of Tim Jaacks <tim.jaacks at garz-fricke.com>
Sent: 24 April 2017 17:21
To: openembedded-devel at lists.openembedded.org
Subject: [oe] [meta-qt5] Qt 5.8 examples are not built

Hello,

I recently updated my meta-qt5 layer to the current head version (https://github.com/meta-qt5/meta-qt5/commit/9927aacfc3b341eb36764fbe7d5a929d4f05f327) resulting in an upgrade to Qt 5.8. Since this upgrade, the Qt examples are not built anymore, even though I added them to PACKAGECONFIG of qtbase. Is this a known issue?

In Qt 5.7 the examples were built correctly. As far as I understand, the line that used to make this work in versions before Qt 5.8 is in meta-qt5/recipes-qt/qt5/qt5.inc:

| EXTRA_QMAKEVARS_PRE += "${@bb.utils.contains('PACKAGECONFIG', 'examples', 'QT_BUILD_PARTS+=examples', '', d)}"

The qmake5_base_do_configure function in meta-qt5/classes/qmake5_base.bbclass evaluates this variable:

| if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
|     QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
|     bbnote "qmake prevar substitution: '${EXTRA_QMAKEVARS_PRE}'"
| fi

This leads to the following note in log.do_configure of qtbase:

| NOTE: qmake prevar substitution: ' QT_BUILD_PARTS+=examples'

However, this note is missing in Qt 5.8 because the call to qmake5_base_do_configure has been removed from the do_configure task of qtbase here:

https://github.com/meta-qt5/meta-qt5/commit/333949a8239dfa7788b35f1059614733e11a6a25#diff-1120c73503f9288cc8a8c2b984fe4038L202

There is no comment on why this has been removed. I tried re-adding it, which resulted in a duplicate configure run. Obviously this is caused by this change in qtbase:

https://code.qt.io/cgit/qt/qtbase.git/commit/mkspecs/features/qt_parts.prf?id=60e5a1c8effd4099f7b1414107b5cbb67c266210

Does anybody know whether this change was the reason for removing the qmake5_base_do_configure call?

However, the removal breaks the mechanism via EXTRA_QMAKEVARS_PRE, because this variable is no longer evaluated. As far as I can see, there is no option of building the Qt examples at the moment. Or am I missing anything? Any clue would be helpful.


Mit freundlichen Grüßen / Best regards
i.A. Tim Jaacks

Software Engineering
Garz & Fricke GmbH
Tempowerkring 2, 21079 Hamburg - Germany
Amtsgericht Hamburg HRB 60514
Geschäftsführer: Manfred Garz, Matthias Fricke
Phone: +49 40 791899 - 55
Fax:     +49 40 791899 - 39
tim.jaacks at garz-fricke.com
www.garz-fricke.com


--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel at lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel



More information about the Openembedded-devel mailing list