[OE-core] how to load cmake args from git?

Adam Trhon adam.trhon at tbs-biometrics.com
Fri Jun 23 10:57:05 UTC 2017


On Thu, 22 Jun 2017 22:51:26 +0100
"Burton, Ross" <ross.burton at intel.com> wrote:

> On 22 June 2017 at 09:42, Adam Trhon <adam.trhon at tbs-biometrics.com> wrote:
> 
> > but I am not very happy about using PACKAGECONFIG_CONFARGS - it feels
> > hacky, the
> > arguments are not shown in cmake fail log and it cannot handle argumetns
> > containing
> > spaces. Is there a cleaner way to achieve this?
> >  
> 
> Definitely don't use PACKAGECONFIG_CONFARGS: that has a well defined
> meaning and use, and that isn't it.
> 
> I don't see why as you control the repository why can't you just set the
> arguments in cmakelists, or the recipe itself?  Either they're useful
> everywhere (cmakelists) or in OE builds (recipe).

The CMake options are maintained and used by upstream project developers
(I am one of them). Sometimes they change the options between
revisions, so it is difficult to maintain the argument list in the
recipe.

I also want to let the upstream project developers change some arguments
without touching the recipe (for automated builds).

> 
> Anyway, you could do something like this:
> 
> python() {
>   d.appendVar("EXTRA_OECMAKE", " " +
> open(d.expand("${S}/oe_arguments.txt")).read()
> }

According to documentation, this is expanded during recipe parsing. At
that time ${S}/oe_arguments.txt does not yet exits (it exists only after
do_unpack). I tried it and the build failed with python Exception:
FileNotFound. 

I tried

python do_setup_extra_oecmake() {                  
    d.appendVar("EXTRA_OECMAKE", " " + open(d.expand("${S}/oe_arguments.txt")).read())
    print("adding "+d.expand("${S}/oe_arguments.txt"))
}   
    
addtask do_setup_extra_oecmake after do_unpack before do_configure

but it did not work as well. The "adding.... " line is printed
correctly in log.do_setup_extra_oecmake, the file exists, but the
arguments in it are not used (I checked run.do_configure).

Thank you
Adam

> 
> Ross



-- 
Ing. Adam Trhoň, Software Engineer
Touchless Biometric Systems s.r.o. | 
Palackého třída 180/44 | 61200 Brno | CZECH REPUBLIC | 
Mobile: +42(0) 721 565 113 | tbs-biometrics.cz



More information about the Openembedded-core mailing list