WIP Evaluation of Premake for Binary Add-Ons
#1
Yesterday I noticed that there is some work on moving our Kodi build system to CMake, which is very awesome.

Today I like to discuss another project or more an evaluation for our binary add-on build system. Don't get me wrong it is great and the step in this direction was very awesome. We can generate the add-ons for all platforms with one configuration tool. But you might have noticed that the learning curve of CMake is very steep and you have to spend a lot of time to get it running. I guess afterwards it is not problem. Furthermore the Visual Studio project does not feel very natural.

That's why I started an evalution processo of Premake. At the time of this writting I can say that it has a much cleaner scripting language (LUA) and it is very customizable. Furthermore it is has a very good documentation and the project files look like setup by hand. But it needs some effort to create a build system for our Binary Addons, because it does not support all functions that CMake supports. But I think that is not a problem. There is also a module, which brings support CMake to Premake. Consquently we could get both worlds.Wink

Currently my proof of concept build system is completly independet of our xbmc repository and theoretically it would make it possible to build the binary add-ons with continous integration services like https://travis-ci.org/ or https://www.appveyor.com/. I think this is a great step in the right direction, because you don't have to setup every build environment. Furthmore you could use services for deployment. This would enable continous integration and every commit you do would result in a new build. Or you could create a new Tag and it would release a new version of the add-on. In my view it is great for third party developers, which are not part of the Team Kodi and consequently don't have access to our jenkins server.

Now I would like to ask if there is interest from other developers.

If it reduces my work, I will use it for AudioDSP anyway. Furthermore I have in mind that we could create a framework for all our binary add-ons with Alwinus Mupel and my work.
Latest news about AudioDSP and my libraries is available on Twitter.

Developers can follow me on Github.
#2
sigh.
#3
- can premake (easily) use native buildsystems? (answer: no)
- can premake easily integrate external sources from external repositories (answer: no)
- is premake well supported? (answer: no, your buildsystem will more than likely be replaced in many distros with all the fun that entails.)

i evaluated these things before i wrote the cmake build system. premake does not cut it, scons does not cut it, ... does not cut it. cmake is the only thing around that i could dig out which is capable of doing everything required without resorting to platform-dependent build scripts outside the buildsystem. capability trumps the inconvenience of a new syntax that has to be learned every day in my book.

you can have ci with any build systems.
#4
(2016-01-11, 14:19)ironic_monkey Wrote: - can premake (easily) use native buildsystems? (answer: no)
- can premake easily integrate external sources from external repositories (answer: no)
- is premake well supported? (answer: no, your buildsystem will more than likely be replaced in many distros with all the fun that entails.)

i evaluated these things before i wrote the cmake build system. premake does not cut it, scons does not cut it, ... does not cut it. cmake is the only thing around that i could dig out which is capable of doing everything required without resorting to platform-dependent build scripts outside the buildsystem. capability trumps the inconvenience of a new syntax that has to be learned every day in my book.

you can have ci with any build systems.

Hi ironic_monkey,

this is not post about CMake vs Premake. I know that you put alot of effort to create our buildsystem and I know that you're an expert in this area.Blush

I'm only here to simplify things and I like to try out new stuff.

Btw. when was the last time you looked at premake? They improved alot of things with their version 5. They also added support for pkg-config, xcode, Android, Eclipse (see https://github.com/premake/premake-core/wiki/Modules). It's also possible to merge the tools http://industriousone.com/topic/cmake-integration.

Do you have the time that I could ask you some question when I get problems. Or ask an expert about cmake stuff?
Latest news about AudioDSP and my libraries is available on Twitter.

Developers can follow me on Github.
#5
you are not simplifying anything. you are complicating everything by adding more shit that won't be able to do what is needed. soon you will start writing scripts around premake and these will be platform dependent. back to square fucking one with one system for each platform.

so no, i won't answer a single question that would complicate things for everybody for absolutely no reason.
#6
(2016-01-17, 11:46)ironic_monkey Wrote: you are not simplifying anything. you are complicating everything by adding more shit that won't be able to do what is needed.
You haven't seen anything of work until now...
I really don't understand why you get so angry.

(2016-01-17, 11:46)ironic_monkey Wrote: so no, i won't answer a single question that would complicate things for everybody for absolutely no reason.
Ok it was only a try...

@Forum Mod
please close this thread.
Latest news about AudioDSP and my libraries is available on Twitter.

Developers can follow me on Github.
#7
I absolutely agree with ironic_monkey. It took a huge amount of work to get the build system to do what it does now for all of our platform without resorting to loads of platform specific hacks like we still have for kodi itself.
If you think you can just recreate this with premake then you severely underestimate the task.
And tacking on yet another build system on top of cmake is definitely not something we want.

But if you are certain, please show us the code for a single addon and needed kodi integration for all platforms.

I also ask you to open the thread again.

Logout Mark Read Team Forum Stats Members Help
Evaluation of Premake for Binary Add-Ons0