Kodi Community Forum

Full Version: GSOC 2020 Proposal: Replacing depends with a CMake-based system
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Here is my proposal for GSOC2020. If there is anything I can easily improve upon, I would still appreciate it. This is my first time writing something like this. 

Name: Michael Rhone 

forum/e-mail: mrhone/[email protected] 

Summary: Kodi has its own system for building the many libraries Kodi depends on that supports most platforms (Linux, Android, OS X, iOS) and cross-compiling called depends. It is currently implemented with autotools and hand-crafted Makefiles. This project would be about replacing the current system with a new implementation in CMake. 

Motivation: I have been a long time Kodi user. I was using XBMP when it was an early port of Mplayer to Xbox and have used it on a regular basis since. I have never had the skills to contribute back to the project until recently when I began my Computer Science program. Google Summer of Code gives me an excellent opportunity to improve my abilities while giving back to an open-source project that has given me much.  

How will I achieve this: I will spend my time prior to the project studying the autotools and CMake. During the project, I will work on moving the dependency system over to CMake, bug checking, and possibly bonus goals.  

May 4 – June 01 
Community Bonding with the Kodi team. I will also be spending this time to specifically study Kodi depends system, and become more familiar with CMAKE.  
June 01 – Aug 01 
I will work primarily on moving the current depends system to CMake, allowing all dependencies to be built through CMake. 
Aug 01 – Aug 31 
Focus on any bug fixing. If I am ahead of schedule, I will focus on moving the Windows dependency system to CMake as a bonus goal 

What will the project focus on: The project will focus on replacing the building of dependencies over to CMake from the current depends system.  

Benefits: This will greatly benefit anyone developing, or compiling, Kodi. It will streamline the process and require less setup.  

Goals: The primary goal will be to move the autotools based depends system to CMake.  A secondary goal is improving the maintainability of the code, matching it with the current build system, this will reduce code duplication as well. This will all result in making the code more user friendly.  

Bonus Goals: Porting the windows dependancy system to CMake. This will further reduce code duplication, making the code more user friendly. 

What does it touch in Kodi: This touches the build process for Kodi, specifically the building of dependencies.   

Requirements: CMake, shell scripting, general familiarity with UNIX/Linux 

Possible mentors: Place to add possible mentors (Team-Kodi will add this).