[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