[oe] [meta-qt5][dizzy][PATCH 1/2] qmake5: add a qmake5_internal

Alexandre Belloni alexandre.belloni at free-electrons.com
Wed Feb 18 19:26:55 UTC 2015


Add a qmake5_internal class to be used when configuring and compiling qt
itself.
It simply remove the -r parameter from the qmake command line. This is
necessary to avoid those errors when building qtdeclarative or qt3d
without opengl for example:
Project ERROR: Unknown module(s) in QT: quick-private
or
Project ERROR: Unknown module(s) in QT: quick

Signed-off-by: Alexandre Belloni <alexandre.belloni at free-electrons.com>
---
 classes/qmake5_internal.bbclass | 41 +++++++++++++++++++++++++++++++++++++++++
 recipes-qt/qt5/qt5.inc          |  2 +-
 2 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 classes/qmake5_internal.bbclass

diff --git a/classes/qmake5_internal.bbclass b/classes/qmake5_internal.bbclass
new file mode 100644
index 000000000000..8801cb402bdb
--- /dev/null
+++ b/classes/qmake5_internal.bbclass
@@ -0,0 +1,41 @@
+#
+# QMake variables for Qt
+#
+inherit qmake5_base
+
+QT5TOOLSDEPENDS ?= "qtbase-native"
+DEPENDS_prepend = "${QT5TOOLSDEPENDS} "
+
+qmake5_internal_do_configure () {
+    if [ -z "${QMAKE_PROFILES}" ]; then
+        PROFILES="`ls ${S}/*.pro`"
+    else
+        PROFILES="${QMAKE_PROFILES}"
+        bbnote "qmake using profiles: '${QMAKE_PROFILES}'"
+    fi
+
+    if [ ! -z "${EXTRA_QMAKEVARS_POST}" ]; then
+        AFTER="-after"
+        QMAKE_VARSUBST_POST="${EXTRA_QMAKEVARS_POST}"
+        bbnote "qmake postvar substitution: '${EXTRA_QMAKEVARS_POST}'"
+    fi
+
+    if [ ! -z "${EXTRA_QMAKEVARS_PRE}" ]; then
+        QMAKE_VARSUBST_PRE="${EXTRA_QMAKEVARS_PRE}"
+        bbnote "qmake prevar substitution: '${EXTRA_QMAKEVARS_PRE}'"
+    fi
+
+    # for config.tests to read this
+    export QMAKE_MAKE_ARGS="${EXTRA_OEMAKE}"
+
+    CMD="${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST"
+    ${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST || die "Error calling $CMD"
+}
+
+do_configure() {
+    qmake5_internal_do_configure
+}
+
+do_install() {
+    qmake5_base_do_install
+}
diff --git a/recipes-qt/qt5/qt5.inc b/recipes-qt/qt5/qt5.inc
index bb0bcdcac0af..f221ed09491e 100644
--- a/recipes-qt/qt5/qt5.inc
+++ b/recipes-qt/qt5/qt5.inc
@@ -1,7 +1,7 @@
 # Copyright (C) 2012, 2014 O.S. Systems Software LTDA.
 # Copyright (C) 2013 Martin Jansa <martin.jansa at gmail.com>
 
-inherit qmake5
+inherit qmake5_internal
 
 PACKAGECONFIG_OPENSSL ?= "openssl"
 
-- 
2.1.0




More information about the Openembedded-devel mailing list