Eclipse CDT Setup For XBMC Development

Rough starting page with notes on how to get development of XBMC Media Center up and running using Eclipse C/C++ Development Tooling (CDT)

Installing Eclipse CDT
Download the Eclipse IDE for C/C++ Developers from Eclipse Downloads. NOTE: there is a bug with Eclipse on Ubuntu Karmic Koala (9.10) where some of the GTK rendered buttons don't respond to a click. I can't believe this hasn't been fixed yet. Either Tab to focus the button and press Enter, or use the workaround noted in https://bugs.eclipse.org/bugs/show_bug.cgi?id=291257.

Install the Subversive plugin by gaining inspiration from the out-of-date Eclipse Subversive Installation Documentation

Help -> Install New Software

Type subversive into the Work with text box. Choose the Subversive Site that appears.

Install Subversive Integration Plug-in's and Subversive Team Provider Plugin

Restart Eclipse

Install Subversive Connectors (dialog after restarting Eclipse)

Choose the appropriate SVNKit version. NOTE: The version of SVNKit does NOT correspond to the version of subversion that it works with. Goodness only knows why they have a different version numbering scheme. For example, SVNKit 1.2.3 is for subversion 1.4, and SVNKit 1.3.0 is for subversion 1.6 (which you can check using svn --version). You'll have to read the description of the SVNKit version to determine what version of subversion it is for.

Restart Eclipse

Setting up XBMC in Eclipse CDT
Get XBMC source from subversion

Import project into Eclipse (there is a .project and .cproject at the root of the XBMC source tree so just select the root folder, e.g. trunk)

Connect to subversion using Team -> Share Project (may be done magically now by new Subversive plug-in)

Building XBMC
Either use command line externally or integrate the Makefile target for top level configure and make

Debugging XBMC
Build and then launch the built xbmc.bin process or connect to existing running xbmc.bin process

Tips and Tricks
Symlink a folder under the Eclipse workspace folder to the root of the XBMC source tree for the area being worked on, e.g. trunk or a branch)

TODO: Detail how to configure the editor to show differences between the working file and what's under source control

TODO: Create and checkin automatic code formatter settings for XBMC

Ctrl + Shift + R opens the Open Resource dialog. Start typing the filename and it will find it for you - no more navigating to files deep inside the file hierarchy.