aboutsummaryrefslogtreecommitdiff
path: root/project
diff options
context:
space:
mode:
Diffstat (limited to 'project')
-rw-r--r--project/VS2010Express/XBMC for Windows.sln37
-rw-r--r--project/VS2010Express/XBMC.vcxproj2
-rw-r--r--project/VS2010Express/XBMC.vcxproj.filters6
-rw-r--r--project/Win32BuildSetup/BuildSetup.bat6
-rw-r--r--project/Win32BuildSetup/genNsisIncludes.bat16
-rw-r--r--project/Win32BuildSetup/genNsisInstaller.nsi1
-rw-r--r--project/cmake/addons/CMakeLists.txt56
-rw-r--r--project/cmake/addons/README13
-rw-r--r--project/cmake/addons/addons/adsp.basic/adsp.basic.txt1
-rw-r--r--project/cmake/addons/addons/adsp.basic/platforms.txt1
-rw-r--r--project/cmake/addons/addons/adsp.biquad.filters/adsp.biquad.filters.txt1
-rw-r--r--project/cmake/addons/addons/adsp.biquad.filters/platforms.txt1
-rw-r--r--project/cmake/addons/addons/adsp.freesurround/adsp.freesurround.txt1
-rw-r--r--project/cmake/addons/addons/adsp.freesurround/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.modplug/audiodecoder.modplug.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.modplug/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.nosefart/audiodecoder.nosefart.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.nosefart/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.sidplay/audiodecoder.sidplay.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.sidplay/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.snesapu/audiodecoder.snesapu.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.snesapu/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.stsound/audiodecoder.stsound.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.stsound/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.timidity/audiodecoder.timidity.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.timidity/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.vgmstream/audiodecoder.vgmstream.txt1
-rw-r--r--project/cmake/addons/addons/audiodecoder.vgmstream/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audioencoder.flac/audioencoder.flac.txt1
-rw-r--r--project/cmake/addons/addons/audioencoder.flac/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audioencoder.lame/audioencoder.lame.txt1
-rw-r--r--project/cmake/addons/addons/audioencoder.lame/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audioencoder.vorbis/audioencoder.vorbis.txt1
-rw-r--r--project/cmake/addons/addons/audioencoder.vorbis/platforms.txt1
-rw-r--r--project/cmake/addons/addons/audioencoder.wav/audioencoder.wav.txt1
-rw-r--r--project/cmake/addons/addons/audioencoder.wav/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.argustv/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt1
-rw-r--r--project/cmake/addons/addons/pvr.demo/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.demo/pvr.demo.txt1
-rw-r--r--project/cmake/addons/addons/pvr.dvblink/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt1
-rw-r--r--project/cmake/addons/addons/pvr.dvbviewer/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt1
-rw-r--r--project/cmake/addons/addons/pvr.filmon/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt1
-rw-r--r--project/cmake/addons/addons/pvr.hts/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.hts/pvr.hts.txt1
-rw-r--r--project/cmake/addons/addons/pvr.iptvsimple/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.iptvsimple/pvr.iptvsimple.txt1
-rw-r--r--project/cmake/addons/addons/pvr.mediaportal.tvserver/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt1
-rw-r--r--project/cmake/addons/addons/pvr.mythtv/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt1
-rw-r--r--project/cmake/addons/addons/pvr.nextpvr/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt1
-rw-r--r--project/cmake/addons/addons/pvr.njoy/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt1
-rw-r--r--project/cmake/addons/addons/pvr.pctv/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt1
-rw-r--r--project/cmake/addons/addons/pvr.stalker/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt1
-rw-r--r--project/cmake/addons/addons/pvr.vbox/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt1
-rw-r--r--project/cmake/addons/addons/pvr.vdr.vnsi/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt1
-rw-r--r--project/cmake/addons/addons/pvr.vuplus/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.vuplus/pvr.vuplus.txt1
-rw-r--r--project/cmake/addons/addons/pvr.wmc/platforms.txt1
-rw-r--r--project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt1
-rw-r--r--project/cmake/addons/bootstrap/CMakeLists.txt75
-rw-r--r--project/cmake/addons/bootstrap/README.md48
-rw-r--r--project/cmake/addons/bootstrap/bootstrap.cmake38
-rw-r--r--project/cmake/addons/bootstrap/repositories/binary-addons.txt1
74 files changed, 254 insertions, 107 deletions
diff --git a/project/VS2010Express/XBMC for Windows.sln b/project/VS2010Express/XBMC for Windows.sln
index de0d99768b..b18090c0cb 100644
--- a/project/VS2010Express/XBMC for Windows.sln
+++ b/project/VS2010Express/XBMC for Windows.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
-VisualStudioVersion = 12.0.31101.0
+VisualStudioVersion = 12.0.40629.0
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Kodi", "XBMC.vcxproj", "{3A68081D-E8F9-4523-9436-530DE9E5530A}"
ProjectSection(ProjectDependencies) = postProject
@@ -12,8 +12,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libPlatinum", "libPlatinum.
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "UnrarXLib", "UnrarXLib.vcxproj", "{FE0A91C0-E30A-47CD-8A92-A508C9292452}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "visMilkdrop", "..\..\xbmc\visualizations\Milkdrop\Plugin.vcxproj", "{5E479372-4F34-426D-AA1E-9879E94C105D}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageLib_dll", "..\..\lib\cximage-6.0\ImageLib.vcxproj", "{3B424C94-2005-44CC-BFB1-4B6C89090732}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageLib_jasper", "..\..\lib\cximage-6.0\jasper\jasper.vcxproj", "{3843C3D4-E5A6-4030-87EC-E7EE57242106}"
@@ -34,10 +32,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ImageLib_zlib", "..\..\lib\
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libexif_dll", "..\..\lib\libexif\libexif.vcxproj", "{AD20A3E2-09CB-42DB-9A70-27F7CDC886CE}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "visDirectxSpectrum", "..\..\xbmc\visualizations\DirectXSpectrum\directx_spectrum.vcxproj", "{0D91724A-E6F6-4708-AF47-9F88BBE2114C}"
-EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "visWaveform", "..\..\xbmc\visualizations\WaveForm\Waveform.vcxproj", "{D450FE9A-CE56-4496-B4AB-379094E642F2}"
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "squish", "..\..\tools\depends\native\libsquish-native\src\vs7\squish\squish_2010.vcxproj", "{6A8518C3-D81A-4428-BD7F-C37933088AC1}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cpluff", "..\..\lib\cpluff\libcpluff\win32\cpluff.vcxproj", "{88968763-3D6B-48A8-B495-CC8C187FAC02}"
@@ -59,11 +53,6 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gtest", "..\..\lib\gtest\ms
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libXBMC_codec", "..\..\lib\addons\library.xbmc.codec\project\VS2010Express\libXBMC_codec.vcxproj", "{F8F1290B-1188-4810-86C9-88178A31D2AF}"
EndProject
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "visVortex", "..\..\xbmc\visualizations\Vortex\Vortex\Vortex.vcxproj", "{AFF288D5-8A77-4817-8DD9-364E183CDBF8}"
- ProjectSection(ProjectDependencies) = postProject
- {034B1D02-CA92-455D-8866-DB95BEE49C10} = {034B1D02-CA92-455D-8866-DB95BEE49C10}
- EndProjectSection
-EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Effects11", "..\..\lib\win32\Effects11\Effects11_2013.vcxproj", "{DF460EAB-570D-4B50-9089-2E2FC801BF38}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "libKODI_adsp", "..\..\lib\addons\library.kodi.adsp\project\VS2010Express\libKODI_adsp.vcxproj", "{44F93C4D-85DD-4452-99BB-F1D196174024}"
@@ -93,12 +82,6 @@ Global
{FE0A91C0-E30A-47CD-8A92-A508C9292452}.Debug|Win32.Build.0 = Debug|Win32
{FE0A91C0-E30A-47CD-8A92-A508C9292452}.Release|Win32.ActiveCfg = Release|Win32
{FE0A91C0-E30A-47CD-8A92-A508C9292452}.Release|Win32.Build.0 = Release|Win32
- {5E479372-4F34-426D-AA1E-9879E94C105D}.Debug Testsuite|Win32.ActiveCfg = Debug|Win32
- {5E479372-4F34-426D-AA1E-9879E94C105D}.Debug Testsuite|Win32.Build.0 = Debug|Win32
- {5E479372-4F34-426D-AA1E-9879E94C105D}.Debug|Win32.ActiveCfg = Debug|Win32
- {5E479372-4F34-426D-AA1E-9879E94C105D}.Debug|Win32.Build.0 = Debug|Win32
- {5E479372-4F34-426D-AA1E-9879E94C105D}.Release|Win32.ActiveCfg = Release|Win32
- {5E479372-4F34-426D-AA1E-9879E94C105D}.Release|Win32.Build.0 = Release|Win32
{3B424C94-2005-44CC-BFB1-4B6C89090732}.Debug Testsuite|Win32.ActiveCfg = Debug|Win32
{3B424C94-2005-44CC-BFB1-4B6C89090732}.Debug Testsuite|Win32.Build.0 = Debug|Win32
{3B424C94-2005-44CC-BFB1-4B6C89090732}.Debug|Win32.ActiveCfg = Debug|Win32
@@ -159,18 +142,6 @@ Global
{AD20A3E2-09CB-42DB-9A70-27F7CDC886CE}.Debug|Win32.Build.0 = Debug (DLL)|Win32
{AD20A3E2-09CB-42DB-9A70-27F7CDC886CE}.Release|Win32.ActiveCfg = Release (DLL)|Win32
{AD20A3E2-09CB-42DB-9A70-27F7CDC886CE}.Release|Win32.Build.0 = Release (DLL)|Win32
- {0D91724A-E6F6-4708-AF47-9F88BBE2114C}.Debug Testsuite|Win32.ActiveCfg = Debug|Win32
- {0D91724A-E6F6-4708-AF47-9F88BBE2114C}.Debug Testsuite|Win32.Build.0 = Debug|Win32
- {0D91724A-E6F6-4708-AF47-9F88BBE2114C}.Debug|Win32.ActiveCfg = Debug|Win32
- {0D91724A-E6F6-4708-AF47-9F88BBE2114C}.Debug|Win32.Build.0 = Debug|Win32
- {0D91724A-E6F6-4708-AF47-9F88BBE2114C}.Release|Win32.ActiveCfg = Release|Win32
- {0D91724A-E6F6-4708-AF47-9F88BBE2114C}.Release|Win32.Build.0 = Release|Win32
- {D450FE9A-CE56-4496-B4AB-379094E642F2}.Debug Testsuite|Win32.ActiveCfg = Debug|Win32
- {D450FE9A-CE56-4496-B4AB-379094E642F2}.Debug Testsuite|Win32.Build.0 = Debug|Win32
- {D450FE9A-CE56-4496-B4AB-379094E642F2}.Debug|Win32.ActiveCfg = Debug|Win32
- {D450FE9A-CE56-4496-B4AB-379094E642F2}.Debug|Win32.Build.0 = Debug|Win32
- {D450FE9A-CE56-4496-B4AB-379094E642F2}.Release|Win32.ActiveCfg = Release|Win32
- {D450FE9A-CE56-4496-B4AB-379094E642F2}.Release|Win32.Build.0 = Release|Win32
{6A8518C3-D81A-4428-BD7F-C37933088AC1}.Debug Testsuite|Win32.ActiveCfg = Debug|Win32
{6A8518C3-D81A-4428-BD7F-C37933088AC1}.Debug Testsuite|Win32.Build.0 = Debug|Win32
{6A8518C3-D81A-4428-BD7F-C37933088AC1}.Debug|Win32.ActiveCfg = Debug|Win32
@@ -220,12 +191,6 @@ Global
{F8F1290B-1188-4810-86C9-88178A31D2AF}.Debug|Win32.Build.0 = Debug|Win32
{F8F1290B-1188-4810-86C9-88178A31D2AF}.Release|Win32.ActiveCfg = Release|Win32
{F8F1290B-1188-4810-86C9-88178A31D2AF}.Release|Win32.Build.0 = Release|Win32
- {AFF288D5-8A77-4817-8DD9-364E183CDBF8}.Debug Testsuite|Win32.ActiveCfg = Debug|Win32
- {AFF288D5-8A77-4817-8DD9-364E183CDBF8}.Debug Testsuite|Win32.Build.0 = Debug|Win32
- {AFF288D5-8A77-4817-8DD9-364E183CDBF8}.Debug|Win32.ActiveCfg = Debug|Win32
- {AFF288D5-8A77-4817-8DD9-364E183CDBF8}.Debug|Win32.Build.0 = Debug|Win32
- {AFF288D5-8A77-4817-8DD9-364E183CDBF8}.Release|Win32.ActiveCfg = Release|Win32
- {AFF288D5-8A77-4817-8DD9-364E183CDBF8}.Release|Win32.Build.0 = Release|Win32
{DF460EAB-570D-4B50-9089-2E2FC801BF38}.Debug Testsuite|Win32.ActiveCfg = Debug|Win32
{DF460EAB-570D-4B50-9089-2E2FC801BF38}.Debug Testsuite|Win32.Build.0 = Debug|Win32
{DF460EAB-570D-4B50-9089-2E2FC801BF38}.Debug|Win32.ActiveCfg = Debug|Win32
diff --git a/project/VS2010Express/XBMC.vcxproj b/project/VS2010Express/XBMC.vcxproj
index 163d8b20ae..d516bcc833 100644
--- a/project/VS2010Express/XBMC.vcxproj
+++ b/project/VS2010Express/XBMC.vcxproj
@@ -200,6 +200,7 @@
<ClCompile Include="..\..\xbmc\addons\LanguageResource.cpp" />
<ClCompile Include="..\..\xbmc\addons\PluginSource.cpp" />
<ClCompile Include="..\..\xbmc\addons\Repository.cpp" />
+ <ClCompile Include="..\..\xbmc\addons\RepositoryUpdater.cpp" />
<ClCompile Include="..\..\xbmc\addons\Service.cpp" />
<ClCompile Include="..\..\xbmc\addons\Skin.cpp" />
<ClCompile Include="..\..\xbmc\addons\UISoundsResource.cpp" />
@@ -1753,6 +1754,7 @@
<ClInclude Include="..\..\xbmc\addons\GUIWindowAddonBrowser.h" />
<ClInclude Include="..\..\xbmc\addons\PluginSource.h" />
<ClInclude Include="..\..\xbmc\addons\Repository.h" />
+ <ClInclude Include="..\..\xbmc\addons\RepositoryUpdater.h" />
<ClInclude Include="..\..\xbmc\addons\Service.h" />
<ClInclude Include="..\..\xbmc\addons\Skin.h" />
<ClInclude Include="..\..\xbmc\Application.h" />
diff --git a/project/VS2010Express/XBMC.vcxproj.filters b/project/VS2010Express/XBMC.vcxproj.filters
index d035195943..482566a9cf 100644
--- a/project/VS2010Express/XBMC.vcxproj.filters
+++ b/project/VS2010Express/XBMC.vcxproj.filters
@@ -765,6 +765,9 @@
<ClCompile Include="..\..\xbmc\addons\Repository.cpp">
<Filter>addons</Filter>
</ClCompile>
+ <ClCompile Include="..\..\xbmc\addons\RepositoryUpdater.cpp">
+ <Filter>addons</Filter>
+ </ClCompile>
<ClCompile Include="..\..\xbmc\addons\Skin.cpp">
<Filter>addons</Filter>
</ClCompile>
@@ -3683,6 +3686,9 @@
<ClInclude Include="..\..\xbmc\addons\Repository.h">
<Filter>addons</Filter>
</ClInclude>
+ <ClInclude Include="..\..\xbmc\addons\RepositoryUpdater.h">
+ <Filter>addons</Filter>
+ </ClInclude>
<ClInclude Include="..\..\xbmc\addons\Skin.h">
<Filter>addons</Filter>
</ClInclude>
diff --git a/project/Win32BuildSetup/BuildSetup.bat b/project/Win32BuildSetup/BuildSetup.bat
index 75a6562d41..048b637957 100644
--- a/project/Win32BuildSetup/BuildSetup.bat
+++ b/project/Win32BuildSetup/BuildSetup.bat
@@ -188,12 +188,6 @@ set WORKSPACE=%CD%\..\..
Echo addons\repository.pvr-ios.xbmc.org\>>exclude.txt
Echo addons\repository.pvr-osx32.xbmc.org\>>exclude.txt
Echo addons\repository.pvr-osx64.xbmc.org\>>exclude.txt
- Echo addons\screensaver.rsxs.euphoria\>>exclude.txt
- Echo addons\screensaver.rsxs.plasma\>>exclude.txt
- Echo addons\screensaver.rsxs.solarwinds\>>exclude.txt
- Echo addons\visualization.fishbmc\>>exclude.txt
- Echo addons\visualization.projectm\>>exclude.txt
- Echo addons\visualization.glspectrum\>>exclude.txt
rem Exclude skins as they're copied by their own script
Echo addons\skin.re-touched\>>exclude.txt
Echo addons\skin.confluence\>>exclude.txt
diff --git a/project/Win32BuildSetup/genNsisIncludes.bat b/project/Win32BuildSetup/genNsisIncludes.bat
index 985fd32041..ef01b27a23 100644
--- a/project/Win32BuildSetup/genNsisIncludes.bat
+++ b/project/Win32BuildSetup/genNsisIncludes.bat
@@ -76,6 +76,22 @@ IF EXIST BUILD_WIN32\addons\adsp.* (
)
SET Counter=1
+IF EXIST BUILD_WIN32\addons\visualization.* (
+ ECHO SectionGroup "Music Visualization Add-ons" SecVisualizationAddons >> visualization-addons.nsi
+ FOR /F "tokens=*" %%P IN ('dir /B /AD BUILD_WIN32\addons\visualization.*') DO (
+ SET "output=%%P"
+ SET output=!output:visualization.=!
+ ECHO Section "!output!" SecVisualizationAddons!Counter! >> visualization-addons.nsi
+ ECHO SectionIn 1 2 3 #section is in installtype Full >> visualization-addons.nsi
+ ECHO SetOutPath "$INSTDIR\addons\%%P" >> visualization-addons.nsi
+ ECHO File /r "${app_root}\addons\%%P\*.*" >> visualization-addons.nsi
+ ECHO SectionEnd >> visualization-addons.nsi
+ SET /A Counter = !Counter! + 1
+ )
+ ECHO SectionGroupEnd >> visualization-addons.nsi
+)
+
+SET Counter=1
IF EXIST BUILD_WIN32\addons\skin.* (
ECHO SectionGroup "Skin Add-ons" SecSkinAddons >> skin-addons.nsi
FOR /F "tokens=*" %%P IN ('dir /B /AD BUILD_WIN32\addons\skin.*') DO (
diff --git a/project/Win32BuildSetup/genNsisInstaller.nsi b/project/Win32BuildSetup/genNsisInstaller.nsi
index 50289c6ea1..5603a47851 100644
--- a/project/Win32BuildSetup/genNsisInstaller.nsi
+++ b/project/Win32BuildSetup/genNsisInstaller.nsi
@@ -283,6 +283,7 @@ SectionEnd
!include /nonfatal "audiodsp-addons.nsi"
!include /nonfatal "pvr-addons.nsi"
!include /nonfatal "skin-addons.nsi"
+!include /nonfatal "visualization-addons.nsi"
;--------------------------------
;Descriptions
diff --git a/project/cmake/addons/CMakeLists.txt b/project/cmake/addons/CMakeLists.txt
index d1ae271700..1625c7509a 100644
--- a/project/cmake/addons/CMakeLists.txt
+++ b/project/cmake/addons/CMakeLists.txt
@@ -81,6 +81,7 @@ list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX})
set(BUILD_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-DPACKAGE_CONFIG_PATH=${DEPENDS_PATH}/lib/pkgconfig
+ -DDEPENDS_PATH=${DEPENDS_PATH}
-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_USER_MAKE_RULES_OVERRIDE=${CMAKE_USER_MAKE_RULES_OVERRIDE}
-DCMAKE_USER_MAKE_RULES_OVERRIDE_CXX=${CMAKE_USER_MAKE_RULES_OVERRIDE_CXX}
@@ -123,6 +124,13 @@ else()
separate_arguments(ADDONS_TO_BUILD)
endif()
+if(NOT ADDONS_DEFINITION_DIR)
+ set(ADDONS_DEFINITION_DIR ${PROJECT_SOURCE_DIR}/addons)
+else()
+ file(TO_CMAKE_PATH "${ADDONS_DEFINITION_DIR}" ADDONS_DEFINITION_DIR)
+endif()
+get_filename_component(ADDONS_DEFINITION_DIR "${ADDONS_DEFINITION_DIR}" ABSOLUTE)
+
if(ADDON_SRC_PREFIX)
message(STATUS "Overriding addon source directory prefix: ${ADDON_SRC_PREFIX}")
endif()
@@ -176,7 +184,38 @@ add_custom_target(package-addons)
### get and build all the binary addons
# look for all the addons to be built
-file(GLOB_RECURSE addons ${PROJECT_SOURCE_DIR}/addons/*.txt)
+file(GLOB_RECURSE addons ${ADDONS_DEFINITION_DIR}/*.txt)
+
+#if there are no addons assume that bootstrapping hasn't happened yet
+if(NOT addons)
+ message(STATUS "Bootstrapping all default repositories as no addons were found...")
+ set(BOOTSTRAP_BUILD_DIR "${BUILD_DIR}/bootstrap")
+
+ # make sure that the bootstraps build addon exists
+ if(NOT EXISTS ${BOOTSTRAP_BUILD_DIR})
+ file(MAKE_DIRECTORY ${BOOTSTRAP_BUILD_DIR})
+ endif()
+
+ # generate the bootstrap buildsystem
+ execute_process(COMMAND ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR}/bootstrap
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ -DCMAKE_INSTALL_PREFIX:PATH=${ADDONS_DEFINITION_DIR}
+ -DBUILD_DIR:PATH=${BOOTSTRAP_BUILD_DIR}
+ -DADDONS_TO_BUILD=${ADDONS_TO_BUILD}
+ WORKING_DIRECTORY ${BOOTSTRAP_BUILD_DIR})
+
+ # execute the generated bootstrap buildsystem
+ execute_process(COMMAND ${CMAKE_COMMAND} --build ${BOOTSTRAP_BUILD_DIR}
+ WORKING_DIRECTORY ${BOOTSTRAP_BUILD_DIR})
+
+ # now look for all the addons to be built again
+ file(GLOB_RECURSE addons ${ADDONS_DEFINITION_DIR}/*.txt)
+
+ if(NOT addons)
+ message(FATAL_ERROR "No addons available to be built")
+ endif()
+endif()
+
foreach(addon ${addons})
if(NOT (addon MATCHES platforms.txt))
file(STRINGS ${addon} def)
@@ -186,7 +225,7 @@ foreach(addon ${addons})
set(ADDON_FOUND FALSE)
# try to find a perfect match
list(FIND ADDONS_TO_BUILD ${id} idx)
- if(idx GREATER -1 OR ADDONS_TO_BUILD STREQUAL "all")
+ if(idx GREATER -1 OR "${ADDONS_TO_BUILD}" STREQUAL "all")
set(ADDON_FOUND TRUE)
# Maybe we have a regex
elseif(id MATCHES "${ADDONS_TO_BUILD}")
@@ -332,11 +371,24 @@ foreach(addon ${addons})
endif()
endif()
+ if(CROSS_AUTOCONF AND AUTOCONF_FILES)
+ if(EXISTS ${SOURCE_DIR}/bootstrap/autoreconf.txt)
+ file(STRINGS ${SOURCE_DIR}/bootstrap/autoreconf.txt conf_dirs)
+ foreach(conf_dir ${conf_dirs})
+ foreach(afile ${AUTOCONF_FILES})
+ message(STATUS "copying ${afile} to ${SOURCE_DIR}/${conf_dir}")
+ file(COPY ${afile} DESTINATION ${SOURCE_DIR}/${conf_dir})
+ endforeach()
+ endforeach()
+ endif()
+ endif()
+
# create a forwarding target to the addon-package target
add_custom_target(package-${id}
COMMAND ${CMAKE_COMMAND} --build ${BUILD_DIR}/${id}-prefix/src/${id}-build --target addon-package
DEPENDS ${id})
add_dependencies(package-addons package-${id})
+
else()
message(FATAL_ERROR "${id}: invalid or missing addon source directory at ${SOURCE_DIR}")
endif()
diff --git a/project/cmake/addons/README b/project/cmake/addons/README
index c1dc31c19f..a0f2c322cf 100644
--- a/project/cmake/addons/README
+++ b/project/cmake/addons/README
@@ -1,7 +1,8 @@
KODI ADDONS
===========
This directory contains the cmake-based buildsystem for addons. It looks into
-the "addons" sub-directory and parses all *.txt files recursively. Each addon
+the directory pointed to by the ADDONS_DEFINITION_DIR option (which defaults to
+the "addons" sub-directory) and parses all *.txt files recursively. Each addon
must have its own <addon-id>.txt file in a separate sub-directory which must
follow one of the defined format:
<addon-id> <git-url> <git-revision>
@@ -24,6 +25,14 @@ are:
(i), e.g. "!windows".
Available platforms are: linux, windows, osx, ios, android, rbpi, freebsd
+ATTENTION: If no addon definitions could be found the buildsystem assumes that
+ the bootstrapping of the addon definition repositories hasn't been
+ performed yet and automatically executes the addon bootstrapping
+ buildsystem located in the "bootstrap" sub-directory with the default
+ settings (i.e. all addons from all pre-defined addon definition
+ repositories are bootstrapped into the directory pointed to by the
+ ADDONS_DEFINITION_DIR option).
+
The buildsystem uses the following variables (which can be passed into it when
executing cmake with the -D<variable-name>=<value> option) to e.g. access
specific paths:
@@ -32,6 +41,8 @@ specific paths:
you want to build (default is "all").
- a regular expression that every <addon-id> is matched against
e.g.: ADDONS_TO_BUILD=pvr.* to build all pvr addons
+ * ADDONS_DEFINITION_DIR points to the directory containing the definitions
+ for the addons to be built.
* ADDON_SRC_PREFIX can be used to override the addon repository location.
It must point to the locally available parent directory of the addon(s) to build
<addon-id> will be appended to this path automatically
diff --git a/project/cmake/addons/addons/adsp.basic/adsp.basic.txt b/project/cmake/addons/addons/adsp.basic/adsp.basic.txt
deleted file mode 100644
index d79db21330..0000000000
--- a/project/cmake/addons/addons/adsp.basic/adsp.basic.txt
+++ /dev/null
@@ -1 +0,0 @@
-adsp.basic https://github.com/kodi-adsp/adsp.basic da6ee5d
diff --git a/project/cmake/addons/addons/adsp.basic/platforms.txt b/project/cmake/addons/addons/adsp.basic/platforms.txt
deleted file mode 100644
index 7a68b11da8..0000000000
--- a/project/cmake/addons/addons/adsp.basic/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-disabled
diff --git a/project/cmake/addons/addons/adsp.biquad.filters/adsp.biquad.filters.txt b/project/cmake/addons/addons/adsp.biquad.filters/adsp.biquad.filters.txt
deleted file mode 100644
index 9558225708..0000000000
--- a/project/cmake/addons/addons/adsp.biquad.filters/adsp.biquad.filters.txt
+++ /dev/null
@@ -1 +0,0 @@
-adsp.biquad.filters https://github.com/kodi-adsp/adsp.biquad.filters b6a31a9
diff --git a/project/cmake/addons/addons/adsp.biquad.filters/platforms.txt b/project/cmake/addons/addons/adsp.biquad.filters/platforms.txt
deleted file mode 100644
index 87e7bdaaec..0000000000
--- a/project/cmake/addons/addons/adsp.biquad.filters/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-disabled \ No newline at end of file
diff --git a/project/cmake/addons/addons/adsp.freesurround/adsp.freesurround.txt b/project/cmake/addons/addons/adsp.freesurround/adsp.freesurround.txt
deleted file mode 100644
index 6eabb831ef..0000000000
--- a/project/cmake/addons/addons/adsp.freesurround/adsp.freesurround.txt
+++ /dev/null
@@ -1 +0,0 @@
-adsp.freesurround https://github.com/kodi-adsp/adsp.freesurround 4dd3202
diff --git a/project/cmake/addons/addons/adsp.freesurround/platforms.txt b/project/cmake/addons/addons/adsp.freesurround/platforms.txt
deleted file mode 100644
index 87e7bdaaec..0000000000
--- a/project/cmake/addons/addons/adsp.freesurround/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-disabled \ No newline at end of file
diff --git a/project/cmake/addons/addons/audiodecoder.modplug/audiodecoder.modplug.txt b/project/cmake/addons/addons/audiodecoder.modplug/audiodecoder.modplug.txt
deleted file mode 100644
index 5da1edccac..0000000000
--- a/project/cmake/addons/addons/audiodecoder.modplug/audiodecoder.modplug.txt
+++ /dev/null
@@ -1 +0,0 @@
-audiodecoder.modplug https://github.com/notspiff/audiodecoder.modplug master
diff --git a/project/cmake/addons/addons/audiodecoder.modplug/platforms.txt b/project/cmake/addons/addons/audiodecoder.modplug/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audiodecoder.modplug/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/audiodecoder.nosefart/audiodecoder.nosefart.txt b/project/cmake/addons/addons/audiodecoder.nosefart/audiodecoder.nosefart.txt
deleted file mode 100644
index 43d9eacb69..0000000000
--- a/project/cmake/addons/addons/audiodecoder.nosefart/audiodecoder.nosefart.txt
+++ /dev/null
@@ -1 +0,0 @@
-audiodecoder.nosefart https://github.com/notspiff/audiodecoder.nosefart master
diff --git a/project/cmake/addons/addons/audiodecoder.nosefart/platforms.txt b/project/cmake/addons/addons/audiodecoder.nosefart/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audiodecoder.nosefart/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/audiodecoder.sidplay/audiodecoder.sidplay.txt b/project/cmake/addons/addons/audiodecoder.sidplay/audiodecoder.sidplay.txt
deleted file mode 100644
index 8a584920bb..0000000000
--- a/project/cmake/addons/addons/audiodecoder.sidplay/audiodecoder.sidplay.txt
+++ /dev/null
@@ -1 +0,0 @@
-audiodecoder.sidplay https://github.com/notspiff/audiodecoder.sidplay master
diff --git a/project/cmake/addons/addons/audiodecoder.sidplay/platforms.txt b/project/cmake/addons/addons/audiodecoder.sidplay/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audiodecoder.sidplay/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/audiodecoder.snesapu/audiodecoder.snesapu.txt b/project/cmake/addons/addons/audiodecoder.snesapu/audiodecoder.snesapu.txt
deleted file mode 100644
index b2f6ebf438..0000000000
--- a/project/cmake/addons/addons/audiodecoder.snesapu/audiodecoder.snesapu.txt
+++ /dev/null
@@ -1 +0,0 @@
-audiodecoder.snesapu https://github.com/notspiff/audiodecoder.snesapu master
diff --git a/project/cmake/addons/addons/audiodecoder.snesapu/platforms.txt b/project/cmake/addons/addons/audiodecoder.snesapu/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audiodecoder.snesapu/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/audiodecoder.stsound/audiodecoder.stsound.txt b/project/cmake/addons/addons/audiodecoder.stsound/audiodecoder.stsound.txt
deleted file mode 100644
index 5634c28f19..0000000000
--- a/project/cmake/addons/addons/audiodecoder.stsound/audiodecoder.stsound.txt
+++ /dev/null
@@ -1 +0,0 @@
-audiodecoder.stsound https://github.com/notspiff/audiodecoder.stsound master
diff --git a/project/cmake/addons/addons/audiodecoder.stsound/platforms.txt b/project/cmake/addons/addons/audiodecoder.stsound/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audiodecoder.stsound/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/audiodecoder.timidity/audiodecoder.timidity.txt b/project/cmake/addons/addons/audiodecoder.timidity/audiodecoder.timidity.txt
deleted file mode 100644
index 983384cf0d..0000000000
--- a/project/cmake/addons/addons/audiodecoder.timidity/audiodecoder.timidity.txt
+++ /dev/null
@@ -1 +0,0 @@
-audiodecoder.timidity https://github.com/notspiff/audiodecoder.timidity master
diff --git a/project/cmake/addons/addons/audiodecoder.timidity/platforms.txt b/project/cmake/addons/addons/audiodecoder.timidity/platforms.txt
deleted file mode 100644
index 07fd8e9cec..0000000000
--- a/project/cmake/addons/addons/audiodecoder.timidity/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-!windows \ No newline at end of file
diff --git a/project/cmake/addons/addons/audiodecoder.vgmstream/audiodecoder.vgmstream.txt b/project/cmake/addons/addons/audiodecoder.vgmstream/audiodecoder.vgmstream.txt
deleted file mode 100644
index bcde1fbdd9..0000000000
--- a/project/cmake/addons/addons/audiodecoder.vgmstream/audiodecoder.vgmstream.txt
+++ /dev/null
@@ -1 +0,0 @@
-audiodecoder.vgmstream https://github.com/notspiff/audiodecoder.vgmstream master
diff --git a/project/cmake/addons/addons/audiodecoder.vgmstream/platforms.txt b/project/cmake/addons/addons/audiodecoder.vgmstream/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audiodecoder.vgmstream/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/audioencoder.flac/audioencoder.flac.txt b/project/cmake/addons/addons/audioencoder.flac/audioencoder.flac.txt
deleted file mode 100644
index a07784c3c0..0000000000
--- a/project/cmake/addons/addons/audioencoder.flac/audioencoder.flac.txt
+++ /dev/null
@@ -1 +0,0 @@
-audioencoder.flac https://github.com/xbmc/audioencoder.flac master
diff --git a/project/cmake/addons/addons/audioencoder.flac/platforms.txt b/project/cmake/addons/addons/audioencoder.flac/platforms.txt
deleted file mode 100644
index 174a52e762..0000000000
--- a/project/cmake/addons/addons/audioencoder.flac/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-!ios \ No newline at end of file
diff --git a/project/cmake/addons/addons/audioencoder.lame/audioencoder.lame.txt b/project/cmake/addons/addons/audioencoder.lame/audioencoder.lame.txt
deleted file mode 100644
index 0081e7dc5c..0000000000
--- a/project/cmake/addons/addons/audioencoder.lame/audioencoder.lame.txt
+++ /dev/null
@@ -1 +0,0 @@
-audioencoder.lame https://github.com/xbmc/audioencoder.lame master
diff --git a/project/cmake/addons/addons/audioencoder.lame/platforms.txt b/project/cmake/addons/addons/audioencoder.lame/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audioencoder.lame/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/audioencoder.vorbis/audioencoder.vorbis.txt b/project/cmake/addons/addons/audioencoder.vorbis/audioencoder.vorbis.txt
deleted file mode 100644
index bad54751a4..0000000000
--- a/project/cmake/addons/addons/audioencoder.vorbis/audioencoder.vorbis.txt
+++ /dev/null
@@ -1 +0,0 @@
-audioencoder.vorbis https://github.com/xbmc/audioencoder.vorbis master
diff --git a/project/cmake/addons/addons/audioencoder.vorbis/platforms.txt b/project/cmake/addons/addons/audioencoder.vorbis/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audioencoder.vorbis/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/audioencoder.wav/audioencoder.wav.txt b/project/cmake/addons/addons/audioencoder.wav/audioencoder.wav.txt
deleted file mode 100644
index 0a350197fe..0000000000
--- a/project/cmake/addons/addons/audioencoder.wav/audioencoder.wav.txt
+++ /dev/null
@@ -1 +0,0 @@
-audioencoder.wav https://github.com/xbmc/audioencoder.wav master
diff --git a/project/cmake/addons/addons/audioencoder.wav/platforms.txt b/project/cmake/addons/addons/audioencoder.wav/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/audioencoder.wav/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.argustv/platforms.txt b/project/cmake/addons/addons/pvr.argustv/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.argustv/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt b/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt
deleted file mode 100644
index f899c16caa..0000000000
--- a/project/cmake/addons/addons/pvr.argustv/pvr.argustv.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.argustv https://github.com/kodi-pvr/pvr.argustv master
diff --git a/project/cmake/addons/addons/pvr.demo/platforms.txt b/project/cmake/addons/addons/pvr.demo/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.demo/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.demo/pvr.demo.txt b/project/cmake/addons/addons/pvr.demo/pvr.demo.txt
deleted file mode 100644
index 8c53c07f80..0000000000
--- a/project/cmake/addons/addons/pvr.demo/pvr.demo.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.demo https://github.com/kodi-pvr/pvr.demo master
diff --git a/project/cmake/addons/addons/pvr.dvblink/platforms.txt b/project/cmake/addons/addons/pvr.dvblink/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.dvblink/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt b/project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt
deleted file mode 100644
index cf70ae8a8a..0000000000
--- a/project/cmake/addons/addons/pvr.dvblink/pvr.dvblink.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.dvblink https://github.com/kodi-pvr/pvr.dvblink master
diff --git a/project/cmake/addons/addons/pvr.dvbviewer/platforms.txt b/project/cmake/addons/addons/pvr.dvbviewer/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.dvbviewer/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt b/project/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt
deleted file mode 100644
index af2f447768..0000000000
--- a/project/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.dvbviewer https://github.com/kodi-pvr/pvr.dvbviewer master
diff --git a/project/cmake/addons/addons/pvr.filmon/platforms.txt b/project/cmake/addons/addons/pvr.filmon/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.filmon/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt b/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt
deleted file mode 100644
index 39b62ccfd9..0000000000
--- a/project/cmake/addons/addons/pvr.filmon/pvr.filmon.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.filmon https://github.com/kodi-pvr/pvr.filmon master
diff --git a/project/cmake/addons/addons/pvr.hts/platforms.txt b/project/cmake/addons/addons/pvr.hts/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.hts/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.hts/pvr.hts.txt b/project/cmake/addons/addons/pvr.hts/pvr.hts.txt
deleted file mode 100644
index b51b99ff0c..0000000000
--- a/project/cmake/addons/addons/pvr.hts/pvr.hts.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.hts https://github.com/kodi-pvr/pvr.hts master
diff --git a/project/cmake/addons/addons/pvr.iptvsimple/platforms.txt b/project/cmake/addons/addons/pvr.iptvsimple/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.iptvsimple/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.iptvsimple/pvr.iptvsimple.txt b/project/cmake/addons/addons/pvr.iptvsimple/pvr.iptvsimple.txt
deleted file mode 100644
index 6dead159bc..0000000000
--- a/project/cmake/addons/addons/pvr.iptvsimple/pvr.iptvsimple.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.iptvsimple https://github.com/kodi-pvr/pvr.iptvsimple master
diff --git a/project/cmake/addons/addons/pvr.mediaportal.tvserver/platforms.txt b/project/cmake/addons/addons/pvr.mediaportal.tvserver/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.mediaportal.tvserver/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt b/project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt
deleted file mode 100644
index 0caca3f841..0000000000
--- a/project/cmake/addons/addons/pvr.mediaportal.tvserver/pvr.mediaportal.tvserver.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.mediaportal.tvserver https://github.com/kodi-pvr/pvr.mediaportal.tvserver master
diff --git a/project/cmake/addons/addons/pvr.mythtv/platforms.txt b/project/cmake/addons/addons/pvr.mythtv/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.mythtv/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt b/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt
deleted file mode 100644
index 17bbb98718..0000000000
--- a/project/cmake/addons/addons/pvr.mythtv/pvr.mythtv.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.mythtv https://github.com/kodi-pvr/pvr.mythtv master
diff --git a/project/cmake/addons/addons/pvr.nextpvr/platforms.txt b/project/cmake/addons/addons/pvr.nextpvr/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.nextpvr/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt b/project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt
deleted file mode 100644
index 8346b5fe1a..0000000000
--- a/project/cmake/addons/addons/pvr.nextpvr/pvr.nextpvr.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.nextpvr https://github.com/kodi-pvr/pvr.nextpvr master
diff --git a/project/cmake/addons/addons/pvr.njoy/platforms.txt b/project/cmake/addons/addons/pvr.njoy/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.njoy/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt b/project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt
deleted file mode 100644
index b87bc92fd4..0000000000
--- a/project/cmake/addons/addons/pvr.njoy/pvr.njoy.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.njoy https://github.com/kodi-pvr/pvr.njoy master
diff --git a/project/cmake/addons/addons/pvr.pctv/platforms.txt b/project/cmake/addons/addons/pvr.pctv/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.pctv/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt b/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt
deleted file mode 100644
index 45cc86ed7e..0000000000
--- a/project/cmake/addons/addons/pvr.pctv/pvr.pctv.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.pctv https://github.com/kodi-pvr/pvr.pctv master
diff --git a/project/cmake/addons/addons/pvr.stalker/platforms.txt b/project/cmake/addons/addons/pvr.stalker/platforms.txt
deleted file mode 100644
index 0702cb5bfb..0000000000
--- a/project/cmake/addons/addons/pvr.stalker/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all
diff --git a/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt b/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt
deleted file mode 100644
index c8d09258e5..0000000000
--- a/project/cmake/addons/addons/pvr.stalker/pvr.stalker.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.stalker https://github.com/kodi-pvr/pvr.stalker master
diff --git a/project/cmake/addons/addons/pvr.vbox/platforms.txt b/project/cmake/addons/addons/pvr.vbox/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.vbox/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt b/project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt
deleted file mode 100644
index 6fd26293fc..0000000000
--- a/project/cmake/addons/addons/pvr.vbox/pvr.vbox.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.vbox https://github.com/kodi-pvr/pvr.vbox master
diff --git a/project/cmake/addons/addons/pvr.vdr.vnsi/platforms.txt b/project/cmake/addons/addons/pvr.vdr.vnsi/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.vdr.vnsi/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt b/project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt
deleted file mode 100644
index 8c8b93477b..0000000000
--- a/project/cmake/addons/addons/pvr.vdr.vnsi/pvr.vdr.vnsi.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.vdr.vnsi https://github.com/kodi-pvr/pvr.vdr.vnsi master
diff --git a/project/cmake/addons/addons/pvr.vuplus/platforms.txt b/project/cmake/addons/addons/pvr.vuplus/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.vuplus/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.vuplus/pvr.vuplus.txt b/project/cmake/addons/addons/pvr.vuplus/pvr.vuplus.txt
deleted file mode 100644
index 66e4e63172..0000000000
--- a/project/cmake/addons/addons/pvr.vuplus/pvr.vuplus.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.vuplus https://github.com/kodi-pvr/pvr.vuplus master
diff --git a/project/cmake/addons/addons/pvr.wmc/platforms.txt b/project/cmake/addons/addons/pvr.wmc/platforms.txt
deleted file mode 100644
index baa6044435..0000000000
--- a/project/cmake/addons/addons/pvr.wmc/platforms.txt
+++ /dev/null
@@ -1 +0,0 @@
-all \ No newline at end of file
diff --git a/project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt b/project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt
deleted file mode 100644
index af8ef86b61..0000000000
--- a/project/cmake/addons/addons/pvr.wmc/pvr.wmc.txt
+++ /dev/null
@@ -1 +0,0 @@
-pvr.wmc https://github.com/kodi-pvr/pvr.wmc master
diff --git a/project/cmake/addons/bootstrap/CMakeLists.txt b/project/cmake/addons/bootstrap/CMakeLists.txt
new file mode 100644
index 0000000000..738136b442
--- /dev/null
+++ b/project/cmake/addons/bootstrap/CMakeLists.txt
@@ -0,0 +1,75 @@
+project(kodi-addons-bootstrap)
+
+cmake_minimum_required(VERSION 2.8)
+
+list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
+
+# make sure CMAKE_INSTALL_PREFIX is properly set
+if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT CMAKE_INSTALL_PREFIX)
+ set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/../addons")
+endif()
+list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX})
+
+# figure out where the build directory is located
+if(NOT BUILD_DIR)
+ set(BUILD_DIR "${CMAKE_BINARY_DIR}/build")
+else()
+ file(TO_CMAKE_PATH "${BUILD_DIR}" BUILD_DIR)
+endif()
+get_filename_component(BUILD_DIR "${BUILD_DIR}" ABSOLUTE)
+
+# make sure that the repositories to build have been specified
+if(NOT REPOSITORY_TO_BUILD)
+ set(REPOSITORY_TO_BUILD "all")
+ set(REPOSITORY_REVISION "")
+ message(STATUS "Bootstrapping all repositories")
+else()
+ message(STATUS "Bootstrapping following repository: ${REPOSITORY_TO_BUILD}")
+endif()
+
+# figure out which addons to bootstrap (defaults to all)
+if(NOT ADDONS_TO_BUILD)
+ set(ADDONS_TO_BUILD "all")
+ message(STATUS "Bootstrapping all addons")
+else()
+ message(STATUS "Bootstrapping following addons: ${ADDONS_TO_BUILD}")
+endif()
+
+include(ExternalProject)
+
+# look for all addons repository definitions
+file(GLOB repos repositories/*.txt)
+foreach(repo ${repos})
+ file(STRINGS ${repo} repo_definition)
+ separate_arguments(repo_definition)
+ list(GET repo_definition 0 repo_id)
+
+ list(FIND REPOSITORY_TO_BUILD ${repo_id} idx)
+ if(idx GREATER -1 OR REPOSITORY_TO_BUILD STREQUAL "all")
+ # get the URL of the repository
+ list(GET repo_definition 1 repo_url)
+
+ # get the revision of the repository if not provided as an argument
+ if(NOT REPOSITORY_REVISION)
+ list(GET repo_definition 2 repo_revision)
+ else()
+ set(repo_revision "${REPOSITORY_REVISION}")
+ endif()
+
+ message(STATUS "Bootstrapping addons from ${repo_id} (${repo_url} ${repo_revision})...")
+ externalproject_add(${repo_id}
+ GIT_REPOSITORY ${repo_url}
+ GIT_TAG ${repo_revision}
+ PREFIX ${BUILD_DIR}/${repo_id}
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND ${CMAKE_COMMAND}
+ -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
+ -DPROJECT_SOURCE_DIR=<SOURCE_DIR>
+ -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
+ -DADDONS_TO_BUILD=${ADDONS_TO_BUILD}
+ -P ${PROJECT_SOURCE_DIR}/bootstrap.cmake
+ )
+
+ endif()
+endforeach()
diff --git a/project/cmake/addons/bootstrap/README.md b/project/cmake/addons/bootstrap/README.md
new file mode 100644
index 0000000000..b886b5b8c9
--- /dev/null
+++ b/project/cmake/addons/bootstrap/README.md
@@ -0,0 +1,48 @@
+# KODI ADDON DEFINITIONS BOOTSTRAPPING
+This directory contains the cmake-based buildsystem for addon definitions
+bootstrapping which downloads the addon definitions from one or more addon
+definitions repositories. These addon definitions are then used by the addon
+buildsystem to figure out which addons and which versions to build. It looks
+into the "repositories" sub-directory and parses all *.txt files recursively.
+Each addon definitions repository must have its own <repository>.txt file which
+must follow the following defined format:
+```
+<repository> <git-url> <git-revision>
+```
+where
+* `<repository>` is the identification of the repository.
+* `<git-url>` must be the URL of the git repository containing the addon
+ definitions
+* `<git-revision>` must be a valid git tag/branch/commit in the addon
+ definitions repository's git repository which will be used for the build
+
+The buildsystem uses the following variables (which can be passed into it when
+executing cmake with the `-D<variable-name>=<value>` option):
+* `CMAKE_INSTALL_PREFIX` points to the directory where the downloaded addon
+definitions will be installed to (defaults to `../addons`).
+* `BUILD_DIR` points to the directory where the addon definitions repositories
+will be downloaded to.
+* `REPOSITORY_TO_BUILD` specifies a single addon definitions repository to be
+downloaded and processed (defaults to `"all"`).
+* `REPOSITORY_REVISION` specifies the git revision in the addon definitions
+repository which will be used for the build. This option is only valid in
+combination with the `REPOSITORY_TO_BUILD` option (defaults to the git
+revision specified in the repository's definition file).
+* `ADDONS_TO_BUILD` is a quoted, space delimited list of `<addon-id>`s that
+should be bootstrapped (default is `"all"`).
+
+To trigger the cmake-based buildsystem the following command must be executed
+with <path> being the path to this directory (absolute or relative, allowing for
+in-source and out-of-source builds).
+```
+cmake <path> -G <generator>
+```
+
+cmake supports multiple generators, see
+http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list.
+
+In case of additional options the call might look like this
+```
+cmake <path> [-G <generator>] \
+ -DCMAKE_INSTALL_PREFIX="<path-to-install-directory>"
+``` \ No newline at end of file
diff --git a/project/cmake/addons/bootstrap/bootstrap.cmake b/project/cmake/addons/bootstrap/bootstrap.cmake
new file mode 100644
index 0000000000..c78910ce43
--- /dev/null
+++ b/project/cmake/addons/bootstrap/bootstrap.cmake
@@ -0,0 +1,38 @@
+list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR})
+
+# make sure that the installation location has been specified
+if(NOT CMAKE_INSTALL_PREFIX)
+ message(FATAL_ERROR "CMAKE_INSTALL_PREFIX has not been specified")
+endif()
+
+# figure out which addons to bootstrap (defaults to all)
+if(NOT ADDONS_TO_BUILD)
+ set(ADDONS_TO_BUILD "all")
+else()
+ separate_arguments(ADDONS_TO_BUILD)
+endif()
+
+# find all addon definitions and go through them
+file(GLOB_RECURSE ADDON_DEFINITIONS ${PROJECT_SOURCE_DIR}/*.txt)
+foreach(ADDON_DEFINITION_FILE ${ADDON_DEFINITIONS})
+ # ignore platforms.txt
+ if(NOT (ADDON_DEFINITION_FILE MATCHES platforms.txt))
+ # read the addon definition file
+ file(STRINGS ${ADDON_DEFINITION_FILE} ADDON_DEFINITION)
+ separate_arguments(ADDON_DEFINITION)
+
+ # extract the addon definition's identifier
+ list(GET ADDON_DEFINITION 0 ADDON_ID)
+
+ # check if the addon definition should be built
+ list(FIND ADDONS_TO_BUILD ${ADDON_ID} ADDONS_TO_BUILD_IDX)
+ if(ADDONS_TO_BUILD_IDX GREATER -1 OR "${ADDONS_TO_BUILD}" STREQUAL "all")
+ # get the path to the addon definition directory
+ get_filename_component(ADDON_DEFINITION_DIR ${ADDON_DEFINITION_FILE} PATH)
+
+ # install the addon definition
+ message(STATUS "Bootstrapping ${ADDON_ID} addon...")
+ file(INSTALL ${ADDON_DEFINITION_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX})
+ endif()
+ endif()
+endforeach()
diff --git a/project/cmake/addons/bootstrap/repositories/binary-addons.txt b/project/cmake/addons/bootstrap/repositories/binary-addons.txt
new file mode 100644
index 0000000000..8674f06b82
--- /dev/null
+++ b/project/cmake/addons/bootstrap/repositories/binary-addons.txt
@@ -0,0 +1 @@
+binary-addons https://github.com/xbmc/repo-binary-addons.git master \ No newline at end of file