[oe] [PATCH] Add toolchain file generation to cmake bbclass

Valentin Longchamp valentin.longchamp at epfl.ch
Wed Aug 26 06:47:44 UTC 2009


Matthew Dombroski wrote:
>> I have had no problem with boost and with Qt4, I have been able to
>> achieve similar results without the toolchain file, only by using a
>> qt.conf file as Zecke had suggested to me.
> I'm using boost-1.39 and found i needed to set Boost_COMPILER or it 
> wouldn't find libraries. (Oh how I hate bjam, but thats another story...)

Ok, I think I had 1.36.

> 
> 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.

> 
>> Although the toolchain file is the preferred value according to the
>> cmake documentation, it has not been necessary to me.
> 
> The effect of a toolchain file is the same as that of defining lots of 
> options in EXTRA_OECMAKE.
> personally, I think it is cleaner. The ability to use it outside of 
> openembedded is really useful to me also.

I agree that it is the same. It's just that it was done until now like 
that in OE, so I chose that way. However one advantage that I see of 
defining things directly in the recipes and not in a toolchain file, is 
that you can easily add definitions using EXTRA_OECMAKE in every recipe. 
Is cmake able to take two toolchain files (one from cmake.bbclass and 
one from the recipes with the needed libraries) without having to 
rewrite the do_configure in the recipe ?

This comes back to the point above: do we need to define all the 
libraries that could come with cmake-based programs in cmake.bbclass ? 
 From my point of view, this is definitely something related to the recipes.

Val





More information about the Openembedded-devel mailing list