diff --git a/.travis.yml b/.travis.yml index 906ceb5..aae157e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -22,9 +22,7 @@ matrix: sudo: required compiler: clang - os: osx - osx_image: xcode9 - - os: osx - osx_image: xcode9.4 + osx_image: xcode10.2 # # The addon source is automatically checked out in $TRAVIS_BUILD_DIR, diff --git a/CMakeLists.txt b/CMakeLists.txt index c4a0210..59f180e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,11 +1,8 @@ +cmake_minimum_required(VERSION 3.5) project(pvr.stalker) -cmake_minimum_required(VERSION 2.6) - list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) -enable_language(CXX) - find_package(Kodi REQUIRED) find_package(p8-platform REQUIRED) find_package(LibXml2 REQUIRED) @@ -13,11 +10,15 @@ find_package(JsonCpp REQUIRED) include_directories( ${p8-platform_INCLUDE_DIRS} - ${KODI_INCLUDE_DIR} + ${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Kodi cmake rework to match right include ways ${PROJECT_SOURCE_DIR}/lib ${LIBXML2_INCLUDE_DIR} ${JSONCPP_INCLUDE_DIRS}) +if(WIN32) + add_compile_options(/wd4996) +endif() + add_subdirectory(lib/libstalkerclient) set(DEPLIBS diff --git a/FindJsonCpp.cmake b/FindJsonCpp.cmake index bdada8d..1b3f915 100644 --- a/FindJsonCpp.cmake +++ b/FindJsonCpp.cmake @@ -1,15 +1,15 @@ find_package(PkgConfig) if(PKG_CONFIG_FOUND) - pkg_check_modules (JSONCPP jsoncpp) + pkg_check_modules(PC_JSONCPP jsoncpp) endif() -if(NOT JSONCPP_FOUND) - find_path(JSONCPP_INCLUDE_DIRS json/json.h - PATH_SUFFIXES jsoncpp) - find_library(JSONCPP_LIBRARIES jsoncpp) -endif() +find_path(JSONCPP_INCLUDE_DIRS json/json.h + PATHS ${PC_JSONCPP_INCLUDEDIR} + PATH_SUFFIXES jsoncpp) +find_library(JSONCPP_LIBRARIES jsoncpp + PATHS ${PC_JSONCPP_LIBDIR}) include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(JsonCpp DEFAULT_MSG JSONCPP_LIBRARIES JSONCPP_INCLUDE_DIRS) +find_package_handle_standard_args(JsonCpp REQUIRED_VARS JSONCPP_LIBRARIES JSONCPP_INCLUDE_DIRS) mark_as_advanced(JSONCPP_INCLUDE_DIRS JSONCPP_LIBRARIES) diff --git a/README.md b/README.md index 5753e4b..81fb667 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,9 @@ -[![Build Status](https://travis-ci.org/kodi-pvr/pvr.stalker.svg?branch=master)](https://travis-ci.org/kodi-pvr/pvr.stalker) +[![Build Status](https://travis-ci.org/kodi-pvr/pvr.stalker.svg?branch=Matrix)](https://travis-ci.org/kodi-pvr/pvr.stalker/branches) +[![Build Status](https://ci.appveyor.com/api/projects/status/github/kodi-pvr/pvr.stalker?branch=Matrix&svg=true)](https://ci.appveyor.com/project/kodi-pvr/pvr-dvblink?branch=Matrix) [![Coverity Scan Build Status](https://scan.coverity.com/projects/5120/badge.svg)](https://scan.coverity.com/projects/5120) # Stalker PVR -Stalker Middleware PVR client addon for [Kodi] (http://kodi.tv) +Stalker Middleware PVR client addon for [Kodi] (https://kodi.tv) ## Build instructions @@ -16,5 +17,5 @@ Stalker Middleware PVR client addon for [Kodi] (http://kodi.tv) ##### Useful links -* [Kodi's PVR user support] (http://forum.kodi.tv/forumdisplay.php?fid=167) -* [Kodi's PVR development support] (http://forum.kodi.tv/forumdisplay.php?fid=136) +* [Kodi's PVR user support] (https://forum.kodi.tv/forumdisplay.php?fid=167) +* [Kodi's PVR development support] (https://forum.kodi.tv/forumdisplay.php?fid=136) diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..1dd09fe --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,33 @@ +version: BuildNr.{build} + +image: Visual Studio 2017 + +shallow_clone: true + +clone_folder: c:\projects\pvr.stalker + +environment: + app_id: pvr.stalker + + matrix: + - GENERATOR: "Visual Studio 15" + CONFIG: Release + - GENERATOR: "Visual Studio 15 Win64" + CONFIG: Release + - GENERATOR: "Visual Studio 15 Win64" + CONFIG: Release + WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.17763.0" + - GENERATOR: "Visual Studio 15 ARM" + CONFIG: Release + WINSTORE: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION="10.0.17763.0" + +build_script: + - cd .. + - git clone --branch master --depth=1 https://github.com/xbmc/xbmc.git + - cd %app_id% + - mkdir build + - cd build + - mkdir -p definition\%app_id% + - echo %app_id% %APPVEYOR_BUILD_FOLDER% %APPVEYOR_REPO_COMMIT% > definition\%app_id%\%app_id%.txt + - cmake -T host=x64 -G "%GENERATOR%" %WINSTORE% -DADDONS_TO_BUILD=%app_id% -DCMAKE_BUILD_TYPE=%CONFIG% -DADDONS_DEFINITION_DIR=%APPVEYOR_BUILD_FOLDER%/build/definition -DADDON_SRC_PREFIX=../.. -DCMAKE_INSTALL_PREFIX=../../xbmc/addons -DPACKAGE_ZIP=1 ../../xbmc/cmake/addons + - cmake --build . --config %CONFIG% --target %app_id% diff --git a/depends/common/jsoncpp/CMakeLists.txt b/depends/common/jsoncpp/CMakeLists.txt index b43dafc..3ca3166 100644 --- a/depends/common/jsoncpp/CMakeLists.txt +++ b/depends/common/jsoncpp/CMakeLists.txt @@ -1,7 +1,6 @@ +cmake_minimum_required(VERSION 3.5) project(jsoncpp) -cmake_minimum_required(VERSION 3.1) -enable_language(CXX) SET(CMAKE_CXX_STANDARD 11) SET(CMAKE_CXX_STANDARD_REQUIRED ON) SET(CMAKE_CXX_EXTENSIONS OFF) @@ -12,6 +11,10 @@ set(SOURCES src/lib_json/json_reader.cpp include_directories(${PROJECT_SOURCE_DIR}/include) +if(WIN32) + add_compile_options(/wd4996) +endif() + add_library(jsoncpp ${SOURCES}) install(TARGETS jsoncpp DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) diff --git a/lib/libstalkerclient/CMakeLists.txt b/lib/libstalkerclient/CMakeLists.txt index 8e06f43..a915b2a 100644 --- a/lib/libstalkerclient/CMakeLists.txt +++ b/lib/libstalkerclient/CMakeLists.txt @@ -1,9 +1,6 @@ +cmake_minimum_required(VERSION 3.5) project(stalkerclient) -cmake_minimum_required(VERSION 2.6) - -enable_language(C) - find_package(ZLIB REQUIRED) find_package(LibXml2 REQUIRED) @@ -22,7 +19,4 @@ set(LIBSTALKER_SOURCES add_library(stalkerclient STATIC ${LIBSTALKER_SOURCES}) target_link_libraries(stalkerclient ${ZLIB_LIBRARIES} ${LIBXML2_LIBRARIES}) - -if (NOT WIN32) - set_target_properties(stalkerclient PROPERTIES COMPILE_FLAGS "-fPIC") -endif () +set_property(TARGET stalkerclient PROPERTY POSITION_INDEPENDENT_CODE ON) diff --git a/pvr.stalker/addon.xml.in b/pvr.stalker/addon.xml.in index 6fccb99..912a04e 100644 --- a/pvr.stalker/addon.xml.in +++ b/pvr.stalker/addon.xml.in @@ -1,7 +1,7 @@ @ADDON_DEPENDS@ diff --git a/pvr.stalker/changelog.txt b/pvr.stalker/changelog.txt index 5b055a7..234c9e6 100644 --- a/pvr.stalker/changelog.txt +++ b/pvr.stalker/changelog.txt @@ -1,3 +1,10 @@ +4.1.1 +- Update CMake build version to 3.5 +- Cleanup CMake depend libstalkerclient +- Change interface header include way +- Fix package check for JsonCpp +- Add appveyor.yml and update .travis.yml to xcode 10.4 for test build + 4.1.0 - Recompile for 6.1.0 PVR Addon API compatibility diff --git a/src/XMLTV.h b/src/XMLTV.h index 8448378..5a28cb7 100644 --- a/src/XMLTV.h +++ b/src/XMLTV.h @@ -26,7 +26,7 @@ #include #include -#include "xbmc_epg_types.h" +#include "kodi/xbmc_epg_types.h" #include "libstalkerclient/xmltv.h" #include "HTTPSocket.h" diff --git a/src/client.cpp b/src/client.cpp index 63196bf..c06b203 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -21,7 +21,7 @@ #include "client.h" -#include +#include #include #include "SData.h" diff --git a/src/client.h b/src/client.h index 019d88a..87a3bfd 100644 --- a/src/client.h +++ b/src/client.h @@ -21,8 +21,8 @@ * */ -#include -#include +#include +#include extern ADDON::CHelper_libXBMC_addon *XBMC; extern CHelper_libXBMC_pvr *PVR;