2016-01-11, 13:57
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.
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.
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.
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.