[OE-core] need help in qt environment setup

Alexander Varnin fenixk19 at mail.ru
Thu Nov 13 13:26:41 UTC 2014


13.11.2014 09:20, Yi Qingliang пишет:
> and then use '${OE_QMAKE_QMAKE}' but not 'qmake' directly.
>
> On Thu, Nov 13, 2014 at 2:18 PM, Yi Qingliang
> <niqingliang2003 at gmail.com <mailto:niqingliang2003 at gmail.com>> wrote:
>
>     mkdir -p recipes-qt/meta
>     touch meta-ide-qte-support.bb <http://meta-ide-qte-support.bb>
>
>     fill the meta-ide-qte-support.bb <http://meta-ide-qte-support.bb>
>     with following contents.
>     and 'bitbake meta-ide-qte-support' just like 'bitbake
>     meta-ide-support'.
>     GOOD LUCK!
>
>
>     CRIPTION = "Meta package for ensuring the build directory contains
>     all appropriate toolchain packages for using an IDE & QTE"
>     LICENSE = "MIT"
>     LIC_FILES_CHKSUM =
>     "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
>                        
>     file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
>
>     DEPENDS = "virtual/libc gdb-cross-${TARGET_ARCH} qemu-native
>     qemu-helper-native unfs3-native"
>     DEPENDS += "qt4-embedded"
>     PR = "r1"
>
>     inherit meta toolchain-scripts
>
>     QT_TOOLS_PREFIX = "${STAGING_DIR_NATIVE}${bindir}"
>
>     toolchain_create_tree_env_script_append() {
>         scriptori=${script}
>         script=${scriptori}-qte
>
>         rm -f $script
>         touch $script
>         cat $scriptori >> $script
>
>         # please follow the corresponding variables in qt4e.bbclass
>         echo 'export OE_QMAKE_LIBS_X11=""' >> $script
>         echo 'export OE_QMAKE_LIBS_QT="qt"' >> $script
>         echo 'export QT_DIR_NAME="qtopia"' >> $script
>         echo 'export QT_LIBINFIX="E"' >> $script
>
>         echo 'export OE_QMAKE_CFLAGS="$CFLAGS"' >> $script
>         echo 'export OE_QMAKE_CXXFLAGS="$CXXFLAGS"' >> $script
>         echo 'export OE_QMAKE_LDFLAGS="$LDFLAGS"' >> $script
>         echo 'export OE_QMAKE_CC="$CC"' >> $script
>         echo 'export OE_QMAKE_CXX="$CXX"' >> $script
>         echo 'export OE_QMAKE_LINK="$CXX"' >> $script
>         echo 'export OE_QMAKE_AR="$AR"' >> $script
>         echo 'export
>     OE_QMAKE_LIBDIR_QT=${STAGING_DIR_TARGET}${libdir}' >> $script
>         echo 'export
>     OE_QMAKE_INCDIR_QT=${STAGING_DIR_TARGET}${includedir}/${QT_DIR_NAME}'
>     >> $script
>         echo 'export OE_QMAKE_MOC=${QT_TOOLS_PREFIX}/moc4' >> $script
>         echo 'export OE_QMAKE_UIC=${QT_TOOLS_PREFIX}/uic4' >> $script
>         echo 'export OE_QMAKE_UIC3=${QT_TOOLS_PREFIX}/uic34' >> $script
>         echo 'export OE_QMAKE_RCC=${QT_TOOLS_PREFIX}/rcc4' >> $script
>         echo 'export
>     OE_QMAKE_QDBUSCPP2XML=${QT_TOOLS_PREFIX}/qdbuscpp2xml4' >> $script
>         echo 'export
>     OE_QMAKE_QDBUSXML2CPP=${QT_TOOLS_PREFIX}/qdbusxml2cpp4' >> $script
>         echo 'export
>     OE_QMAKE_QT_CONFIG=${STAGING_DIR_TARGET}${datadir}/${QT_DIR_NAME}/mkspecs/qconfig.pri'
>     >> $script
>         echo 'export
>     QMAKESPEC=${STAGING_DIR_TARGET}${datadir}/${QT_DIR_NAME}/mkspecs/linux-g++'
>     >> $script
>         echo 'export OE_QMAKE_QMAKE=${QT_TOOLS_PREFIX}/qmake2' >> $script
>
>         # make a symbolic link to mkspecs for compatibility with
>     Nokia's SDK
>         # and QTCreator
>         (cd ${QT_TOOLS_PREFIX}/..; ln -sf
>     ${STAGING_DIR_TARGET}/usr/share/${QT_DIR_NAME}/mkspecs mkspecs;)
>     }
>
>     do_populate_ide_support () {
>       toolchain_create_tree_env_script
>     }
>
>     do_populate_ide_support[nostamp] = "1"
>     do_populate_ide_support[recrdeptask] = "do_package_write"
>     addtask populate_ide_support before do_build after do_install
>
>


Thank you!

I used your suggestions and made it work for me with following differences:
- use of environment-setup.d folder (introduced with
457291f2ca084d1f43c0cca2175b448a22761887 and
e7b9e1df19062cfbcd72c90295829424cae6fbed commits) instead of appending
script.
- I created meta-ide-support.bbclass to avoid code duplication

Here is a draft patch attached of how I did it. I am ready to work on
upstream-suitable patch for this feature, if someone wants to hint me
how to do it properly.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-recipes-qt-meta-ide-qte-support-recipe-introduced.patch
Type: text/x-diff
Size: 4625 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20141113/3731389c/attachment-0002.bin>


More information about the Openembedded-core mailing list