aboutsummaryrefslogtreecommitdiffstats
path: root/classes/qmake5_base.bbclass
diff options
context:
space:
mode:
authorMartin Jansa <Martin.Jansa@gmail.com>2013-04-29 11:59:52 +0200
committerMartin Jansa <Martin.Jansa@gmail.com>2013-05-05 12:56:34 +0200
commitd57e27ec08164d1c06e7f5169aa0fb23725f78b4 (patch)
tree064fe85f00e47ce2120836b3af10f3b6480c99aa /classes/qmake5_base.bbclass
parentcd2ac1d786da2be205f8059da9f58f919fa4a24b (diff)
qt5: Instead of fixing paths after installation, fix them in Makefile before
* thanks to Mikko Levonmaa * move it from qt5.inc to qmake5_base.bbclass, because it can be useful for other apps too Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Diffstat (limited to 'classes/qmake5_base.bbclass')
-rw-r--r--classes/qmake5_base.bbclass23
1 files changed, 23 insertions, 0 deletions
diff --git a/classes/qmake5_base.bbclass b/classes/qmake5_base.bbclass
index 0181edc0..42c3e9ae 100644
--- a/classes/qmake5_base.bbclass
+++ b/classes/qmake5_base.bbclass
@@ -138,3 +138,26 @@ qmake5_base_do_configure () {
CMD="${OE_QMAKE_QMAKE} -makefile -o Makefile ${OE_QMAKE_DEBUG_OUTPUT} -r $QMAKE_VARSUBST_PRE $AFTER $PROFILES $QMAKE_VARSUBST_POST"
$CMD || die "Error calling $CMD"
}
+
+qmake5_base_do_install() {
+ # Fix install paths for all
+ find -name "Makefile*" | xargs sed -i "s,(INSTALL_ROOT)${STAGING_DIR_TARGET},(INSTALL_ROOT),g"
+
+ oe_runmake install INSTALL_ROOT=${D}
+
+ # everything except HostData and HostBinaries is prefixed with sysroot value,
+ # but we cannot remove sysroot override, because that's useful for pkg-config etc
+ # In some cases like QtQmlDevTools in qtdeclarative, the sed above does not work,
+ # fix them manually
+ if [ -d ${D}${STAGING_DIR_TARGET} ] ; then
+ echo "Some files are installed in wrong directory ${D}${STAGING_DIR_TARGET}"
+ cp -ra ${D}${STAGING_DIR_TARGET}/* ${D}
+ rm -rf ${D}${STAGING_DIR_TARGET}
+ # remove empty dirs
+ TMP=`dirname ${D}/${STAGING_DIR_TARGET}`
+ while test ${TMP} != ${D}; do
+ rmdir ${TMP}
+ TMP=`dirname ${TMP}`;
+ done
+ fi
+}