palinek / pvr.sledovanitv.cz

Kodi's sledovanitv.cz client addon
GNU General Public License v2.0
30 stars 14 forks source link

[cmake] remove usage of kodi-platform #30

Closed olafhering closed 5 years ago

olafhering commented 5 years ago

The pvr.sledovanitv.cz binary addon does not use kodi-platform. Remove existing references from CMakeLists.txt and debian/control.

palinek commented 5 years ago

But the kodi-platform is downloaded & built during the addon build process no matter if we include it or not (in the "---- Preparing general dependencies ----" step). Is it OK or some PR into xbmc will follow?

olafhering commented 5 years ago

There is a change in xbmc.git pending.

palinek commented 5 years ago

There is a change in xbmc.git pending.

With the xbmc/xbmc#15988 applied build of this addon fails:

[ 25%] Building CXX object CMakeFiles/pvr.sledovanitv.cz.dir/src/client.cpp.o
In file included from /home/palco/work/oss/kodi/pvr.sledovanitv.cz/src/client.cpp:27:
/home/palco/work/oss/kodi/pvr.sledovanitv.cz/src/client.h:28:10: fatal error: kodi/libXBMC_addon.h: No such file or directory
 #include "kodi/libXBMC_addon.h"
          ^~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

I had to make following changes to make it build:

diff --git a/src/client.cpp b/src/client.cpp
index 50585ac..8afc858 100644
--- a/src/client.cpp
+++ b/src/client.cpp
@@ -28,7 +28,7 @@

 #include "p8-platform/util/util.h"
 #include "PVRIptvData.h"
-#include "kodi/xbmc_pvr_dll.h"
+#include "xbmc_pvr_dll.h"

 #include <iostream>
 #include <memory>
diff --git a/src/client.h b/src/client.h
index 0a03020..e28305d 100644
--- a/src/client.h
+++ b/src/client.h
@@ -25,8 +25,8 @@
  *
  */

-#include "kodi/libXBMC_addon.h"
-#include "kodi/libXBMC_pvr.h"
+#include "libXBMC_addon.h"
+#include "libXBMC_pvr.h"

 extern ADDON::CHelper_libXBMC_addon *XBMC;
 extern CHelper_libXBMC_pvr          *PVR;

But the kodi-platform is still built. To remove building kodi-platform completely here I have to remove it in xbmc:

diff --git a/cmake/addons/depends/CMakeLists.txt b/cmake/addons/depends/CMakeLists.txt
index 831e0ed74c..8351d99462 100644
--- a/cmake/addons/depends/CMakeLists.txt
+++ b/cmake/addons/depends/CMakeLists.txt
@@ -30,7 +30,7 @@ get_filename_component(BUILD_DIR "${BUILD_DIR}" ABSOLUTE)

 ## use add_addon_depends to handle the cmake based dependencies
 include(${CORE_SOURCE_DIR}/cmake/scripts/common/HandleDepends.cmake)
-add_addon_depends(depends "${PROJECT_SOURCE_DIR}")
+#add_addon_depends(depends "${PROJECT_SOURCE_DIR}")

 ## if there's a platform-specific sub-directory containing a CMakeLists.txt, add it to the build as well
 if(EXISTS ${PROJECT_SOURCE_DIR}/${CORE_SYSTEM_NAME}/CMakeLists.txt)
olafhering commented 5 years ago

This breakage is independet from the proposed change.

I just learned the debian/ is incomplete because p8-platform has to be added manually now. It just happend to be there because kodiplatform required it.

I update the change once the base system is fixed.

olafhering commented 5 years ago

-#include "kodi/xbmc_pvr_dll.h" +#include "xbmc_pvr_dll.h"

This additional change might be needed independent from my proposed change. The base include dir, per KODI_INCLUDE_DIR in /usr/share/kodi/cmake/KodiConfig.cmake, contains the kodi directory. So it worked just by luck up to now. Not sure why this error would appear just now.

palinek commented 5 years ago

I've fixed the includes and also removed the p8-platform usage.... https://github.com/palinek/pvr.sledovanitv.cz/commits/test_build

olafhering commented 5 years ago

Thanks. If p8-platform is indeed not used anymore, the findpackage call and other traces of it might go as well.

palinek commented 5 years ago

the findpackage call

Indeed. I thought I removed it... done it now.

palinek commented 5 years ago

...created new PR #31 with both cleanups (p8-platform & kodi-platform). It includes your changes made here... can we close this?

olafhering commented 5 years ago

Thanks.