[oe] [PATCH] Add toolchain file generation to cmake bbclass
Valentin Longchamp
valentin.longchamp at epfl.ch
Wed Aug 26 11:04:21 UTC 2009
Valentin Longchamp wrote:
> Matthew Dombroski wrote:
>>
>> Setting Qt environment data in cmake.bbclass may seem a bit out of
>> place. When you consider that cmake is distributed with scripts for
>> configuring/detecting Qt it doesn't seem too bad.
>> It is definitly tidier than generating a qt.conf in every recipe.
>> Adding all the Qt info in EXTRA_OECMAKE is doing the same work twice.
>
> Well that's a point of view. From my point of view, not all cmake based
> programs need that qt info, that's why I find it's cleaner to enable it
> in the recipes that need these libraries.
>
> About adding the EXTRA_OECMAKE, I have to check, but I think I needed to
> define some so that the right qmake is found. I will try without or by
> adding only the needed definitions.
>
I have tried it, and the only thing I now have in the EXTRA_OECMAKE is
QT_QMAKE_EXECUTABLE to be sure that it takes the one from staging and
not the one from my system.
> DESCRIPTION = "aseba is an event-based architecture for distributed robots control"
> HOMEPAGE = "http://mobots.epfl.ch/aseba.html"
> LICENCE = "GPL"
> PR = "r1"
>
> PV = "svn${SRCDATE}"
> DEPENDS = "dashel qt4-embedded"
> LEAD_SONAME = "libasebacore.so"
>
> SRC_URI = "svn://svn.gna.org/svn/aseba;module=trunk"
>
> S = "${WORKDIR}/trunk"
>
> inherit qt4e cmake
>
> EXTRA_OECMAKE += "-DSHARED_LIBS:BOOL=ON -DCMD_LINE:BOOL=ON \
> -DQT_QMAKE_EXECUTABLE=${OE_QMAKE_QMAKE} \
> "
>
> export QT_CONF_PATH="${WORKDIR}/trunk/qt.conf"
>
> do_configure_prepend() {
> echo "[Paths]" > $QT_CONF_PATH
> echo "Prefix=${STAGING_DIR}/${HOST_SYS}/usr" >> $QT_CONF_PATH
> echo "Documentation=${docdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
> echo "Headers=${STAGING_INCDIR}/${QT_DIR_NAME}" >> $QT_CONF_PATH
> echo "Libraries=${STAGING_LIBDIR}" >> $QT_CONF_PATH
> echo "Binaries=${STAGING_BINDIR_NATIVE}" >> $QT_CONF_PATH
> echo "Plugins=${libdir}/${QT_DIR_NAME}/plugins" >> $QT_CONF_PATH
> echo "Data=${datadir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
> echo "Translations=${datadir}/${QT_DIR_NAME}/translations" >> $QT_CONF_PATH
> echo "Settings=${sysconfdir}/${QT_DIR_NAME}" >> $QT_CONF_PATH
> echo "Examples=${bindir}/${QT_DIR_NAME}/examples" >> $QT_CONF_PATH
> echo "Demos=${bindir}/${QT_DIR_NAME}/demos" >> $QT_CONF_PATH
> }
>
> do_stage() {
> oe_libinstall -so libasebacore ${STAGING_LIBDIR}
> oe_libinstall -so libasebacompiler ${STAGING_LIBDIR}
> oe_libinstall -so libasebavm ${STAGING_LIBDIR}
>
> install -d ${STAGING_INCDIR}/aseba
> install -d ${STAGING_INCDIR}/aseba/common
> install -m 0644 common/consts.h ${STAGING_INCDIR}/aseba/common
> install -m 0644 common/types.h ${STAGING_INCDIR}/aseba/common
> install -d ${STAGING_INCDIR}/aseba/msg
> install -m 0644 msg/descriptions-manager.h ${STAGING_INCDIR}/aseba/msg
> install -m 0644 msg/msg.h ${STAGING_INCDIR}/aseba/msg
> install -d ${STAGING_INCDIR}/aseba/utils
> install -m 0644 utils/FormatableString.h ${STAGING_INCDIR}/aseba/utils
> install -m 0644 utils/utils.h ${STAGING_INCDIR}/aseba/utils
> }
>
> FILES_${PN} += "${libdir}/libasebacore.so"
> FILES_${PN} += "${libdir}/libasebacompiler.so"
> FILES_${PN} += "${libdir}/libasebavm.so"
More information about the Openembedded-devel
mailing list