diff options
author | Martin Jansa <Martin.Jansa@gmail.com> | 2013-04-29 11:59:52 +0200 |
---|---|---|
committer | Martin Jansa <Martin.Jansa@gmail.com> | 2013-05-05 12:56:34 +0200 |
commit | d57e27ec08164d1c06e7f5169aa0fb23725f78b4 (patch) | |
tree | 064fe85f00e47ce2120836b3af10f3b6480c99aa /classes | |
parent | cd2ac1d786da2be205f8059da9f58f919fa4a24b (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')
-rw-r--r-- | classes/qmake5_base.bbclass | 23 |
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 +} |