Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rework cmake build system and adjust build variables #760

Merged
merged 141 commits into from Sep 27, 2016

Conversation

Projects
None yet
8 participants
@lrusak
Copy link
Member

commented Sep 22, 2016

Much of this goes together otherwise I would break it up into smaller bits. It's mostly just moving variables around, so it looks scary but should be relatively safe.

@MilhouseVH can you build with this please? I built it successfully for Generic so far, will test other platforms overnight. It will require a clean build.

credit goes to the original creator except where I have converted packages myself.

If we think this is too much at this point we can wait for LE9.

@hudokkow

This comment has been minimized.

Copy link
Contributor

commented Sep 22, 2016

Ouch!
cc/ me

@MilhouseVH

This comment has been minimized.

Copy link
Contributor

commented Sep 22, 2016

Had the following build failure on RPi2, seems to be NEON related: http://sprunge.us/QYJR

This was a clean build.

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 22, 2016

@MilhouseVH thanks, just ran into this also, working on it. Seems cmake with libpng doesn't build neon support. may have to remove using cmake for libpng

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 22, 2016

@MilhouseVH I just pushed a patch, please test :)

@lrusak lrusak force-pushed the lrusak:cmake branch from c102a9f to cbd02f0 Sep 22, 2016

@MilhouseVH

This comment has been minimized.

Copy link
Contributor

commented Sep 23, 2016

All OK on RPi/RPi2/Generic.

@stefansaraev

This comment has been minimized.

Copy link
Contributor

commented Sep 23, 2016

@lrusak adding extra patches to libpng, to fix a (semi)broken cmake build for the sake of moving to cmake is not worth imo. there is nothing wrong with autoconf, you can keep libpng as is

EDIT: same with other packages that now need manualy adding pkg-config files. and beware freetype soname may change if you build it with cmake!

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 23, 2016

@stefansaraev you're right, simple is better, no need for extra patches.

and yes the freetype soname changes when building with cmake :(
why does that happen?

@stefansaraev

This comment has been minimized.

Copy link
Contributor

commented Sep 23, 2016

idk. I noticed that soname change month ago when I tried to build freetype with cmake in my fork. did not care to check why it happened ;)

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 23, 2016

Seems dumb.

Any other issues you foresee?

@stefansaraev

This comment has been minimized.

Copy link
Contributor

commented Sep 23, 2016

none. still, you know my fork is very minimal. I've done this cmake rework in my fork in different way. I keep it even simpler. for packages that ship both cmakelists.txt and configure - cmake has higher prio. if I dont want to use cmake - I just delete cmakelists.txt in post_unpack()

from what I see in your PR, all should be fine after you squash/rebase reverts.

f something needs extra work to use cmake, I dont touch it (kodi is an exception, as in v18 there will be no autoconf anymore, so I started earlier..). so in my fork, expat still uses autoconf, but yours should be ok.

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 23, 2016

@LongChair not sure if any of these changes mess you guys up. There might just be some variable name differences. Just giving you a heads up :)

@LongChair

This comment has been minimized.

Copy link
Contributor

commented Sep 23, 2016

That will probably require some adjustments in our packages ... But i suppose i should be ok :)

@lrusak lrusak force-pushed the lrusak:cmake branch from 92f9936 to d91a46b Sep 23, 2016

@lrusak lrusak removed the MERGE BLOCKED label Sep 23, 2016

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 23, 2016

rebased, should be good to go if @MilhouseVH gives the thumbs up

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 24, 2016

pushed a commit to revert the yasm cmake change as yasm won't build for target when using cmake (not without patches at least).

@vpeter4

This comment has been minimized.

Copy link
Contributor

commented Sep 24, 2016

It doesn't build for imx6 project (master + this pr) - don't understand what the issue could be.

CPP     xbmc/interfaces/python/PyContext.o
Unable to open file /home/pvic/tmp/a/le.xmlmake/build.LibreELEC-imx6.arm-8.0-devel/kodi-17.0-beta2-6e9d6fb/xbmc/interfaces/python/generated/AddonModuleXbmc.xml: No such file or directory
../../../codegenerator.mk:45: recipe for target '/home/pvic/tmp/a/le.cmake/build.LibreELEC-imx6.arm-8.0-devel/kodi-17.0-beta2-6e9d6fb/xbmc/interfaces/python/generated/AddonModuleXbmc.xml' failed
make[1]: *** [/home/pvic/tmp/a/le.cmake/build.LibreELEC-imx6.arm-8.0-devel/kodi-17.0-beta2-6e9d6fb/xbmc/interfaces/python/generated/AddonModuleXbmc.xml] Error 1
Makefile:428: recipe for target 'xbmc/interfaces/python/python_binding.a' failed
make: *** [xbmc/interfaces/python/python_binding.a] Error 2
@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 25, 2016

added some more fixup commits.

@lrusak lrusak referenced this pull request Sep 26, 2016

Merged

kodi use cmake #768

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 26, 2016

any objections here? would be nice to get this in or should we wait till LE9?

@MilhouseVH

This comment has been minimized.

Copy link
Contributor

commented Sep 26, 2016

None from me. I'd rather this was merged sooner than later.

@LongChair

This comment has been minimized.

Copy link
Contributor

commented Sep 26, 2016

Yeah the sooner it's merged, the better it is, will need to fix our packages accordingly :p

@vpeter4

This comment has been minimized.

Copy link
Contributor

commented Sep 26, 2016

I finally figure out where the problem is - I can't build in le.cmake folder. Wonder why... Seems there is some folder name changed to le.xmlmake.

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 26, 2016

@MilhouseVH pushed a fixup to allow for debug builds

config/functions: rework setup_toolchain, add cmake configuration
Signed-off-by: Stephan Raue <stephan@openelec.tv>

lrusak added some commits Sep 23, 2016

@lrusak lrusak force-pushed the lrusak:cmake branch from e044929 to 468f967 Sep 27, 2016

@lrusak lrusak removed the MERGE BLOCKED label Sep 27, 2016

@lrusak

This comment has been minimized.

Copy link
Member Author

commented Sep 27, 2016

rebased

@chewitt chewitt merged commit a7ad329 into LibreELEC:master Sep 27, 2016

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.