diff options
Diffstat (limited to 'cmake')
63 files changed, 548 insertions, 410 deletions
diff --git a/cmake/KodiConfig.cmake.in b/cmake/KodiConfig.cmake.in index 58dfc40..2a572e7 100644 --- a/cmake/KodiConfig.cmake.in +++ b/cmake/KodiConfig.cmake.in | |||
| @@ -16,6 +16,7 @@ endif() | |||
| 16 | if(NOT @APP_NAME_UC@_DATA_DIR) | 16 | if(NOT @APP_NAME_UC@_DATA_DIR) |
| 17 | set(@APP_NAME_UC@_DATA_DIR @APP_DATA_DIR@) | 17 | set(@APP_NAME_UC@_DATA_DIR @APP_DATA_DIR@) |
| 18 | endif() | 18 | endif() |
| 19 | set(APP_RENDER_SYSTEM @APP_RENDER_SYSTEM@) | ||
| 19 | if(NOT WIN32) | 20 | if(NOT WIN32) |
| 20 | set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@") | 21 | set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@") |
| 21 | endif() | 22 | endif() |
diff --git a/cmake/README.md b/cmake/README.md index 0848f2d..c1b953f 100644 --- a/cmake/README.md +++ b/cmake/README.md | |||
| @@ -36,7 +36,7 @@ dependencies have to be installed as explained in | |||
| 36 | ### Windows | 36 | ### Windows |
| 37 | 37 | ||
| 38 | For Windows the dependencies can be found in the | 38 | For Windows the dependencies can be found in the |
| 39 | [Wiki](http://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Windows) (Step 1-4). If not already available on your pc, you should | 39 | [Wiki](https://kodi.wiki/view/HOW-TO:Compile_Kodi_for_Windows#Setting_up_the_build_Environment) (Step 1-4). If not already available on your pc, you should |
| 40 | install the [Windows Software Development Kit (SDK)](https://dev.windows.com/en-us/downloads/sdk-archive) for your Windows version. This is required for HLSL shader offline compiling with the [Effect-Compiler Tool](https://msdn.microsoft.com/de-de/library/windows/desktop/bb232919(v=vs.85).aspx) (fxc.exe). | 40 | install the [Windows Software Development Kit (SDK)](https://dev.windows.com/en-us/downloads/sdk-archive) for your Windows version. This is required for HLSL shader offline compiling with the [Effect-Compiler Tool](https://msdn.microsoft.com/de-de/library/windows/desktop/bb232919(v=vs.85).aspx) (fxc.exe). |
| 41 | 41 | ||
| 42 | On Windows, the CMake based buildsystem requires that the binary dependencies | 42 | On Windows, the CMake based buildsystem requires that the binary dependencies |
| @@ -113,6 +113,8 @@ cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) | |||
| 113 | ``` | 113 | ``` |
| 114 | 114 | ||
| 115 | ### Windows with Visual Studio project files | 115 | ### Windows with Visual Studio project files |
| 116 | These instructions are for Visual Studio 2015. If you want to build for Visal Studio 2017, you need to target `Visual Studio 15` instead of `Visual Studio 14`. | ||
| 117 | |||
| 116 | #### Build for win32 | 118 | #### Build for win32 |
| 117 | ``` | 119 | ``` |
| 118 | cmake -G "Visual Studio 14" <KODI_SRC> | 120 | cmake -G "Visual Studio 14" <KODI_SRC> |
diff --git a/cmake/addons/CMakeLists.txt b/cmake/addons/CMakeLists.txt index fd1d448..5db5dba 100644 --- a/cmake/addons/CMakeLists.txt +++ b/cmake/addons/CMakeLists.txt | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | 1 | cmake_minimum_required(VERSION 3.3) |
| 2 | project(kodi-addons) | 2 | project(kodi-addons) |
| 3 | 3 | ||
| 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) | 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) |
| @@ -403,8 +403,12 @@ foreach(addon ${addons}) | |||
| 403 | endif() | 403 | endif() |
| 404 | 404 | ||
| 405 | # create a forwarding target to the addon-package target | 405 | # create a forwarding target to the addon-package target |
| 406 | get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) | ||
| 407 | if(_isMultiConfig) | ||
| 408 | set(config --config $<CONFIG>) | ||
| 409 | endif() | ||
| 406 | add_custom_target(package-${id} | 410 | add_custom_target(package-${id} |
| 407 | COMMAND ${CMAKE_COMMAND} --build ${id}-prefix/src/${id}-build --target addon-package | 411 | COMMAND ${CMAKE_COMMAND} --build ${id}-prefix/src/${id}-build ${config} --target addon-package |
| 408 | DEPENDS ${id}) | 412 | DEPENDS ${id}) |
| 409 | add_dependencies(package-addons package-${id}) | 413 | add_dependencies(package-addons package-${id}) |
| 410 | 414 | ||
diff --git a/cmake/addons/depends/common/kodi-platform/kodi-platform.txt b/cmake/addons/depends/common/kodi-platform/kodi-platform.txt index 1b5c8bf..c553769 100644 --- a/cmake/addons/depends/common/kodi-platform/kodi-platform.txt +++ b/cmake/addons/depends/common/kodi-platform/kodi-platform.txt | |||
| @@ -1 +1 @@ | |||
| kodi-platform https://github.com/xbmc/kodi-platform 36fb49371dbce49bf470a5bb1fc51b74b4a3612d | kodi-platform https://github.com/xbmc/kodi-platform e8574b883ffa2131f2eeb96ff3724d60b21130f7 | ||
diff --git a/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt b/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt deleted file mode 100644 index 02d9724..0000000 --- a/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | ||
| 2 | project(mingw) | ||
| 3 | |||
| 4 | function(generate_mingw32_wrapper cmd) | ||
| 5 | set(CMD ${cmd}) | ||
| 6 | configure_file(${PROJECT_SOURCE_DIR}/mingw32-cmd.bat.in ${MINGW_PATH}/bin/${CMD}.bat @ONLY) | ||
| 7 | endfunction() | ||
| 8 | |||
| 9 | get_filename_component(CORE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../../../../.. REALPATH) | ||
| 10 | |||
| 11 | set(MSYS_PATH "${CORE_SOURCE_DIR}/project/BuildDependencies/msys64") | ||
| 12 | if(CMAKE_SIZEOF_VOID_P EQUAL 4) | ||
| 13 | set(MINGW_PATH "${MSYS_PATH}/mingw32") | ||
| 14 | elseif(CMAKE_SIZEOF_VOID_P EQUAL 8) | ||
| 15 | set(MINGW_PATH "${MSYS_PATH}/mingw64") | ||
| 16 | endif() | ||
| 17 | |||
| 18 | # configure the MinGW toolchain file | ||
| 19 | configure_file(${PROJECT_SOURCE_DIR}/Toolchain_mingw32.cmake.in ${CMAKE_INSTALL_PREFIX}/Toolchain_mingw32.cmake @ONLY) | ||
| 20 | |||
| 21 | # configure MinGWConfig.cmake | ||
| 22 | configure_file(${PROJECT_SOURCE_DIR}/MinGWConfig.cmake.in ${CMAKE_INSTALL_PREFIX}/MinGWConfig.cmake) | ||
| 23 | |||
| 24 | # TODO: MinGW GCC 5.3.0-1 comes without cc.exe, Remove this once package is bumped to 5.3.0-p2 | ||
| 25 | # See https://github.com/Alexpux/MINGW-packages/pull/1034 | ||
| 26 | if(NOT EXISTS ${MINGW_PATH}/bin/cc.exe) | ||
| 27 | execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${MINGW_PATH}/bin/gcc.exe ${MINGW_PATH}/bin/cc.exe) | ||
| 28 | endif() | ||
| 29 | |||
| 30 | # configure the MinGW wrapper batch scripts | ||
| 31 | generate_mingw32_wrapper("make") | ||
| 32 | generate_mingw32_wrapper("gcc") | ||
| 33 | generate_mingw32_wrapper("cc") | ||
| 34 | generate_mingw32_wrapper("g++") | ||
| 35 | generate_mingw32_wrapper("ar") | ||
| 36 | generate_mingw32_wrapper("ld") | ||
| 37 | generate_mingw32_wrapper("windres") | ||
diff --git a/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in b/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in deleted file mode 100644 index 2d6baa7..0000000 --- a/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | set(MINGW_INCLUDE_DIRS @MINGW_PATH@/include) | ||
| 2 | set(MINGW_MAKE @MINGW_PATH@/bin/make.bat -j$ENV{NUMBER_OF_PROCESSORS}) | ||
| 3 | set(MINGW_FOUND 1) | ||
diff --git a/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in b/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in deleted file mode 100644 index 01d281d..0000000 --- a/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | set(CMAKE_SYSTEM_VERSION 1) | ||
| 2 | set(CMAKE_SYSTEM_NAME Windows) | ||
| 3 | |||
| 4 | set(CMAKE_FIND_ROOT_PATH @CMAKE_FIND_ROOT_PATH@ @CMAKE_INSTALL_PREFIX@ @MSYS_PATH@ @MINGW_PATH@) | ||
| 5 | |||
| 6 | # specify the cross compiler | ||
| 7 | set(CMAKE_C_COMPILER @MINGW_PATH@/bin/gcc.bat) | ||
| 8 | set(CMAKE_CXX_COMPILER @MINGW_PATH@/bin/g++.bat) | ||
| 9 | set(CMAKE_AR @MINGW_PATH@/bin/ar.bat CACHE FILEPATH "Archiver") | ||
| 10 | set(CMAKE_LINKER @MINGW_PATH@/bin/ld.bat CACHE FILEPATH "Linker") | ||
| 11 | SET(CMAKE_RC_COMPILER @MINGW_PATH@/bin/windres.bat) | ||
| 12 | |||
| 13 | # search for programs in the build host directories | ||
| 14 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) | ||
| 15 | # for libraries and headers in the target directories | ||
| 16 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) | ||
| 17 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) | ||
diff --git a/cmake/addons/depends/windows/cmake/mingw/mingw.txt b/cmake/addons/depends/windows/cmake/mingw/mingw.txt deleted file mode 100644 index 90aa6ae..0000000 --- a/cmake/addons/depends/windows/cmake/mingw/mingw.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | mingw | ||
diff --git a/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in b/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in deleted file mode 100644 index 44a0ea2..0000000 --- a/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in +++ /dev/null | |||
| @@ -1,6 +0,0 @@ | |||
| 1 | @ECHO OFF | ||
| 2 | SETLOCAL | ||
| 3 | |||
| 4 | SET PATH=@MINGW_PATH@/bin;@MSYS_PATH@/usr/bin;%PATH% | ||
| 5 | @CMD@.exe %* | ||
| 6 | |||
diff --git a/cmake/addons/depends/windows/cmake/mingw/noinstall.txt b/cmake/addons/depends/windows/cmake/mingw/noinstall.txt deleted file mode 100644 index e69de29..0000000 --- a/cmake/addons/depends/windows/cmake/mingw/noinstall.txt +++ /dev/null | |||
diff --git a/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt b/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt deleted file mode 100644 index 1c0536e..0000000 --- a/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | ||
| 2 | project(msys LANGUAGES NONE) | ||
| 3 | |||
| 4 | # This is an empty dummy dependency because a lot of game addons depend on it. | ||
| 5 | # After they got fixed, this can be removed. | ||
diff --git a/cmake/addons/depends/windows/cmake/msys/msys.txt b/cmake/addons/depends/windows/cmake/msys/msys.txt deleted file mode 100644 index 00de9c2..0000000 --- a/cmake/addons/depends/windows/cmake/msys/msys.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | msys | ||
diff --git a/cmake/addons/depends/windows/cmake/msys/noinstall.txt b/cmake/addons/depends/windows/cmake/msys/noinstall.txt deleted file mode 100644 index e69de29..0000000 --- a/cmake/addons/depends/windows/cmake/msys/noinstall.txt +++ /dev/null | |||
diff --git a/cmake/cpack/deb/packages/kodi.txt.in b/cmake/cpack/deb/packages/kodi.txt.in index 376fe80..90ae9ea 100644 --- a/cmake/cpack/deb/packages/kodi.txt.in +++ b/cmake/cpack/deb/packages/kodi.txt.in | |||
| @@ -15,7 +15,7 @@ PACKAGE_ARCHITECTURE all | |||
| 15 | PACKAGE_SECTION video | 15 | PACKAGE_SECTION video |
| 16 | PACKAGE_PRIORITY optional | 16 | PACKAGE_PRIORITY optional |
| 17 | PACKAGE_SHLIBDEPS | 17 | PACKAGE_SHLIBDEPS |
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-bin (>= @CPACK_DEBIAN_PACKAGE_VERSION@), @APP_NAME_LC@-bin (<< @CPACK_DEBIAN_PACKAGE_VERSION@.1~), curl, libcurl3, mesa-utils, x11-utils, fonts-liberation | ttf-liberation, fonts-dejavu-core | ttf-dejavu-core, python-bluez | python-lightblue, python-imaging, python-simplejson, libass5 | libass4, libgif5 | libgif7, libssh-4 | libssh2-1, libnfs8 | libnfs4 | libnfs1, libbluray1 | libbluray2, libshairplay0, libvorbisfile3, libaacs0, libcec4, libgnutls30 | libgnutls-deb0-28 | libgnutls28 | libgnutls26, libxslt1.1, libyajl2 | 18 | PACKAGE_DEPENDS @APP_NAME_LC@-bin (>= @CPACK_DEBIAN_PACKAGE_VERSION@), @APP_NAME_LC@-bin (<< @CPACK_DEBIAN_PACKAGE_VERSION@.1~), curl, libcurl4 | libcurl3, mesa-utils, x11-utils, fonts-liberation | ttf-liberation, fonts-dejavu-core | ttf-dejavu-core, python-bluez | python-lightblue, python-imaging | python-pil, python-simplejson, libass9 | libass5 | libass4, libgif5 | libgif7, libssh-4 | libssh2-1, libnfs8 | libnfs4 | libnfs1, libbluray1 | libbluray2, libshairplay0, libvorbisfile3, libaacs0, libcec4, libgnutls30 | libgnutls-deb0-28 | libgnutls28 | libgnutls26, libxslt1.1, libyajl2 |
| 19 | PACKAGE_RECOMMENDS libvdpau1, libva-intel-vaapi-driver, libva1 | 19 | PACKAGE_RECOMMENDS libvdpau1, libva-intel-vaapi-driver, libva1 |
| 20 | PACKAGE_SUGGESTS @APP_NAME_LC@-pvr-mythtv, @APP_NAME_LC@-pvr-vuplus, @APP_NAME_LC@-pvr-vdr-vnsi, @APP_NAME_LC@-pvr-njoy, @APP_NAME_LC@-pvr-nextpvr, @APP_NAME_LC@-pvr-mediaportal-tvserver, @APP_NAME_LC@-pvr-tvheadend-hts, @APP_NAME_LC@-pvr-dvbviewer, @APP_NAME_LC@-pvr-argustv, @APP_NAME_LC@-pvr-iptvsimple, @APP_NAME_LC@-audioencoder-vorbis, @APP_NAME_LC@-audioencoder-flac, @APP_NAME_LC@-audioencoder-lame | 20 | PACKAGE_SUGGESTS @APP_NAME_LC@-pvr-mythtv, @APP_NAME_LC@-pvr-vuplus, @APP_NAME_LC@-pvr-vdr-vnsi, @APP_NAME_LC@-pvr-njoy, @APP_NAME_LC@-pvr-nextpvr, @APP_NAME_LC@-pvr-mediaportal-tvserver, @APP_NAME_LC@-pvr-tvheadend-hts, @APP_NAME_LC@-pvr-dvbviewer, @APP_NAME_LC@-pvr-argustv, @APP_NAME_LC@-pvr-iptvsimple, @APP_NAME_LC@-audioencoder-vorbis, @APP_NAME_LC@-audioencoder-flac, @APP_NAME_LC@-audioencoder-lame |
| 21 | PACKAGE_BREAKS xbmc (<< 2:14.0~git20141019), xbmc-data, xbmc-standalone | 21 | PACKAGE_BREAKS xbmc (<< 2:14.0~git20141019), xbmc-data, xbmc-standalone |
diff --git a/cmake/installdata/common/addons.txt b/cmake/installdata/common/addons.txt index 9efba38..b8f763c 100644 --- a/cmake/installdata/common/addons.txt +++ b/cmake/installdata/common/addons.txt | |||
| @@ -1,7 +1,6 @@ | |||
| 1 | addons/audioencoder.kodi.builtin.aac/* | 1 | addons/audioencoder.kodi.builtin.aac/* |
| 2 | addons/audioencoder.kodi.builtin.wma/* | 2 | addons/audioencoder.kodi.builtin.wma/* |
| 3 | addons/game.controller.default/* | 3 | addons/game.controller.default/* |
| 4 | addons/kodi.adsp/* | ||
| 5 | addons/kodi.audiodecoder/* | 4 | addons/kodi.audiodecoder/* |
| 6 | addons/kodi.game/* | 5 | addons/kodi.game/* |
| 7 | addons/kodi.imagedecoder/* | 6 | addons/kodi.imagedecoder/* |
diff --git a/cmake/installdata/windowsstore/certificates.txt b/cmake/installdata/windowsstore/certificates.txt new file mode 100644 index 0000000..14e74a7 --- /dev/null +++ b/cmake/installdata/windowsstore/certificates.txt | |||
| @@ -0,0 +1 @@ | |||
| tools/depends/target/openssl/cacert.pem system/certs \ No newline at end of file | |||
diff --git a/cmake/modules/FindAML.cmake b/cmake/modules/FindAML.cmake index 5b9a859..602f5d9 100644 --- a/cmake/modules/FindAML.cmake +++ b/cmake/modules/FindAML.cmake | |||
| @@ -20,9 +20,23 @@ include(FindPackageHandleStandardArgs) | |||
| 20 | find_package_handle_standard_args(AML | 20 | find_package_handle_standard_args(AML |
| 21 | REQUIRED_VARS AML_INCLUDE_DIR) | 21 | REQUIRED_VARS AML_INCLUDE_DIR) |
| 22 | 22 | ||
| 23 | include(CheckCSourceCompiles) | ||
| 24 | set(CMAKE_REQUIRED_INCLUDES ${AML_INCLUDE_DIR}) | ||
| 25 | check_c_source_compiles("#include <amcodec/codec.h> | ||
| 26 | |||
| 27 | int main() | ||
| 28 | { | ||
| 29 | int i = VIDEO_DEC_FORMAT_VP9; | ||
| 30 | return 0; | ||
| 31 | } | ||
| 32 | " AML_HAS_VP9) | ||
| 33 | |||
| 23 | if(AML_FOUND) | 34 | if(AML_FOUND) |
| 24 | set(AML_INCLUDE_DIRS ${AML_INCLUDE_DIR}) | 35 | set(AML_INCLUDE_DIRS ${AML_INCLUDE_DIR}) |
| 25 | set(AML_DEFINITIONS -DHAS_LIBAMCODEC=1) | 36 | set(AML_DEFINITIONS -DHAS_LIBAMCODEC=1) |
| 37 | if(AML_HAS_VP9) | ||
| 38 | list(APPEND AML_DEFINITIONS -DHAS_LIBAMCODEC_VP9=1) | ||
| 39 | endif() | ||
| 26 | 40 | ||
| 27 | if(NOT TARGET AML::AML) | 41 | if(NOT TARGET AML::AML) |
| 28 | add_library(AML::AML UNKNOWN IMPORTED) | 42 | add_library(AML::AML UNKNOWN IMPORTED) |
diff --git a/cmake/modules/FindAlsa.cmake b/cmake/modules/FindAlsa.cmake index bed4faa..ae05817 100644 --- a/cmake/modules/FindAlsa.cmake +++ b/cmake/modules/FindAlsa.cmake | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | # ALSA::ALSA - The Alsa library | 15 | # ALSA::ALSA - The Alsa library |
| 16 | 16 | ||
| 17 | if(PKG_CONFIG_FOUND) | 17 | if(PKG_CONFIG_FOUND) |
| 18 | pkg_check_modules(PC_ALSA alsa QUIET) | 18 | pkg_check_modules(PC_ALSA alsa>=1.0.27 QUIET) |
| 19 | endif() | 19 | endif() |
| 20 | 20 | ||
| 21 | find_path(ALSA_INCLUDE_DIR NAMES alsa/asoundlib.h | 21 | find_path(ALSA_INCLUDE_DIR NAMES alsa/asoundlib.h |
diff --git a/cmake/modules/FindCdio.cmake b/cmake/modules/FindCdio.cmake index 64f4bb8..cce7f2a 100644 --- a/cmake/modules/FindCdio.cmake +++ b/cmake/modules/FindCdio.cmake | |||
| @@ -14,7 +14,7 @@ | |||
| 14 | # CDIO::CDIO - The cdio library | 14 | # CDIO::CDIO - The cdio library |
| 15 | 15 | ||
| 16 | if(PKG_CONFIG_FOUND) | 16 | if(PKG_CONFIG_FOUND) |
| 17 | pkg_check_modules(PC_CDIO libcdio libiso9660 QUIET) | 17 | pkg_check_modules(PC_CDIO libcdio>=0.78 libiso9660 QUIET) |
| 18 | endif() | 18 | endif() |
| 19 | 19 | ||
| 20 | find_path(CDIO_INCLUDE_DIR NAMES cdio/cdio.h | 20 | find_path(CDIO_INCLUDE_DIR NAMES cdio/cdio.h |
diff --git a/cmake/modules/FindCpluff.cmake b/cmake/modules/FindCpluff.cmake index 913d7ae..9e29e17 100644 --- a/cmake/modules/FindCpluff.cmake +++ b/cmake/modules/FindCpluff.cmake | |||
| @@ -6,8 +6,11 @@ | |||
| 6 | # | 6 | # |
| 7 | # and link Kodi against the cpluff libraries. | 7 | # and link Kodi against the cpluff libraries. |
| 8 | 8 | ||
| 9 | if(NOT WIN32) | 9 | find_package(EXPAT REQUIRED) |
| 10 | find_package(EXPAT REQUIRED) | 10 | if(CORE_SYSTEM_NAME MATCHES windows) |
| 11 | add_subdirectory(${CMAKE_SOURCE_DIR}/lib/cpluff) | ||
| 12 | set(CPLUFF_LIBRARIES $<TARGET_FILE:libcpluff> ${EXPAT_LIBRARIES}) | ||
| 13 | else() | ||
| 11 | string(REPLACE ";" " " defines "${CMAKE_C_FLAGS} ${SYSTEM_DEFINES} -I${EXPAT_INCLUDE_DIR}") | 14 | string(REPLACE ";" " " defines "${CMAKE_C_FLAGS} ${SYSTEM_DEFINES} -I${EXPAT_INCLUDE_DIR}") |
| 12 | get_filename_component(expat_dir ${EXPAT_LIBRARY} DIRECTORY) | 15 | get_filename_component(expat_dir ${EXPAT_LIBRARY} DIRECTORY) |
| 13 | set(ldflags "-L${expat_dir}") | 16 | set(ldflags "-L${expat_dir}") |
| @@ -31,7 +34,8 @@ if(NOT WIN32) | |||
| 31 | --host=${ARCH} | 34 | --host=${ARCH} |
| 32 | CFLAGS=${defines} | 35 | CFLAGS=${defines} |
| 33 | CPPFLAGS=${cppflags} | 36 | CPPFLAGS=${cppflags} |
| 34 | LDFLAGS=${ldflags}) | 37 | LDFLAGS=${ldflags} |
| 38 | BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libcpluff.a) | ||
| 35 | ExternalProject_Add_Step(libcpluff autoreconf | 39 | ExternalProject_Add_Step(libcpluff autoreconf |
| 36 | DEPENDEES download update patch | 40 | DEPENDEES download update patch |
| 37 | DEPENDERS configure | 41 | DEPENDERS configure |
| @@ -39,24 +43,9 @@ if(NOT WIN32) | |||
| 39 | COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} autoreconf -vif | 43 | COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} autoreconf -vif |
| 40 | WORKING_DIRECTORY <SOURCE_DIR>) | 44 | WORKING_DIRECTORY <SOURCE_DIR>) |
| 41 | 45 | ||
| 42 | set(ldflags "${ldflags};-lexpat") | 46 | set(CPLUFF_LIBRARIES ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/lib/libcpluff.a ${EXPAT_LIBRARIES}) |
| 43 | core_link_library(${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/lib/libcpluff.a | ||
| 44 | system/libcpluff libcpluff extras "${ldflags}") | ||
| 45 | set(CPLUFF_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/include) | ||
| 46 | set(CPLUFF_FOUND 1) | ||
| 47 | mark_as_advanced(CPLUFF_INCLUDE_DIRS CPLUFF_FOUND) | ||
| 48 | else() | ||
| 49 | find_path(CPLUFF_INCLUDE_DIR cpluff.h) | ||
| 50 | |||
| 51 | include(FindPackageHandleStandardArgs) | ||
| 52 | find_package_handle_standard_args(Cpluff | ||
| 53 | REQUIRED_VARS CPLUFF_INCLUDE_DIR) | ||
| 54 | |||
| 55 | if(CPLUFF_FOUND) | ||
| 56 | set(CPLUFF_INCLUDE_DIRS ${CPLUFF_INCLUDE_DIR}) | ||
| 57 | endif() | ||
| 58 | mark_as_advanced(CPLUFF_INCLUDE_DIRS CPLUFF_FOUND) | ||
| 59 | |||
| 60 | add_custom_target(libcpluff) | ||
| 61 | endif() | 47 | endif() |
| 48 | set(CPLUFF_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/include) | ||
| 49 | set(CPLUFF_FOUND 1) | ||
| 50 | mark_as_advanced(CPLUFF_INCLUDE_DIRS CPLUFF_LIBRARIES) | ||
| 62 | set_target_properties(libcpluff PROPERTIES FOLDER "External Projects") | 51 | set_target_properties(libcpluff PROPERTIES FOLDER "External Projects") |
diff --git a/cmake/modules/FindCurl.cmake b/cmake/modules/FindCurl.cmake index d0759a6..17c1f01 100644 --- a/cmake/modules/FindCurl.cmake +++ b/cmake/modules/FindCurl.cmake | |||
| @@ -34,40 +34,6 @@ if(CURL_FOUND) | |||
| 34 | set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) | 34 | set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) |
| 35 | set(CURL_LIBRARIES ${CURL_LIBRARY}) | 35 | set(CURL_LIBRARIES ${CURL_LIBRARY}) |
| 36 | 36 | ||
| 37 | # Check whether OpenSSL inside libcurl is static. | ||
| 38 | if(UNIX) | ||
| 39 | if(NOT DEFINED HAS_CURL_STATIC) | ||
| 40 | get_filename_component(CURL_LIBRARY_DIR ${CURL_LIBRARY} DIRECTORY) | ||
| 41 | find_soname(CURL REQUIRED) | ||
| 42 | |||
| 43 | if(APPLE) | ||
| 44 | set(libchecker nm) | ||
| 45 | set(searchpattern "T [_]?CRYPTO_set_locking_call") | ||
| 46 | else() | ||
| 47 | set(libchecker readelf -s) | ||
| 48 | set(searchpattern "CRYPTO_set_locking_call") | ||
| 49 | endif() | ||
| 50 | execute_process( | ||
| 51 | COMMAND ${libchecker} ${CURL_LIBRARY_DIR}/${CURL_SONAME} | ||
| 52 | COMMAND grep -Eq ${searchpattern} | ||
| 53 | RESULT_VARIABLE HAS_CURL_STATIC) | ||
| 54 | unset(libchecker) | ||
| 55 | unset(searchpattern) | ||
| 56 | if(HAS_CURL_STATIC EQUAL 0) | ||
| 57 | set(HAS_CURL_STATIC TRUE) | ||
| 58 | else() | ||
| 59 | set(HAS_CURL_STATIC FALSE) | ||
| 60 | endif() | ||
| 61 | set(HAS_CURL_STATIC ${HAS_CURL_STATIC} CACHE INTERNAL | ||
| 62 | "OpenSSL is statically linked into Curl") | ||
| 63 | message(STATUS "OpenSSL is statically linked into Curl: ${HAS_CURL_STATIC}") | ||
| 64 | endif() | ||
| 65 | endif() | ||
| 66 | |||
| 67 | if(HAS_CURL_STATIC) | ||
| 68 | set(CURL_DEFINITIONS -DHAS_CURL_STATIC=1) | ||
| 69 | endif() | ||
| 70 | |||
| 71 | if(NOT TARGET Curl::Curl) | 37 | if(NOT TARGET Curl::Curl) |
| 72 | add_library(Curl::Curl UNKNOWN IMPORTED) | 38 | add_library(Curl::Curl UNKNOWN IMPORTED) |
| 73 | set_target_properties(Curl::Curl PROPERTIES | 39 | set_target_properties(Curl::Curl PROPERTIES |
diff --git a/cmake/modules/FindFFMPEG.cmake b/cmake/modules/FindFFMPEG.cmake index 689cf28..e2fbe8d 100644 --- a/cmake/modules/FindFFMPEG.cmake +++ b/cmake/modules/FindFFMPEG.cmake | |||
| @@ -67,7 +67,6 @@ endif() | |||
| 67 | # external FFMPEG | 67 | # external FFMPEG |
| 68 | if(NOT ENABLE_INTERNAL_FFMPEG OR KODI_DEPENDSBUILD) | 68 | if(NOT ENABLE_INTERNAL_FFMPEG OR KODI_DEPENDSBUILD) |
| 69 | if(FFMPEG_PATH) | 69 | if(FFMPEG_PATH) |
| 70 | set(ENV{PKG_CONFIG_PATH} "${FFMPEG_PATH}/lib/pkgconfig") | ||
| 71 | list(APPEND CMAKE_PREFIX_PATH ${FFMPEG_PATH}) | 70 | list(APPEND CMAKE_PREFIX_PATH ${FFMPEG_PATH}) |
| 72 | endif() | 71 | endif() |
| 73 | 72 | ||
| @@ -236,8 +235,6 @@ if(NOT FFMPEG_FOUND) | |||
| 236 | -DCROSSCOMPILING=${CMAKE_CROSSCOMPILING} | 235 | -DCROSSCOMPILING=${CMAKE_CROSSCOMPILING} |
| 237 | -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} | 236 | -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} |
| 238 | -DOS=${OS} | 237 | -DOS=${OS} |
| 239 | -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} | ||
| 240 | -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} | ||
| 241 | -DCMAKE_AR=${CMAKE_AR}) | 238 | -DCMAKE_AR=${CMAKE_AR}) |
| 242 | endif() | 239 | endif() |
| 243 | 240 | ||
| @@ -253,6 +250,9 @@ if(NOT FFMPEG_FOUND) | |||
| 253 | -DCORE_PLATFORM_NAME=${CORE_PLATFORM_NAME_LC} | 250 | -DCORE_PLATFORM_NAME=${CORE_PLATFORM_NAME_LC} |
| 254 | -DCPU=${CPU} | 251 | -DCPU=${CPU} |
| 255 | -DENABLE_NEON=${ENABLE_NEON} | 252 | -DENABLE_NEON=${ENABLE_NEON} |
| 253 | -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} | ||
| 254 | -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} | ||
| 255 | -DENABLE_CCACHE=${ENABLE_CCACHE} | ||
| 256 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} | 256 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} |
| 257 | -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} | 257 | -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} |
| 258 | -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS} | 258 | -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS} |
| @@ -264,8 +264,12 @@ if(NOT FFMPEG_FOUND) | |||
| 264 | ${CMAKE_SOURCE_DIR}/tools/depends/target/ffmpeg/FindGnuTls.cmake | 264 | ${CMAKE_SOURCE_DIR}/tools/depends/target/ffmpeg/FindGnuTls.cmake |
| 265 | <SOURCE_DIR>) | 265 | <SOURCE_DIR>) |
| 266 | 266 | ||
| 267 | find_program(BASH_COMMAND bash) | ||
| 268 | if(NOT BASH_COMMAND) | ||
| 269 | message(FATAL_ERROR "Internal FFmpeg requires bash.") | ||
| 270 | endif() | ||
| 267 | file(WRITE ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ffmpeg/ffmpeg-link-wrapper | 271 | file(WRITE ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ffmpeg/ffmpeg-link-wrapper |
| 268 | "#!/bin/bash | 272 | "#!${BASH_COMMAND} |
| 269 | if [[ $@ == *${APP_NAME_LC}.bin* || $@ == *${APP_NAME_LC}${APP_BINARY_SUFFIX}* || $@ == *${APP_NAME_LC}.so* || $@ == *${APP_NAME_LC}-test* ]] | 273 | if [[ $@ == *${APP_NAME_LC}.bin* || $@ == *${APP_NAME_LC}${APP_BINARY_SUFFIX}* || $@ == *${APP_NAME_LC}.so* || $@ == *${APP_NAME_LC}-test* ]] |
| 270 | then | 274 | then |
| 271 | avformat=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` | 275 | avformat=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` |
diff --git a/cmake/modules/FindLircClient.cmake b/cmake/modules/FindLircClient.cmake new file mode 100644 index 0000000..528c38e --- /dev/null +++ b/cmake/modules/FindLircClient.cmake | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | # FindLircClient | ||
| 2 | # ----------- | ||
| 3 | # Finds the liblirc_client library | ||
| 4 | # | ||
| 5 | # This will will define the following variables:: | ||
| 6 | # | ||
| 7 | # LIRCCLIENT_FOUND - if false, do not try to link to lirc_client | ||
| 8 | # LIRCCLIENT_INCLUDE_DIRS - where to find lirc/lirc_client.h | ||
| 9 | # LIRCCLIENT_LIBRARYS - the library to link against | ||
| 10 | # LIRCCLIENT_DEFINITIONS - the lirc definitions | ||
| 11 | |||
| 12 | if(PKG_CONFIG_FOUND) | ||
| 13 | pkg_check_modules(PC_LIRC lirc QUIET) | ||
| 14 | endif() | ||
| 15 | |||
| 16 | find_path(LIRCCLIENT_INCLUDE_DIR lirc/lirc_client.h PATHS ${PC_LIRC_INCLUDEDIR}) | ||
| 17 | find_library(LIRCCLIENT_LIBRARY lirc_client PATHS ${PC_LIRC_LIBDIR}) | ||
| 18 | |||
| 19 | include(FindPackageHandleStandardArgs) | ||
| 20 | find_package_handle_standard_args(LircClient | ||
| 21 | REQUIRED_VARS LIRCCLIENT_LIBRARY LIRCCLIENT_INCLUDE_DIR) | ||
| 22 | |||
| 23 | if(LIRCCLIENT_FOUND) | ||
| 24 | set(LIRCCLIENT_LIBRARIES ${LIRCCLIENT_LIBRARY}) | ||
| 25 | set(LIRCCLIENT_INCLUDE_DIRS ${LIRCCLIENT_INCLUDE_DIR}) | ||
| 26 | set(LIRCCLIENT_DEFINITIONS -DHAS_LIRC=1) | ||
| 27 | |||
| 28 | if(NOT TARGET LIRCCLIENT::LIRCCLIENT) | ||
| 29 | add_library(LIRCCLIENT::LIRCCLIENT UNKNOWN IMPORTED) | ||
| 30 | set_target_properties(LIRCCLIENT::LIRCCLIENT PROPERTIES | ||
| 31 | IMPORTED_LOCATION "${LIRCCLIENT_LIBRARYS}" | ||
| 32 | INTERFACE_INCLUDE_DIRECTORIES "${LIRCCLIENT_INCLUDE_DIRS}") | ||
| 33 | endif() | ||
| 34 | endif() | ||
| 35 | |||
| 36 | mark_as_advanced(LIRCCLIENT_LIBRARY LIRCCLIENT_INCLUDE_DIR) \ No newline at end of file | ||
diff --git a/cmake/modules/FindMariaDBClient.cmake b/cmake/modules/FindMariaDBClient.cmake new file mode 100644 index 0000000..1e5e736 --- /dev/null +++ b/cmake/modules/FindMariaDBClient.cmake | |||
| @@ -0,0 +1,69 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindMariaDBClient | ||
| 3 | # --------------- | ||
| 4 | # Finds the MariaDBClient library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # MARIADBCLIENT_FOUND - system has MariaDBClient | ||
| 9 | # MARIADBCLIENT_INCLUDE_DIRS - the MariaDBClient include directory | ||
| 10 | # MARIADBCLIENT_LIBRARIES - the MariaDBClient libraries | ||
| 11 | # MARIADBCLIENT_DEFINITIONS - the MariaDBClient compile definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # MariaDBClient::MariaDBClient - The MariaDBClient library | ||
| 16 | |||
| 17 | # Don't find system wide installed version on Windows | ||
| 18 | if(WIN32) | ||
| 19 | set(EXTRA_FIND_ARGS NO_SYSTEM_ENVIRONMENT_PATH) | ||
| 20 | else() | ||
| 21 | set(EXTRA_FIND_ARGS) | ||
| 22 | endif() | ||
| 23 | |||
| 24 | find_path(MARIADBCLIENT_INCLUDE_DIR NAMES mariadb/mysql.h mariadb/server/mysql.h) | ||
| 25 | find_library(MARIADBCLIENT_LIBRARY_RELEASE NAMES mariadbclient libmariadb | ||
| 26 | PATH_SUFFIXES mariadb | ||
| 27 | ${EXTRA_FIND_ARGS}) | ||
| 28 | find_library(MARIADBCLIENT_LIBRARY_DEBUG NAMES mariadbclient libmariadb | ||
| 29 | PATH_SUFFIXES mariadb | ||
| 30 | ${EXTRA_FIND_ARGS}) | ||
| 31 | |||
| 32 | if(MARIADBCLIENT_INCLUDE_DIR AND EXISTS "${MARIADBCLIENT_INCLUDE_DIR}/mariadb/mariadb_version.h") | ||
| 33 | file(STRINGS "${MARIADBCLIENT_INCLUDE_DIR}/mariadb/mariadb_version.h" mariadb_version_str REGEX "^#define[\t ]+MARIADB_CLIENT_VERSION_STR[\t ]+\".*\".*") | ||
| 34 | string(REGEX REPLACE "^#define[\t ]+MARIADB_CLIENT_VERSION_STR[\t ]+\"([^\"]+)\".*" "\\1" MARIADBCLIENT_VERSION_STRING "${mariadb_version_str}") | ||
| 35 | unset(mariadb_version_str) | ||
| 36 | endif() | ||
| 37 | |||
| 38 | include(SelectLibraryConfigurations) | ||
| 39 | select_library_configurations(MARIADBCLIENT) | ||
| 40 | |||
| 41 | include(FindPackageHandleStandardArgs) | ||
| 42 | find_package_handle_standard_args(MariaDBClient | ||
| 43 | REQUIRED_VARS MARIADBCLIENT_LIBRARY MARIADBCLIENT_INCLUDE_DIR | ||
| 44 | VERSION_VAR MARIADBCLIENT_VERSION_STRING) | ||
| 45 | |||
| 46 | if(MARIADBCLIENT_FOUND) | ||
| 47 | set(MARIADBCLIENT_LIBRARIES ${MARIADBCLIENT_LIBRARY}) | ||
| 48 | set(MARIADBCLIENT_INCLUDE_DIRS ${MARIADBCLIENT_INCLUDE_DIR}) | ||
| 49 | set(MARIADBCLIENT_DEFINITIONS -DHAS_MARIADB=1) | ||
| 50 | |||
| 51 | if(NOT TARGET MariaDBClient::MariaDBClient) | ||
| 52 | add_library(MariaDBClient::MariaDBClient UNKNOWN IMPORTED) | ||
| 53 | if(MARIADBCLIENT_LIBRARY_RELEASE) | ||
| 54 | set_target_properties(MariaDBClient::MariaDBClient PROPERTIES | ||
| 55 | IMPORTED_CONFIGURATIONS RELEASE | ||
| 56 | IMPORTED_LOCATION "${MARIADBCLIENT_LIBRARY_RELEASE}") | ||
| 57 | endif() | ||
| 58 | if(MARIADBCLIENT_LIBRARY_DEBUG) | ||
| 59 | set_target_properties(MariaDBClient::MariaDBClient PROPERTIES | ||
| 60 | IMPORTED_CONFIGURATIONS DEBUG | ||
| 61 | IMPORTED_LOCATION "${MARIADBCLIENT_LIBRARY_DEBUG}") | ||
| 62 | endif() | ||
| 63 | set_target_properties(MariaDBClient::MariaDBClient PROPERTIES | ||
| 64 | INTERFACE_INCLUDE_DIRECTORIES "${MARIADBCLIENT_INCLUDE_DIR}" | ||
| 65 | INTERFACE_COMPILE_DEFINITIONS HAS_MARIADB=1) | ||
| 66 | endif() | ||
| 67 | endif() | ||
| 68 | |||
| 69 | mark_as_advanced(MARIADBCLIENT_INCLUDE_DIR MARIADBCLIENT_LIBRARY) | ||
diff --git a/cmake/modules/FindMicroHttpd.cmake b/cmake/modules/FindMicroHttpd.cmake index 232f8e5..d04878c 100644 --- a/cmake/modules/FindMicroHttpd.cmake +++ b/cmake/modules/FindMicroHttpd.cmake | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | # MicroHttpd::MicroHttpd - The MicroHttpd library | 15 | # MicroHttpd::MicroHttpd - The MicroHttpd library |
| 16 | 16 | ||
| 17 | if(PKG_CONFIG_FOUND) | 17 | if(PKG_CONFIG_FOUND) |
| 18 | pkg_check_modules(PC_MICROHTTPD libmicrohttpd>=0.4 QUIET) | 18 | pkg_check_modules(PC_MICROHTTPD libmicrohttpd>=0.9.40 QUIET) |
| 19 | endif() | 19 | endif() |
| 20 | 20 | ||
| 21 | find_path(MICROHTTPD_INCLUDE_DIR NAMES microhttpd.h | 21 | find_path(MICROHTTPD_INCLUDE_DIR NAMES microhttpd.h |
diff --git a/cmake/modules/FindMir.cmake b/cmake/modules/FindMir.cmake index 47a441c..e66ff02 100644 --- a/cmake/modules/FindMir.cmake +++ b/cmake/modules/FindMir.cmake | |||
| @@ -21,7 +21,7 @@ find_library(MIR_LIBRARY NAMES mirclient | |||
| 21 | PATHS ${PC_MIR_LIBRARIES} ${PC_MIR_LIBRARY_DIRS}) | 21 | PATHS ${PC_MIR_LIBRARIES} ${PC_MIR_LIBRARY_DIRS}) |
| 22 | 22 | ||
| 23 | include (FindPackageHandleStandardArgs) | 23 | include (FindPackageHandleStandardArgs) |
| 24 | find_package_handle_standard_args (MIR | 24 | find_package_handle_standard_args (Mir |
| 25 | REQUIRED_VARS MIR_LIBRARY MIR_INCLUDE_DIR) | 25 | REQUIRED_VARS MIR_LIBRARY MIR_INCLUDE_DIR) |
| 26 | 26 | ||
| 27 | if (MIR_FOUND) | 27 | if (MIR_FOUND) |
diff --git a/cmake/modules/FindSSH.cmake b/cmake/modules/FindSSH.cmake index ee65210..bf3837e 100644 --- a/cmake/modules/FindSSH.cmake +++ b/cmake/modules/FindSSH.cmake | |||
| @@ -15,7 +15,7 @@ | |||
| 15 | # SSH::SSH - The SSH library | 15 | # SSH::SSH - The SSH library |
| 16 | 16 | ||
| 17 | if(PKG_CONFIG_FOUND) | 17 | if(PKG_CONFIG_FOUND) |
| 18 | pkg_check_modules(PC_SSH libssh QUIET) | 18 | pkg_check_modules(PC_SSH libssh>=0.6 QUIET) |
| 19 | endif() | 19 | endif() |
| 20 | 20 | ||
| 21 | find_path(SSH_INCLUDE_DIR NAMES libssh/libssh.h | 21 | find_path(SSH_INCLUDE_DIR NAMES libssh/libssh.h |
diff --git a/cmake/modules/FindWaylandProtocols.cmake b/cmake/modules/FindWaylandProtocols.cmake new file mode 100644 index 0000000..0b96ff0 --- /dev/null +++ b/cmake/modules/FindWaylandProtocols.cmake | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | # FindWaylandProtocols | ||
| 2 | # -------------------- | ||
| 3 | # Find wayland-protocols | ||
| 4 | # | ||
| 5 | # This will will define the following variables:: | ||
| 6 | # | ||
| 7 | # WAYLAND_PROTOCOLS_DIR - directory containing the additional Wayland protocols | ||
| 8 | # from the wayland-protocols package | ||
| 9 | |||
| 10 | pkg_check_modules(PC_WAYLAND_PROTOCOLS wayland-protocols) | ||
| 11 | if(PC_WAYLAND_PROTOCOLS_FOUND) | ||
| 12 | pkg_get_variable(WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) | ||
| 13 | endif() | ||
| 14 | |||
| 15 | # Promote to cache variables so all code can access it | ||
| 16 | set(WAYLAND_PROTOCOLS_DIR ${WAYLAND_PROTOCOLS_DIR} CACHE INTERNAL "") | ||
| 17 | |||
| 18 | include(FindPackageHandleStandardArgs) | ||
| 19 | find_package_handle_standard_args(WaylandProtocols | ||
| 20 | REQUIRED_VARS | ||
| 21 | PC_WAYLAND_PROTOCOLS_FOUND | ||
| 22 | WAYLAND_PROTOCOLS_DIR | ||
| 23 | VERSION_VAR | ||
| 24 | PC_WAYLAND_PROTOCOLS_VERSION) | ||
diff --git a/cmake/modules/FindWaylandpp.cmake b/cmake/modules/FindWaylandpp.cmake index 8a1cd74..336e613 100644 --- a/cmake/modules/FindWaylandpp.cmake +++ b/cmake/modules/FindWaylandpp.cmake | |||
| @@ -1,64 +1,39 @@ | |||
| 1 | # FindWaylandpp | 1 | # FindWaylandpp |
| 2 | # ----------- | 2 | # ------------- |
| 3 | # Finds the waylandpp library | 3 | # Finds the waylandpp library |
| 4 | # | 4 | # |
| 5 | # This will will define the following variables:: | 5 | # This will will define the following variables:: |
| 6 | # | 6 | # |
| 7 | # WAYLANDPP_FOUND - the system has Wayland | 7 | # WAYLANDPP_FOUND - the system has waylandpp |
| 8 | # WAYLANDPP_INCLUDE_DIRS - the Wayland include directory | 8 | # WAYLANDPP_INCLUDE_DIRS - the waylandpp include directory |
| 9 | # WAYLANDPP_LIBRARIES - the Wayland libraries | 9 | # WAYLANDPP_LIBRARIES - the waylandpp libraries |
| 10 | # WAYLANDPP_DEFINITIONS - the Wayland definitions | 10 | # WAYLANDPP_DEFINITIONS - the waylandpp definitions |
| 11 | 11 | # WAYLANDPP_SCANNER - path to wayland-scanner++ | |
| 12 | 12 | ||
| 13 | if(PKG_CONFIG_FOUND) | 13 | pkg_check_modules(WAYLANDPP wayland-client++ wayland-egl++ wayland-cursor++) |
| 14 | pkg_check_modules(PC_WAYLANDPP wayland-client++>=0.1 wayland-egl++ wayland-cursor++ wayland-scanner++ QUIET) | 14 | pkg_check_modules(PC_WAYLANDPP_SCANNER wayland-scanner++) |
| 15 | pkg_check_modules(PC_WAYLAND_PROTOCOLS wayland-protocols>=1.7 QUIET) | 15 | if(WAYLANDPP_FOUND) |
| 16 | # TODO: Remove check when CMake minimum version is bumped globally | 16 | pkg_get_variable(PC_WAYLANDPP_PKGDATADIR wayland-client++ pkgdatadir) |
| 17 | if(CMAKE_VERSION VERSION_EQUAL 3.4.0 OR CMAKE_VERSION VERSION_GREATER 3.4.0) | 17 | endif() |
| 18 | if(PC_WAYLANDPP_FOUND) | 18 | if(PC_WAYLANDPP_SCANNER_FOUND) |
| 19 | pkg_get_variable(PC_WAYLANDPP_SCANNER wayland-scanner++ wayland_scannerpp) | 19 | pkg_get_variable(PC_WAYLANDPP_SCANNER wayland-scanner++ wayland_scannerpp) |
| 20 | endif() | ||
| 21 | if(PC_WAYLAND_PROTOCOLS_FOUND) | ||
| 22 | pkg_get_variable(PC_WAYLAND_PROTOCOLS_DIR wayland-protocols pkgdatadir) | ||
| 23 | endif() | ||
| 24 | endif() | ||
| 25 | endif() | 20 | endif() |
| 26 | 21 | ||
| 27 | find_path(WAYLANDPP_INCLUDE_DIR NAMES wayland-client.hpp | 22 | # Promote to cache variables so all code can access it |
| 28 | PATHS ${PC_WAYLANDPP_INCLUDE_DIRS}) | 23 | set(WAYLANDPP_PROTOCOLS_DIR "${PC_WAYLANDPP_PKGDATADIR}/protocols" CACHE INTERNAL "") |
| 29 | |||
| 30 | find_library(WAYLANDPP_CLIENT_LIBRARY NAMES wayland-client++ | ||
| 31 | PATHS ${PC_WAYLANDPP_LIBRARIES} ${PC_WAYLANDPP_LIBRARY_DIRS}) | ||
| 32 | |||
| 33 | find_library(WAYLANDPP_CURSOR_LIBRARY NAMES wayland-cursor++ | ||
| 34 | PATHS ${PC_WAYLANDPP_LIBRARIES} ${PC_WAYLANDPP_LIBRARY_DIRS}) | ||
| 35 | |||
| 36 | find_library(WAYLANDPP_EGL_LIBRARY NAMES wayland-egl++ | ||
| 37 | PATHS ${PC_WAYLANDPP_LIBRARIES} ${PC_WAYLANDPP_LIBRARY_DIRS}) | ||
| 38 | |||
| 39 | find_program(WAYLANDPP_SCANNER NAMES wayland-scanner++ | ||
| 40 | PATHS ${PC_WAYLANDPP_SCANNER}) | ||
| 41 | 24 | ||
| 42 | find_path(WAYLAND_PROTOCOLS_DIR NAMES unstable/xdg-shell/xdg-shell-unstable-v6.xml | 25 | # wayland-scanner++ is from native/host system in case of cross-compilation, so |
| 43 | PATHS ${PC_WAYLAND_PROTOCOLS_DIR} | 26 | # it's ok if we don't find it with pkgconfig |
| 44 | DOC "Directory containing additional Wayland protocols") | 27 | find_program(WAYLANDPP_SCANNER wayland-scanner++ PATHS ${PC_WAYLANDPP_SCANNER}) |
| 45 | 28 | ||
| 46 | include (FindPackageHandleStandardArgs) | 29 | include (FindPackageHandleStandardArgs) |
| 47 | find_package_handle_standard_args (Waylandpp | 30 | find_package_handle_standard_args (Waylandpp |
| 48 | REQUIRED_VARS | 31 | REQUIRED_VARS |
| 49 | WAYLANDPP_INCLUDE_DIR | 32 | WAYLANDPP_FOUND |
| 50 | WAYLANDPP_CLIENT_LIBRARY | ||
| 51 | WAYLANDPP_CURSOR_LIBRARY | ||
| 52 | WAYLANDPP_EGL_LIBRARY | ||
| 53 | WAYLANDPP_SCANNER | 33 | WAYLANDPP_SCANNER |
| 54 | WAYLAND_PROTOCOLS_DIR | ||
| 55 | VERSION_VAR | 34 | VERSION_VAR |
| 56 | PC_WAYLANDPP_wayland-client++_VERSION) | 35 | WAYLANDPP_wayland-client++_VERSION) |
| 57 | |||
| 58 | if (WAYLANDPP_FOUND) | ||
| 59 | set(WAYLANDPP_LIBRARIES ${WAYLANDPP_CLIENT_LIBRARY} ${WAYLANDPP_CURSOR_LIBRARY} ${WAYLANDPP_EGL_LIBRARY}) | ||
| 60 | set(WAYLANDPP_INCLUDE_DIRS ${PC_WAYLANDPP_INCLUDE_DIRS}) | ||
| 61 | set(WAYLANDPP_DEFINITIONS -DHAVE_WAYLAND=1) | ||
| 62 | endif() | ||
| 63 | 36 | ||
| 64 | mark_as_advanced (WAYLANDPP_CLIENT_LIBRARY WAYLANDPP_CURSOR_LIBRARY WAYLANDPP_EGL_LIBRARY WAYLANDPP_INCLUDE_DIR) | 37 | set(WAYLANDPP_DEFINITIONS -DHAVE_WAYLAND=1) |
| 38 | # Also pass on library directories | ||
| 39 | set(WAYLANDPP_LIBRARIES ${WAYLANDPP_LDFLAGS}) | ||
diff --git a/cmake/modules/FindXkbcommon.cmake b/cmake/modules/FindXkbcommon.cmake index 88c6121..2a84fe5 100644 --- a/cmake/modules/FindXkbcommon.cmake +++ b/cmake/modules/FindXkbcommon.cmake | |||
| @@ -9,27 +9,13 @@ | |||
| 9 | # XKBCOMMON_LIBRARIES - the libxkbcommon libraries | 9 | # XKBCOMMON_LIBRARIES - the libxkbcommon libraries |
| 10 | # XKBCOMMON_DEFINITIONS - the libxkbcommon definitions | 10 | # XKBCOMMON_DEFINITIONS - the libxkbcommon definitions |
| 11 | 11 | ||
| 12 | 12 | pkg_check_modules (XKBCOMMON xkbcommon) | |
| 13 | if(PKG_CONFIG_FOUND) | ||
| 14 | pkg_check_modules (PC_XKBCOMMON xkbcommon QUIET) | ||
| 15 | endif() | ||
| 16 | |||
| 17 | find_path(XKBCOMMON_INCLUDE_DIR NAMES xkbcommon/xkbcommon.h | ||
| 18 | PATHS ${PC_XKBCOMMON_INCLUDE_DIRS}) | ||
| 19 | |||
| 20 | find_library(XKBCOMMON_LIBRARY NAMES xkbcommon | ||
| 21 | PATHS ${PC_XKBCOMMON_LIBRARIES} ${PC_XKBCOMMON_LIBRARY_DIRS}) | ||
| 22 | 13 | ||
| 23 | include (FindPackageHandleStandardArgs) | 14 | include (FindPackageHandleStandardArgs) |
| 24 | find_package_handle_standard_args (XKBCOMMON | 15 | find_package_handle_standard_args (Xkbcommon |
| 25 | REQUIRED_VARS | 16 | REQUIRED_VARS |
| 26 | XKBCOMMON_INCLUDE_DIR | 17 | XKBCOMMON_FOUND) |
| 27 | XKBCOMMON_LIBRARY) | ||
| 28 | |||
| 29 | if (XKBCOMMON_FOUND) | ||
| 30 | set(XKBCOMMON_LIBRARIES ${XKBCOMMON_LIBRARY}) | ||
| 31 | set(XKBCOMMON_INCLUDE_DIRS ${PC_XKBCOMMON_INCLUDE_DIRS}) | ||
| 32 | set(XKBCOMMON_DEFINITIONS -DHAVE_XKBCOMMON=1) | ||
| 33 | endif() | ||
| 34 | 18 | ||
| 35 | mark_as_advanced (XKBCOMMON_LIBRARY XKBCOMMON_INCLUDE_DIR) \ No newline at end of file | 19 | set(XKBCOMMON_DEFINITIONS -DHAVE_XKBCOMMON=1) |
| 20 | set(XKBCOMMON_LIBRARIES ${XKBCOMMON_LDFLAGS}) | ||
| 21 | set(XKBCOMMON_INCLUDE_DIRS ${XKBCOMMON_INCLUDEDIR}) | ||
diff --git a/cmake/platform/freebsd/wayland.cmake b/cmake/platform/freebsd/wayland.cmake index 55fbd8a..c9c1d00 100644 --- a/cmake/platform/freebsd/wayland.cmake +++ b/cmake/platform/freebsd/wayland.cmake | |||
| @@ -1,17 +1 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS EGL Waylandpp LibDRM Xkbcommon) | include(cmake/platform/linux/wayland.cmake) | |
| 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI) | ||
| 3 | |||
| 4 | set(WAYLAND_RENDER_SYSTEM "" CACHE STRING "Render system to use with Wayland: \"gl\" or \"gles\"") | ||
| 5 | |||
| 6 | if(WAYLAND_RENDER_SYSTEM STREQUAL "gl") | ||
| 7 | list(APPEND PLATFORM_REQUIRED_DEPS OpenGl) | ||
| 8 | elseif(WAYLAND_RENDER_SYSTEM STREQUAL "gles") | ||
| 9 | list(APPEND PLATFORM_REQUIRED_DEPS OpenGLES) | ||
| 10 | else() | ||
| 11 | message(SEND_ERROR "You need to decide whether you want to use GL- or GLES-based rendering in combination with the Wayland windowing system. Please set WAYLAND_RENDER_SYSTEM to either \"gl\" or \"gles\". For normal desktop systems, you will usually want to use \"gl\".") | ||
| 12 | endif() | ||
| 13 | |||
| 14 | set(PLATFORM_GLOBAL_TARGET_DEPS generate-wayland-extra-protocols) | ||
| 15 | set(WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}") | ||
| 16 | # for wayland-extra-protocols.hpp | ||
| 17 | include_directories("${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}") | ||
diff --git a/cmake/platform/linux/aml.cmake b/cmake/platform/linux/aml.cmake index c1d464d..82e242b 100644 --- a/cmake/platform/linux/aml.cmake +++ b/cmake/platform/linux/aml.cmake | |||
| @@ -1 +1,3 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES AML EGL) | 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES AML EGL) |
| 2 | set(APP_RENDER_SYSTEM gles) | ||
| 3 | list(APPEND PLATFORM_DEFINES -DMESA_EGL_NO_X11_HEADERS) | ||
diff --git a/cmake/platform/linux/gbm.cmake b/cmake/platform/linux/gbm.cmake index 6a9165a..d8e73d0 100644 --- a/cmake/platform/linux/gbm.cmake +++ b/cmake/platform/linux/gbm.cmake | |||
| @@ -1,2 +1,4 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES EGL GBM LibDRM) | 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES EGL GBM LibDRM) |
| 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI) | 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI) |
| 3 | set(APP_RENDER_SYSTEM gles) | ||
| 4 | list(APPEND PLATFORM_DEFINES -DMESA_EGL_NO_X11_HEADERS -DPLATFORM_SETTINGS_FILE=gbm.xml) | ||
diff --git a/cmake/platform/linux/mir.cmake b/cmake/platform/linux/mir.cmake index 7f20da8..0e672a9 100644 --- a/cmake/platform/linux/mir.cmake +++ b/cmake/platform/linux/mir.cmake | |||
| @@ -1,2 +1,3 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGl EGL Mir LibDRM) | 1 | set(PLATFORM_REQUIRED_DEPS OpenGl EGL Mir LibDRM) |
| 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI OpenGLES) | 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI OpenGLES) |
| 3 | set(APP_RENDER_SYSTEM gl) | ||
diff --git a/cmake/platform/linux/rbpi.cmake b/cmake/platform/linux/rbpi.cmake index 4899857..fa9a1dc 100644 --- a/cmake/platform/linux/rbpi.cmake +++ b/cmake/platform/linux/rbpi.cmake | |||
| @@ -1 +1,3 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES EGL MMAL) | 1 | set(PLATFORM_REQUIRED_DEPS OpenGLES EGL MMAL) |
| 2 | set(APP_RENDER_SYSTEM gles) | ||
| 3 | list(APPEND PLATFORM_DEFINES -D_ARMEL -DTARGET_RASPBERRY_PI) | ||
diff --git a/cmake/platform/linux/wayland.cmake b/cmake/platform/linux/wayland.cmake index 3934834..f42dbf5 100644 --- a/cmake/platform/linux/wayland.cmake +++ b/cmake/platform/linux/wayland.cmake | |||
| @@ -1,12 +1,14 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS EGL Waylandpp LibDRM Xkbcommon) | 1 | set(PLATFORM_REQUIRED_DEPS EGL WaylandProtocols>=1.7 Waylandpp>=0.2.2 LibDRM Xkbcommon>=0.4.1) |
| 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI) | 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI) |
| 3 | 3 | ||
| 4 | set(WAYLAND_RENDER_SYSTEM "" CACHE STRING "Render system to use with Wayland: \"gl\" or \"gles\"") | 4 | set(WAYLAND_RENDER_SYSTEM "" CACHE STRING "Render system to use with Wayland: \"gl\" or \"gles\"") |
| 5 | 5 | ||
| 6 | if(WAYLAND_RENDER_SYSTEM STREQUAL "gl") | 6 | if(WAYLAND_RENDER_SYSTEM STREQUAL "gl") |
| 7 | list(APPEND PLATFORM_REQUIRED_DEPS OpenGl) | 7 | list(APPEND PLATFORM_REQUIRED_DEPS OpenGl) |
| 8 | set(APP_RENDER_SYSTEM gl) | ||
| 8 | elseif(WAYLAND_RENDER_SYSTEM STREQUAL "gles") | 9 | elseif(WAYLAND_RENDER_SYSTEM STREQUAL "gles") |
| 9 | list(APPEND PLATFORM_REQUIRED_DEPS OpenGLES) | 10 | list(APPEND PLATFORM_REQUIRED_DEPS OpenGLES) |
| 11 | set(APP_RENDER_SYSTEM gles) | ||
| 10 | else() | 12 | else() |
| 11 | message(SEND_ERROR "You need to decide whether you want to use GL- or GLES-based rendering in combination with the Wayland windowing system. Please set WAYLAND_RENDER_SYSTEM to either \"gl\" or \"gles\". For normal desktop systems, you will usually want to use \"gl\".") | 13 | message(SEND_ERROR "You need to decide whether you want to use GL- or GLES-based rendering in combination with the Wayland windowing system. Please set WAYLAND_RENDER_SYSTEM to either \"gl\" or \"gles\". For normal desktop systems, you will usually want to use \"gl\".") |
| 12 | endif() | 14 | endif() |
| @@ -14,4 +16,4 @@ endif() | |||
| 14 | set(PLATFORM_GLOBAL_TARGET_DEPS generate-wayland-extra-protocols) | 16 | set(PLATFORM_GLOBAL_TARGET_DEPS generate-wayland-extra-protocols) |
| 15 | set(WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}") | 17 | set(WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR "${CMAKE_CURRENT_BINARY_DIR}") |
| 16 | # for wayland-extra-protocols.hpp | 18 | # for wayland-extra-protocols.hpp |
| 17 | include_directories("${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}") \ No newline at end of file | 19 | include_directories("${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}") |
diff --git a/cmake/platform/linux/x11.cmake b/cmake/platform/linux/x11.cmake index 656fd66..09cebde 100644 --- a/cmake/platform/linux/x11.cmake +++ b/cmake/platform/linux/x11.cmake | |||
| @@ -1,2 +1,3 @@ | |||
| 1 | set(PLATFORM_REQUIRED_DEPS OpenGl EGL X XRandR LibDRM) | 1 | set(PLATFORM_REQUIRED_DEPS OpenGl EGL X XRandR LibDRM) |
| 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI VDPAU GLX) | 2 | set(PLATFORM_OPTIONAL_DEPS VAAPI VDPAU GLX) |
| 3 | set(APP_RENDER_SYSTEM gl) | ||
diff --git a/cmake/scripts/android/ArchSetup.cmake b/cmake/scripts/android/ArchSetup.cmake index 03056fa..69bb88d 100644 --- a/cmake/scripts/android/ArchSetup.cmake +++ b/cmake/scripts/android/ArchSetup.cmake | |||
| @@ -1,7 +1,5 @@ | |||
| 1 | if(NOT CMAKE_TOOLCHAIN_FILE) | 1 | if(NOT CMAKE_TOOLCHAIN_FILE) |
| 2 | message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for android. See ${CMAKE_SOURCE_DIR}/cmake/README.md") | 2 | message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for android. See ${CMAKE_SOURCE_DIR}/cmake/README.md") |
| 3 | elseif(NOT SDK_PLATFORM) | ||
| 4 | message(FATAL_ERROR "Toolchain did not define SDK_PLATFORM. Possibly outdated depends.") | ||
| 5 | endif() | 3 | endif() |
| 6 | 4 | ||
| 7 | set(ARCH_DEFINES -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID) | 5 | set(ARCH_DEFINES -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID) |
| @@ -34,7 +32,7 @@ else() | |||
| 34 | endif() | 32 | endif() |
| 35 | 33 | ||
| 36 | # Additional SYSTEM_DEFINES | 34 | # Additional SYSTEM_DEFINES |
| 37 | list(APPEND SYSTEM_DEFINES -DHAS_ZEROCONF) | 35 | list(APPEND SYSTEM_DEFINES -DHAS_ZEROCONF -DHAS_LINUX_NETWORK) |
| 38 | 36 | ||
| 39 | set(ENABLE_X11 OFF CACHE BOOL "" FORCE) | 37 | set(ENABLE_X11 OFF CACHE BOOL "" FORCE) |
| 40 | set(ENABLE_AML OFF CACHE BOOL "" FORCE) | 38 | set(ENABLE_AML OFF CACHE BOOL "" FORCE) |
diff --git a/cmake/scripts/android/Install.cmake b/cmake/scripts/android/Install.cmake index cc52d51..cc53607 100644 --- a/cmake/scripts/android/Install.cmake +++ b/cmake/scripts/android/Install.cmake | |||
| @@ -53,29 +53,47 @@ endif() | |||
| 53 | unset(patch) | 53 | unset(patch) |
| 54 | 54 | ||
| 55 | set(package_files strings.xml | 55 | set(package_files strings.xml |
| 56 | activity_main.xml | ||
| 57 | colors.xml | 56 | colors.xml |
| 58 | searchable.xml | 57 | searchable.xml |
| 59 | AndroidManifest.xml | 58 | AndroidManifest.xml |
| 60 | build.gradle | 59 | build.gradle |
| 61 | src/Main.java | ||
| 62 | src/Splash.java | 60 | src/Splash.java |
| 61 | src/Main.java | ||
| 63 | src/XBMCBroadcastReceiver.java | 62 | src/XBMCBroadcastReceiver.java |
| 64 | src/XBMCImageContentProvider.java | ||
| 65 | src/XBMCInputDeviceListener.java | 63 | src/XBMCInputDeviceListener.java |
| 66 | src/XBMCJsonRPC.java | 64 | src/XBMCJsonRPC.java |
| 67 | src/XBMCMediaContentProvider.java | 65 | src/XBMCMainView.java |
| 68 | src/XBMCMediaSession.java | 66 | src/XBMCMediaSession.java |
| 69 | src/XBMCRecommendationBuilder.java | 67 | src/XBMCRecommendationBuilder.java |
| 70 | src/XBMCSearchableActivity.java | 68 | src/XBMCSearchableActivity.java |
| 71 | src/XBMCSettingsContentObserver.java | 69 | src/XBMCSettingsContentObserver.java |
| 72 | src/XBMCProperties.java | 70 | src/XBMCProperties.java |
| 73 | src/XBMCVideoView.java | 71 | src/XBMCVideoView.java |
| 72 | src/XBMCFile.java | ||
| 73 | src/channels/SyncChannelJobService.java | ||
| 74 | src/channels/SyncProgramsJobService.java | ||
| 75 | src/channels/model/XBMCDatabase.java | ||
| 76 | src/channels/model/Subscription.java | ||
| 77 | src/channels/util/SharedPreferencesHelper.java | ||
| 78 | src/channels/util/TvUtil.java | ||
| 74 | src/interfaces/XBMCAudioManagerOnAudioFocusChangeListener.java | 79 | src/interfaces/XBMCAudioManagerOnAudioFocusChangeListener.java |
| 75 | src/interfaces/XBMCSurfaceTextureOnFrameAvailableListener.java | 80 | src/interfaces/XBMCSurfaceTextureOnFrameAvailableListener.java |
| 76 | src/interfaces/XBMCNsdManagerDiscoveryListener.java | ||
| 77 | src/interfaces/XBMCNsdManagerRegistrationListener.java | ||
| 78 | src/interfaces/XBMCNsdManagerResolveListener.java | 81 | src/interfaces/XBMCNsdManagerResolveListener.java |
| 82 | src/interfaces/XBMCNsdManagerRegistrationListener.java | ||
| 83 | src/interfaces/XBMCNsdManagerDiscoveryListener.java | ||
| 84 | src/interfaces/XBMCMediaDrmOnEventListener.java | ||
| 85 | src/model/TVEpisode.java | ||
| 86 | src/model/Movie.java | ||
| 87 | src/model/TVShow.java | ||
| 88 | src/model/File.java | ||
| 89 | src/model/Album.java | ||
| 90 | src/model/Song.java | ||
| 91 | src/model/MusicVideo.java | ||
| 92 | src/model/Media.java | ||
| 93 | src/content/XBMCFileContentProvider.java | ||
| 94 | src/content/XBMCMediaContentProvider.java | ||
| 95 | src/content/XBMCContentProvider.java | ||
| 96 | src/content/XBMCYTDLContentProvider.java | ||
| 79 | ) | 97 | ) |
| 80 | foreach(file IN LISTS package_files) | 98 | foreach(file IN LISTS package_files) |
| 81 | configure_file(${CMAKE_SOURCE_DIR}/tools/android/packaging/xbmc/${file}.in | 99 | configure_file(${CMAKE_SOURCE_DIR}/tools/android/packaging/xbmc/${file}.in |
| @@ -154,7 +172,6 @@ foreach(target apk obb apk-unsigned apk-obb apk-obb-unsigned apk-noobb apk-clean | |||
| 154 | DEPENDS_PATH=${DEPENDS_PATH} | 172 | DEPENDS_PATH=${DEPENDS_PATH} |
| 155 | NDKROOT=${NDKROOT} | 173 | NDKROOT=${NDKROOT} |
| 156 | SDKROOT=${SDKROOT} | 174 | SDKROOT=${SDKROOT} |
| 157 | SDK_PLATFORM=${SDK_PLATFORM} | ||
| 158 | STRIP=${CMAKE_STRIP} | 175 | STRIP=${CMAKE_STRIP} |
| 159 | AAPT=${AAPT_EXECUTABLE} | 176 | AAPT=${AAPT_EXECUTABLE} |
| 160 | DX=${DX_EXECUTABLE} | 177 | DX=${DX_EXECUTABLE} |
diff --git a/cmake/scripts/common/AddonHelpers.cmake b/cmake/scripts/common/AddonHelpers.cmake index c11923e..5470940 100644 --- a/cmake/scripts/common/AddonHelpers.cmake +++ b/cmake/scripts/common/AddonHelpers.cmake | |||
| @@ -6,15 +6,20 @@ | |||
| 6 | # Sadly we cannot extend the 'package' target, as it is a builtin target, see | 6 | # Sadly we cannot extend the 'package' target, as it is a builtin target, see |
| 7 | # http://public.kitware.com/Bug/view.php?id=8438 | 7 | # http://public.kitware.com/Bug/view.php?id=8438 |
| 8 | # Thus, we have to add an 'addon-package' target. | 8 | # Thus, we have to add an 'addon-package' target. |
| 9 | add_custom_target(addon-package | 9 | get_property(_isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) |
| 10 | COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target package) | 10 | if(_isMultiConfig) |
| 11 | add_custom_target(addon-package DEPENDS PACKAGE) | ||
| 12 | else() | ||
| 13 | add_custom_target(addon-package | ||
| 14 | COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target package) | ||
| 15 | endif() | ||
| 11 | 16 | ||
| 12 | macro(add_cpack_workaround target version ext) | 17 | macro(add_cpack_workaround target version ext) |
| 13 | if(NOT PACKAGE_DIR) | 18 | if(NOT PACKAGE_DIR) |
| 14 | set(PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/zips") | 19 | set(PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/zips") |
| 15 | endif() | 20 | endif() |
| 16 | 21 | ||
| 17 | add_custom_command(TARGET addon-package PRE_BUILD | 22 | add_custom_command(TARGET addon-package POST_BUILD |
| 18 | COMMAND ${CMAKE_COMMAND} -E make_directory ${PACKAGE_DIR} | 23 | COMMAND ${CMAKE_COMMAND} -E make_directory ${PACKAGE_DIR} |
| 19 | COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_PACKAGE_DIRECTORY}/addon-${target}-${version}.${ext} ${PACKAGE_DIR}/${target}-${version}.${ext}) | 24 | COMMAND ${CMAKE_COMMAND} -E copy ${CPACK_PACKAGE_DIRECTORY}/addon-${target}-${version}.${ext} ${PACKAGE_DIR}/${target}-${version}.${ext}) |
| 20 | endmacro() | 25 | endmacro() |
| @@ -194,7 +199,7 @@ macro (build_addon target prefix libs) | |||
| 194 | endif() | 199 | endif() |
| 195 | 200 | ||
| 196 | string(CONFIGURE "${addon_file}" addon_file_conf @ONLY) | 201 | string(CONFIGURE "${addon_file}" addon_file_conf @ONLY) |
| 197 | file(GENERATE OUTPUT ${PROJECT_SOURCE_DIR}/${target}/addon.xml CONTENT "${addon_file_conf}") | 202 | file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target}/addon.xml CONTENT "${addon_file_conf}") |
| 198 | if(${APP_NAME_UC}_BUILD_DIR) | 203 | if(${APP_NAME_UC}_BUILD_DIR) |
| 199 | file(GENERATE OUTPUT ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/addon.xml CONTENT "${addon_file_conf}") | 204 | file(GENERATE OUTPUT ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/addon.xml CONTENT "${addon_file_conf}") |
| 200 | endif() | 205 | endif() |
| @@ -207,7 +212,7 @@ macro (build_addon target prefix libs) | |||
| 207 | 212 | ||
| 208 | file(READ ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in settings_file) | 213 | file(READ ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in settings_file) |
| 209 | string(CONFIGURE "${settings_file}" settings_file_conf @ONLY) | 214 | string(CONFIGURE "${settings_file}" settings_file_conf @ONLY) |
| 210 | file(GENERATE OUTPUT ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml CONTENT "${settings_file_conf}") | 215 | file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target}/resources/settings.xml CONTENT "${settings_file_conf}") |
| 211 | if(${APP_NAME_UC}_BUILD_DIR) | 216 | if(${APP_NAME_UC}_BUILD_DIR) |
| 212 | file(GENERATE OUTPUT ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/resources/settings.xml CONTENT "${settings_file_conf}") | 217 | file(GENERATE OUTPUT ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/resources/settings.xml CONTENT "${settings_file_conf}") |
| 213 | endif() | 218 | endif() |
| @@ -230,7 +235,7 @@ macro (build_addon target prefix libs) | |||
| 230 | set(CPACK_COMPONENTS_IGNORE_GROUPS 1) | 235 | set(CPACK_COMPONENTS_IGNORE_GROUPS 1) |
| 231 | list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}) | 236 | list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}) |
| 232 | # Pack files together to create an archive | 237 | # Pack files together to create an archive |
| 233 | install(DIRECTORY ${target} DESTINATION ./ | 238 | install(DIRECTORY ${target} ${CMAKE_CURRENT_BINARY_DIR}/${target} DESTINATION ./ |
| 234 | COMPONENT ${target}-${${prefix}_VERSION} | 239 | COMPONENT ${target}-${${prefix}_VERSION} |
| 235 | REGEX ".+\\.xml\\.in(clude)?$" EXCLUDE) | 240 | REGEX ".+\\.xml\\.in(clude)?$" EXCLUDE) |
| 236 | if(WIN32) | 241 | if(WIN32) |
| @@ -247,21 +252,15 @@ macro (build_addon target prefix libs) | |||
| 247 | endif() | 252 | endif() |
| 248 | endif() | 253 | endif() |
| 249 | 254 | ||
| 250 | # in case of a VC++ project the installation location contains a $(Configuration) VS variable | ||
| 251 | # we replace it with ${CMAKE_BUILD_TYPE} (which doesn't cover the case when the build configuration | ||
| 252 | # is changed within Visual Studio) | ||
| 253 | string(REPLACE "$(Configuration)" "${CMAKE_BUILD_TYPE}" LIBRARY_LOCATION "${LIBRARY_LOCATION}") | ||
| 254 | |||
| 255 | if(${prefix}_SOURCES) | 255 | if(${prefix}_SOURCES) |
| 256 | # install the generated DLL file | 256 | # install the generated DLL file |
| 257 | install(PROGRAMS ${LIBRARY_LOCATION} DESTINATION ${target} | 257 | install(PROGRAMS ${LIBRARY_LOCATION} DESTINATION ${target} |
| 258 | COMPONENT ${target}-${${prefix}_VERSION}) | 258 | COMPONENT ${target}-${${prefix}_VERSION}) |
| 259 | 259 | ||
| 260 | if(CMAKE_BUILD_TYPE MATCHES Debug) | 260 | # for debug builds also install the PDB file |
| 261 | # for debug builds also install the PDB file | 261 | install(FILES $<TARGET_PDB_FILE:${target}> DESTINATION ${target} |
| 262 | install(FILES $<TARGET_PDB_FILE:${target}> DESTINATION ${target} | 262 | CONFIGURATIONS Debug RelWithDebInfo |
| 263 | COMPONENT ${target}-${${prefix}_VERSION}) | 263 | COMPONENT ${target}-${${prefix}_VERSION}) |
| 264 | endif() | ||
| 265 | endif() | 264 | endif() |
| 266 | if(${prefix}_CUSTOM_BINARY) | 265 | if(${prefix}_CUSTOM_BINARY) |
| 267 | install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME}) | 266 | install(FILES ${LIBRARY_LOCATION} DESTINATION ${target} RENAME ${LIBRARY_FILENAME}) |
| @@ -325,7 +324,7 @@ macro (build_addon target prefix libs) | |||
| 325 | if (${prefix}_CUSTOM_BINARY) | 324 | if (${prefix}_CUSTOM_BINARY) |
| 326 | install(FILES ${LIBRARY_LOCATION} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target} RENAME ${LIBRARY_FILENAME}) | 325 | install(FILES ${LIBRARY_LOCATION} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target} RENAME ${LIBRARY_FILENAME}) |
| 327 | endif() | 326 | endif() |
| 328 | install(DIRECTORY ${target} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons | 327 | install(DIRECTORY ${target} ${CMAKE_CURRENT_BINARY_DIR}/${target} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons |
| 329 | REGEX ".+\\.xml\\.in(clude)?$" EXCLUDE) | 328 | REGEX ".+\\.xml\\.in(clude)?$" EXCLUDE) |
| 330 | if(${prefix}_CUSTOM_DATA) | 329 | if(${prefix}_CUSTOM_DATA) |
| 331 | install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons/${target}/resources) | 330 | install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons/${target}/resources) |
diff --git a/cmake/scripts/common/ArchSetup.cmake b/cmake/scripts/common/ArchSetup.cmake index 3b81533..c97929e 100644 --- a/cmake/scripts/common/ArchSetup.cmake +++ b/cmake/scripts/common/ArchSetup.cmake | |||
| @@ -153,6 +153,10 @@ if(NOT DEFINED NEON OR NEON) | |||
| 153 | endif() | 153 | endif() |
| 154 | endif() | 154 | endif() |
| 155 | 155 | ||
| 156 | if(PLATFORM_DEFINES) | ||
| 157 | add_options(ALL_LANGUAGES ALL_BUILDS ${PLATFORM_DEFINES}) | ||
| 158 | endif() | ||
| 159 | |||
| 156 | if(CMAKE_BUILD_TYPE STREQUAL "Debug") | 160 | if(CMAKE_BUILD_TYPE STREQUAL "Debug") |
| 157 | add_options (ALL_LANGUAGES DEBUG "-g" "-D_DEBUG" "-Wall") | 161 | add_options (ALL_LANGUAGES DEBUG "-g" "-D_DEBUG" "-Wall") |
| 158 | endif() | 162 | endif() |
diff --git a/cmake/scripts/common/HandleDepends.cmake b/cmake/scripts/common/HandleDepends.cmake index 49e5ac8..fb110d6 100644 --- a/cmake/scripts/common/HandleDepends.cmake +++ b/cmake/scripts/common/HandleDepends.cmake | |||
| @@ -54,9 +54,6 @@ function(add_addon_depends addon searchpath) | |||
| 54 | if(EXISTS ${dir}/flags.txt) | 54 | if(EXISTS ${dir}/flags.txt) |
| 55 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/flags.txt) | 55 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/flags.txt) |
| 56 | file(STRINGS ${dir}/flags.txt extraflags) | 56 | file(STRINGS ${dir}/flags.txt extraflags) |
| 57 | |||
| 58 | # replace some custom placeholders | ||
| 59 | string(REPLACE "@MINGW_TOOLCHAIN_FILE@" "${OUTPUT_DIR}/Toolchain_mingw32.cmake" extraflags "${extraflags}") | ||
| 60 | string(REPLACE " " ";" extraflags ${extraflags}) | 57 | string(REPLACE " " ";" extraflags ${extraflags}) |
| 61 | 58 | ||
| 62 | message(STATUS "${id} extraflags: ${extraflags}") | 59 | message(STATUS "${id} extraflags: ${extraflags}") |
diff --git a/cmake/scripts/common/Macros.cmake b/cmake/scripts/common/Macros.cmake index d508f87..c21069d 100644 --- a/cmake/scripts/common/Macros.cmake +++ b/cmake/scripts/common/Macros.cmake | |||
| @@ -338,15 +338,54 @@ macro(export_dep) | |||
| 338 | mark_as_advanced(${depup}_LIBRARIES) | 338 | mark_as_advanced(${depup}_LIBRARIES) |
| 339 | endmacro() | 339 | endmacro() |
| 340 | 340 | ||
| 341 | # add a required dependency of main application | 341 | # split dependency specification to name and version |
| 342 | # Arguments: | 342 | # Arguments: |
| 343 | # dep_list name of find rule for dependency, used uppercased for variable prefix | 343 | # depspec dependency specification that can optionally include a required |
| 344 | # also accepts a list of multiple dependencies | 344 | # package version |
| 345 | # syntax: [package name], [package name]>=[version] (minimum version), | ||
| 346 | # or [package name]=[version] (exact version) | ||
| 347 | # name_outvar variable that should receive the package name | ||
| 348 | # version_outvar variable that should receive the package version part (>=[version]) | ||
| 345 | # On return: | 349 | # On return: |
| 346 | # dependency added to ${SYSTEM_INCLUDES}, ${DEPLIBS} and ${DEP_DEFINES} | 350 | # ${name_outvar} and ${version_outvar} in caller scope are set to respective values. |
| 351 | # ${version_outvar} may be unset if there is no specific version requested. | ||
| 352 | function(split_dependency_specification depspec name_outvar version_outvar) | ||
| 353 | if(${depspec} MATCHES "^([^>]*)(>?=[0-9.]+)$") | ||
| 354 | set(${name_outvar} ${CMAKE_MATCH_1} PARENT_SCOPE) | ||
| 355 | set(${version_outvar} ${CMAKE_MATCH_2} PARENT_SCOPE) | ||
| 356 | else() | ||
| 357 | set(${name_outvar} ${depspec} PARENT_SCOPE) | ||
| 358 | unset(${version_outvar} PARENT_SCOPE) | ||
| 359 | endif() | ||
| 360 | endfunction() | ||
| 361 | |||
| 362 | # helper macro to split version info from req and call find_package | ||
| 363 | macro(find_package_with_ver package) | ||
| 364 | set(_find_arguments "${ARGN}") | ||
| 365 | if("${ARGV1}" MATCHES "^(>)?=([0-9.]+)$") | ||
| 366 | # We have a version spec, parse it | ||
| 367 | list(REMOVE_AT _find_arguments 0) | ||
| 368 | # ">" not present? -> exact match | ||
| 369 | if(NOT CMAKE_MATCH_1) | ||
| 370 | list(INSERT _find_arguments 0 "EXACT") | ||
| 371 | endif() | ||
| 372 | find_package(${package} ${CMAKE_MATCH_2} ${_find_arguments}) | ||
| 373 | else() | ||
| 374 | find_package(${package} ${_find_arguments}) | ||
| 375 | endif() | ||
| 376 | unset(_find_arguments) | ||
| 377 | endmacro() | ||
| 378 | |||
| 379 | # add required dependencies of main application | ||
| 380 | # Arguments: | ||
| 381 | # dep_list One or many dependency specifications (see split_dependency_specification) | ||
| 382 | # for syntax). The dependency name is used uppercased as variable prefix. | ||
| 383 | # On return: | ||
| 384 | # dependencies added to ${SYSTEM_INCLUDES}, ${DEPLIBS} and ${DEP_DEFINES} | ||
| 347 | function(core_require_dep) | 385 | function(core_require_dep) |
| 348 | foreach(dep ${ARGN}) | 386 | foreach(depspec ${ARGN}) |
| 349 | find_package(${dep} REQUIRED) | 387 | split_dependency_specification(${depspec} dep version) |
| 388 | find_package_with_ver(${dep} ${version} REQUIRED) | ||
| 350 | string(TOUPPER ${dep} depup) | 389 | string(TOUPPER ${dep} depup) |
| 351 | list(APPEND SYSTEM_INCLUDES ${${depup}_INCLUDE_DIRS}) | 390 | list(APPEND SYSTEM_INCLUDES ${${depup}_INCLUDE_DIRS}) |
| 352 | list(APPEND DEPLIBS ${${depup}_LIBRARIES}) | 391 | list(APPEND DEPLIBS ${${depup}_LIBRARIES}) |
| @@ -355,15 +394,16 @@ function(core_require_dep) | |||
| 355 | endforeach() | 394 | endforeach() |
| 356 | endfunction() | 395 | endfunction() |
| 357 | 396 | ||
| 358 | # add a required dyloaded dependency of main application | 397 | # add required dyloaded dependencies of main application |
| 359 | # Arguments: | 398 | # Arguments: |
| 360 | # dep_list name of find rule for dependency, used uppercased for variable prefix | 399 | # dep_list One or many dependency specifications (see split_dependency_specification) |
| 361 | # also accepts a list of multiple dependencies | 400 | # for syntax). The dependency name is used uppercased as variable prefix. |
| 362 | # On return: | 401 | # On return: |
| 363 | # dependency added to ${SYSTEM_INCLUDES}, ${dep}_SONAME is set up | 402 | # dependency added to ${SYSTEM_INCLUDES}, ${dep}_SONAME is set up |
| 364 | function(core_require_dyload_dep) | 403 | function(core_require_dyload_dep) |
| 365 | foreach(dep ${ARGN}) | 404 | foreach(depspec ${ARGN}) |
| 366 | find_package(${dep} REQUIRED) | 405 | split_dependency_specification(${depspec} dep version) |
| 406 | find_package_with_ver(${dep} ${version} REQUIRED) | ||
| 367 | string(TOUPPER ${dep} depup) | 407 | string(TOUPPER ${dep} depup) |
| 368 | list(APPEND SYSTEM_INCLUDES ${${depup}_INCLUDE_DIRS}) | 408 | list(APPEND SYSTEM_INCLUDES ${${depup}_INCLUDE_DIRS}) |
| 369 | list(APPEND DEP_DEFINES ${${depup}_DEFINITIONS}) | 409 | list(APPEND DEP_DEFINES ${${depup}_DEFINITIONS}) |
| @@ -385,20 +425,21 @@ macro(setup_enable_switch) | |||
| 385 | set(${enable_switch} "AUTO" CACHE STRING "Enable ${depup} support?") | 425 | set(${enable_switch} "AUTO" CACHE STRING "Enable ${depup} support?") |
| 386 | endmacro() | 426 | endmacro() |
| 387 | 427 | ||
| 388 | # add an optional dependency of main application | 428 | # add optional dependencies of main application |
| 389 | # Arguments: | 429 | # Arguments: |
| 390 | # dep_list name of find rule for dependency, used uppercased for variable prefix | 430 | # dep_list One or many dependency specifications (see split_dependency_specification) |
| 391 | # also accepts a list of multiple dependencies | 431 | # for syntax). The dependency name is used uppercased as variable prefix. |
| 392 | # On return: | 432 | # On return: |
| 393 | # dependency optionally added to ${SYSTEM_INCLUDES}, ${DEPLIBS} and ${DEP_DEFINES} | 433 | # dependency optionally added to ${SYSTEM_INCLUDES}, ${DEPLIBS} and ${DEP_DEFINES} |
| 394 | function(core_optional_dep) | 434 | function(core_optional_dep) |
| 395 | foreach(dep ${ARGN}) | 435 | foreach(depspec ${ARGN}) |
| 396 | set(_required False) | 436 | set(_required False) |
| 437 | split_dependency_specification(${depspec} dep version) | ||
| 397 | setup_enable_switch() | 438 | setup_enable_switch() |
| 398 | if(${enable_switch} STREQUAL AUTO) | 439 | if(${enable_switch} STREQUAL AUTO) |
| 399 | find_package(${dep}) | 440 | find_package_with_ver(${dep} ${version}) |
| 400 | elseif(${${enable_switch}}) | 441 | elseif(${${enable_switch}}) |
| 401 | find_package(${dep} REQUIRED) | 442 | find_package_with_ver(${dep} ${version} REQUIRED) |
| 402 | set(_required True) | 443 | set(_required True) |
| 403 | endif() | 444 | endif() |
| 404 | 445 | ||
| @@ -417,20 +458,21 @@ function(core_optional_dep) | |||
| 417 | set(final_message ${final_message} PARENT_SCOPE) | 458 | set(final_message ${final_message} PARENT_SCOPE) |
| 418 | endfunction() | 459 | endfunction() |
| 419 | 460 | ||
| 420 | # add an optional dyloaded dependency of main application | 461 | # add optional dyloaded dependencies of main application |
| 421 | # Arguments: | 462 | # Arguments: |
| 422 | # dep_list name of find rule for dependency, used uppercased for variable prefix | 463 | # dep_list One or many dependency specifications (see split_dependency_specification) |
| 423 | # also accepts a list of multiple dependencies | 464 | # for syntax). The dependency name is used uppercased as variable prefix. |
| 424 | # On return: | 465 | # On return: |
| 425 | # dependency optionally added to ${SYSTEM_INCLUDES}, ${DEP_DEFINES}, ${dep}_SONAME is set up | 466 | # dependency optionally added to ${SYSTEM_INCLUDES}, ${DEP_DEFINES}, ${dep}_SONAME is set up |
| 426 | function(core_optional_dyload_dep) | 467 | function(core_optional_dyload_dep) |
| 427 | foreach(dep ${ARGN}) | 468 | foreach(depspec ${ARGN}) |
| 428 | set(_required False) | 469 | set(_required False) |
| 429 | setup_enable_switch() | 470 | split_dependency_specification(${depspec} dep version) |
| 471 | setup_enable_switch() | ||
| 430 | if(${enable_switch} STREQUAL AUTO) | 472 | if(${enable_switch} STREQUAL AUTO) |
| 431 | find_package(${dep}) | 473 | find_package_with_ver(${dep} ${version}) |
| 432 | elseif(${${enable_switch}}) | 474 | elseif(${${enable_switch}}) |
| 433 | find_package(${dep} REQUIRED) | 475 | find_package_with_ver(${dep} ${version} REQUIRED) |
| 434 | set(_required True) | 476 | set(_required True) |
| 435 | endif() | 477 | endif() |
| 436 | 478 | ||
| @@ -592,6 +634,7 @@ function(core_find_git_rev stamp) | |||
| 592 | else() | 634 | else() |
| 593 | find_package(Git) | 635 | find_package(Git) |
| 594 | if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) | 636 | if(GIT_FOUND AND EXISTS ${CMAKE_SOURCE_DIR}/.git) |
| 637 | # get tree status i.e. clean working tree vs dirty (uncommited or unstashed changes, etc.) | ||
| 595 | execute_process(COMMAND ${GIT_EXECUTABLE} update-index --ignore-submodules -q --refresh | 638 | execute_process(COMMAND ${GIT_EXECUTABLE} update-index --ignore-submodules -q --refresh |
| 596 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) | 639 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
| 597 | execute_process(COMMAND ${GIT_EXECUTABLE} diff-files --ignore-submodules --quiet -- | 640 | execute_process(COMMAND ${GIT_EXECUTABLE} diff-files --ignore-submodules --quiet -- |
| @@ -602,21 +645,21 @@ function(core_find_git_rev stamp) | |||
| 602 | RESULT_VARIABLE status_code | 645 | RESULT_VARIABLE status_code |
| 603 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) | 646 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
| 604 | endif() | 647 | endif() |
| 648 | # get HEAD commit SHA-1 | ||
| 649 | execute_process(COMMAND ${GIT_EXECUTABLE} log -n 1 --pretty=format:"%h" HEAD | ||
| 650 | OUTPUT_VARIABLE HASH | ||
| 651 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) | ||
| 652 | string(REPLACE "\"" "" HASH ${HASH}) | ||
| 653 | |||
| 605 | if(status_code) | 654 | if(status_code) |
| 606 | execute_process(COMMAND ${GIT_EXECUTABLE} log -n 1 --pretty=format:"%h-dirty" HEAD | 655 | string(CONCAT HASH ${HASH} "-dirty") |
| 607 | OUTPUT_VARIABLE HASH | ||
| 608 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) | ||
| 609 | string(SUBSTRING ${HASH} 1 13 HASH) | ||
| 610 | else() | ||
| 611 | execute_process(COMMAND ${GIT_EXECUTABLE} log -n 1 --pretty=format:"%h" HEAD | ||
| 612 | OUTPUT_VARIABLE HASH | ||
| 613 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) | ||
| 614 | string(SUBSTRING ${HASH} 1 7 HASH) | ||
| 615 | endif() | 656 | endif() |
| 657 | |||
| 658 | # get HEAD commit date | ||
| 616 | execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:"%cd" --date=short HEAD | 659 | execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:"%cd" --date=short HEAD |
| 617 | OUTPUT_VARIABLE DATE | 660 | OUTPUT_VARIABLE DATE |
| 618 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) | 661 | WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) |
| 619 | string(SUBSTRING ${DATE} 1 10 DATE) | 662 | string(REPLACE "\"" "" DATE ${DATE}) |
| 620 | string(REPLACE "-" "" DATE ${DATE}) | 663 | string(REPLACE "-" "" DATE ${DATE}) |
| 621 | else() | 664 | else() |
| 622 | string(TIMESTAMP DATE "%Y%m%d" UTC) | 665 | string(TIMESTAMP DATE "%Y%m%d" UTC) |
diff --git a/cmake/scripts/common/Uninstall.cmake b/cmake/scripts/common/Uninstall.cmake index 5660e19..5753857 100644 --- a/cmake/scripts/common/Uninstall.cmake +++ b/cmake/scripts/common/Uninstall.cmake | |||
| @@ -1,9 +1,40 @@ | |||
| 1 | macro(remove_empty_dirs) | ||
| 2 | list(REMOVE_DUPLICATES DIRECTORIES) | ||
| 3 | unset(PDIRECTORIES) | ||
| 4 | foreach(dir IN LISTS DIRECTORIES) | ||
| 5 | if(EXISTS $ENV{DESTDIR}${dir}) | ||
| 6 | file(GLOB _res $ENV{DESTDIR}${dir}/*) | ||
| 7 | list(LENGTH _res _len) | ||
| 8 | if(_len EQUAL 0 AND EXISTS $ENV{DESTDIR}${dir}) | ||
| 9 | message(STATUS "Removing empty dir: ${dir}") | ||
| 10 | execute_process( | ||
| 11 | COMMAND ${CMAKE_COMMAND} -E remove_directory $ENV{DESTDIR}${dir} | ||
| 12 | OUTPUT_VARIABLE rm_out | ||
| 13 | RESULT_VARIABLE rm_retval | ||
| 14 | ) | ||
| 15 | if(NOT "${rm_retval}" STREQUAL 0) | ||
| 16 | message(FATAL_ERROR "Failed to remove directory: $ENV{DESTDIR}${dir}") | ||
| 17 | endif() | ||
| 18 | get_filename_component(_pdir $ENV{DESTDIR}${dir} DIRECTORY) | ||
| 19 | list(APPEND PDIRECTORIES ${_pdir}) | ||
| 20 | endif() | ||
| 21 | endif() | ||
| 22 | endforeach() | ||
| 23 | list(LENGTH PDIRECTORIES _plen) | ||
| 24 | if(_plen GREATER 0) | ||
| 25 | set(DIRECTORIES ${PDIRECTORIES}) | ||
| 26 | remove_empty_dirs() | ||
| 27 | endif() | ||
| 28 | endmacro() | ||
| 29 | |||
| 1 | # Uninstall target | 30 | # Uninstall target |
| 2 | set(MANIFEST ${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt) | 31 | set(MANIFEST ${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt) |
| 3 | if(EXISTS ${MANIFEST}) | 32 | if(EXISTS ${MANIFEST}) |
| 4 | file(STRINGS ${MANIFEST} files) | 33 | file(STRINGS ${MANIFEST} files) |
| 5 | foreach(file IN LISTS files) | 34 | foreach(file IN LISTS files) |
| 6 | if(EXISTS $ENV{DESTDIR}${file}) | 35 | if(EXISTS $ENV{DESTDIR}${file}) |
| 36 | get_filename_component(_dir $ENV{DESTDIR}${file} DIRECTORY) | ||
| 37 | list(APPEND DIRECTORIES $ENV{DESTDIR}${_dir}) | ||
| 7 | message(STATUS "Uninstalling: ${file}") | 38 | message(STATUS "Uninstalling: ${file}") |
| 8 | execute_process( | 39 | execute_process( |
| 9 | COMMAND ${CMAKE_COMMAND} -E remove $ENV{DESTDIR}${file} | 40 | COMMAND ${CMAKE_COMMAND} -E remove $ENV{DESTDIR}${file} |
| @@ -17,6 +48,11 @@ if(EXISTS ${MANIFEST}) | |||
| 17 | message(STATUS "File does not exist: $ENV{DESTDIR}${file}") | 48 | message(STATUS "File does not exist: $ENV{DESTDIR}${file}") |
| 18 | endif() | 49 | endif() |
| 19 | endforeach(file) | 50 | endforeach(file) |
| 51 | |||
| 52 | # delete empty dirs | ||
| 53 | if(DIRECTORIES) | ||
| 54 | remove_empty_dirs() | ||
| 55 | endif() | ||
| 20 | else() | 56 | else() |
| 21 | message(STATUS "Cannot find install manifest: '${MANIFEST}'") | 57 | message(STATUS "Cannot find install manifest: '${MANIFEST}'") |
| 22 | endif() | 58 | endif() |
diff --git a/cmake/scripts/freebsd/ArchSetup.cmake b/cmake/scripts/freebsd/ArchSetup.cmake index 8ee78fc..db11bf8 100644 --- a/cmake/scripts/freebsd/ArchSetup.cmake +++ b/cmake/scripts/freebsd/ArchSetup.cmake | |||
| @@ -15,5 +15,10 @@ else() | |||
| 15 | endif() | 15 | endif() |
| 16 | endif() | 16 | endif() |
| 17 | 17 | ||
| 18 | # Disable ALSA by default | ||
| 19 | if(NOT ENABLE_ALSA) | ||
| 20 | option(ENABLE_ALSA "Enable alsa support?" OFF) | ||
| 21 | endif() | ||
| 22 | |||
| 18 | # Additional SYSTEM_DEFINES | 23 | # Additional SYSTEM_DEFINES |
| 19 | list(APPEND SYSTEM_DEFINES -DHAS_LINUX_NETWORK) | 24 | list(APPEND SYSTEM_DEFINES -DHAS_LINUX_NETWORK) |
diff --git a/cmake/scripts/ios/ArchSetup.cmake b/cmake/scripts/ios/ArchSetup.cmake index 0808eb2..bec8a7c 100644 --- a/cmake/scripts/ios/ArchSetup.cmake +++ b/cmake/scripts/ios/ArchSetup.cmake | |||
| @@ -39,7 +39,7 @@ list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo" | |||
| 39 | set(ENABLE_DVDCSS OFF CACHE BOOL "" FORCE) | 39 | set(ENABLE_DVDCSS OFF CACHE BOOL "" FORCE) |
| 40 | set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) | 40 | set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) |
| 41 | 41 | ||
| 42 | set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "6.0") | 42 | set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "9.0") |
| 43 | set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") | 43 | set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") |
| 44 | 44 | ||
| 45 | set(CMAKE_XCODE_ATTRIBUTE_INLINES_ARE_PRIVATE_EXTERN OFF) | 45 | set(CMAKE_XCODE_ATTRIBUTE_INLINES_ARE_PRIVATE_EXTERN OFF) |
diff --git a/cmake/scripts/linux/ArchSetup.cmake b/cmake/scripts/linux/ArchSetup.cmake index ee69c09..fcee675 100644 --- a/cmake/scripts/linux/ArchSetup.cmake +++ b/cmake/scripts/linux/ArchSetup.cmake | |||
| @@ -1,8 +1,5 @@ | |||
| 1 | set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_LINUX) | 1 | # we always want to use GNU features if available, so set _GNU_SOURCE |
| 2 | # temp until further cleanup is done | 2 | set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_LINUX -D_GNU_SOURCE) |
| 3 | if(CORE_PLATFORM_NAME_LC STREQUAL rbpi) | ||
| 4 | list(APPEND ARCH_DEFINES -D_ARMEL -DTARGET_RASPBERRY_PI) | ||
| 5 | endif() | ||
| 6 | set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED | 3 | set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED |
| 7 | -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) | 4 | -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) |
| 8 | set(PLATFORM_DIR platform/linux) | 5 | set(PLATFORM_DIR platform/linux) |
| @@ -21,14 +18,17 @@ else() | |||
| 21 | set(ARCH arm) | 18 | set(ARCH arm) |
| 22 | set(NEON False) | 19 | set(NEON False) |
| 23 | set(NEON_FLAGS "-mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp") | 20 | set(NEON_FLAGS "-mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfloat-abi=hard -mfpu=vfp") |
| 24 | elseif(CPU MATCHES "cortex-a7" OR CPU MATCHES "cortex-a53") | 21 | elseif(CPU MATCHES "cortex-a7") |
| 25 | set(ARCH arm) | 22 | set(ARCH arm) |
| 26 | set(NEON True) | 23 | set(NEON True) |
| 27 | set(NEON_FLAGS "-fPIC -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -mvectorize-with-neon-quad") | 24 | set(NEON_FLAGS "-fPIC -mcpu=cortex-a7") |
| 25 | elseif(CPU MATCHES "cortex-a53") | ||
| 26 | set(ARCH arm) | ||
| 27 | set(NEON True) | ||
| 28 | set(NEON_FLAGS "-fPIC -mcpu=cortex-a53") | ||
| 28 | elseif(CPU MATCHES arm) | 29 | elseif(CPU MATCHES arm) |
| 29 | set(ARCH arm) | 30 | set(ARCH arm) |
| 30 | set(NEON True) | 31 | set(NEON True) |
| 31 | set(NEON_FLAGS "-mfpu=neon -mvectorize-with-neon-quad") | ||
| 32 | elseif(CPU MATCHES aarch64 OR CPU MATCHES arm64) | 32 | elseif(CPU MATCHES aarch64 OR CPU MATCHES arm64) |
| 33 | set(ARCH aarch64) | 33 | set(ARCH aarch64) |
| 34 | set(NEON True) | 34 | set(NEON True) |
| @@ -37,6 +37,16 @@ else() | |||
| 37 | endif() | 37 | endif() |
| 38 | endif() | 38 | endif() |
| 39 | 39 | ||
| 40 | # temp until further cleanup is done | ||
| 41 | # add Raspberry Pi 2 and 3 specific flags | ||
| 42 | if(CORE_PLATFORM_NAME_LC STREQUAL rbpi) | ||
| 43 | if(CPU MATCHES "cortex-a7") | ||
| 44 | set(NEON_FLAGS "-fPIC -mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -mvectorize-with-neon-quad") | ||
| 45 | elseif(CPU MATCHES "cortex-a53") | ||
| 46 | set(NEON_FLAGS "-fPIC -mcpu=cortex-a53 -mfloat-abi=hard -mfpu=neon-fp-armv8 -mvectorize-with-neon-quad") | ||
| 47 | endif() | ||
| 48 | endif() | ||
| 49 | |||
| 40 | if((CMAKE_BUILD_TYPE STREQUAL Release OR CMAKE_BUILD_TYPE STREQUAL MinSizeRel) | 50 | if((CMAKE_BUILD_TYPE STREQUAL Release OR CMAKE_BUILD_TYPE STREQUAL MinSizeRel) |
| 41 | AND CMAKE_COMPILER_IS_GNUCXX) | 51 | AND CMAKE_COMPILER_IS_GNUCXX) |
| 42 | # Make sure we strip binaries in Release build | 52 | # Make sure we strip binaries in Release build |
| @@ -84,7 +94,7 @@ set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE") | |||
| 84 | check_symbol_exists("mkostemp" "stdlib.h" HAVE_MKOSTEMP) | 94 | check_symbol_exists("mkostemp" "stdlib.h" HAVE_MKOSTEMP) |
| 85 | set(CMAKE_REQUIRED_DEFINITIONS "") | 95 | set(CMAKE_REQUIRED_DEFINITIONS "") |
| 86 | if(HAVE_MKOSTEMP) | 96 | if(HAVE_MKOSTEMP) |
| 87 | list(APPEND ARCH_DEFINES "-DHAVE_MKOSTEMP=1" "-D_GNU_SOURCE") | 97 | list(APPEND ARCH_DEFINES "-DHAVE_MKOSTEMP=1") |
| 88 | endif() | 98 | endif() |
| 89 | 99 | ||
| 90 | # Additional SYSTEM_DEFINES | 100 | # Additional SYSTEM_DEFINES |
diff --git a/cmake/scripts/linux/ExtraTargets.cmake b/cmake/scripts/linux/ExtraTargets.cmake index 4753f73..37d196a 100644 --- a/cmake/scripts/linux/ExtraTargets.cmake +++ b/cmake/scripts/linux/ExtraTargets.cmake | |||
| @@ -17,7 +17,9 @@ endif() | |||
| 17 | if(CORE_PLATFORM_NAME_LC STREQUAL "wayland") | 17 | if(CORE_PLATFORM_NAME_LC STREQUAL "wayland") |
| 18 | # This cannot go into wayland.cmake since it requires the Wayland dependencies | 18 | # This cannot go into wayland.cmake since it requires the Wayland dependencies |
| 19 | # to already be resolved | 19 | # to already be resolved |
| 20 | set(PROTOCOL_XMLS "${WAYLAND_PROTOCOLS_DIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml" | 20 | set(PROTOCOL_XMLS "${WAYLANDPP_PROTOCOLS_DIR}/presentation-time.xml" |
| 21 | "${WAYLANDPP_PROTOCOLS_DIR}/xdg-shell.xml" | ||
| 22 | "${WAYLAND_PROTOCOLS_DIR}/unstable/xdg-shell/xdg-shell-unstable-v6.xml" | ||
| 21 | "${WAYLAND_PROTOCOLS_DIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml") | 23 | "${WAYLAND_PROTOCOLS_DIR}/unstable/idle-inhibit/idle-inhibit-unstable-v1.xml") |
| 22 | add_custom_command(OUTPUT "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.hpp" "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.cpp" | 24 | add_custom_command(OUTPUT "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.hpp" "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.cpp" |
| 23 | COMMAND "${WAYLANDPP_SCANNER}" ${PROTOCOL_XMLS} "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.hpp" "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.cpp" | 25 | COMMAND "${WAYLANDPP_SCANNER}" ${PROTOCOL_XMLS} "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.hpp" "${WAYLAND_EXTRA_PROTOCOL_GENERATED_DIR}/wayland-extra-protocols.cpp" |
| @@ -26,4 +28,4 @@ if(CORE_PLATFORM_NAME_LC STREQUAL "wayland") | |||
| 26 | 28 | ||
| 27 | # Dummy target for dependencies | 29 | # Dummy target for dependencies |
| 28 | add_custom_target(generate-wayland-extra-protocols DEPENDS wayland-extra-protocols.hpp) | 30 | add_custom_target(generate-wayland-extra-protocols DEPENDS wayland-extra-protocols.hpp) |
| 29 | endif() \ No newline at end of file | 31 | endif() |
diff --git a/cmake/scripts/windows/ArchSetup.cmake b/cmake/scripts/windows/ArchSetup.cmake index 8e4f61d..b3963a6 100644 --- a/cmake/scripts/windows/ArchSetup.cmake +++ b/cmake/scripts/windows/ArchSetup.cmake | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | # Minimum SDK version we support | ||
| 2 | set(VS_MINIMUM_SDK_VERSION 10.0.14393.0) | ||
| 3 | |||
| 4 | if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION VERSION_LESS VS_MINIMUM_SDK_VERSION) | ||
| 5 | message(FATAL_ERROR "Detected Windows SDK version is ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}.\n" | ||
| 6 | "Windows SDK ${VS_MINIMUM_SDK_VERSION} or higher is required.\n" | ||
| 7 | "INFO: Windows SDKs can be installed from the Visual Studio installer.") | ||
| 8 | endif() | ||
| 9 | |||
| 1 | # -------- Architecture settings --------- | 10 | # -------- Architecture settings --------- |
| 2 | 11 | ||
| 3 | if(CMAKE_SIZEOF_VOID_P EQUAL 4) | 12 | if(CMAKE_SIZEOF_VOID_P EQUAL 4) |
| @@ -12,6 +21,7 @@ endif() | |||
| 12 | # -------- Paths (mainly for find_package) --------- | 21 | # -------- Paths (mainly for find_package) --------- |
| 13 | 22 | ||
| 14 | set(PLATFORM_DIR platform/win32) | 23 | set(PLATFORM_DIR platform/win32) |
| 24 | set(APP_RENDER_SYSTEM dx11) | ||
| 15 | 25 | ||
| 16 | set(CORE_MAIN_SOURCE ${CMAKE_SOURCE_DIR}/xbmc/platform/win32/WinMain.cpp) | 26 | set(CORE_MAIN_SOURCE ${CMAKE_SOURCE_DIR}/xbmc/platform/win32/WinMain.cpp) |
| 17 | 27 | ||
| @@ -31,7 +41,7 @@ set(PYTHON_INCLUDE_DIR ${DEPENDENCIES_DIR}/include/python) | |||
| 31 | 41 | ||
| 32 | add_options(CXX ALL_BUILDS "/wd\"4996\"") | 42 | add_options(CXX ALL_BUILDS "/wd\"4996\"") |
| 33 | set(ARCH_DEFINES -D_WINDOWS -DTARGET_WINDOWS -DTARGET_WINDOWS_DESKTOP -D__SSE__ -D__SSE2__) | 43 | set(ARCH_DEFINES -D_WINDOWS -DTARGET_WINDOWS -DTARGET_WINDOWS_DESKTOP -D__SSE__ -D__SSE2__) |
| 34 | set(SYSTEM_DEFINES -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_MACROS | 44 | set(SYSTEM_DEFINES -DWIN32_LEAN_AND_MEAN -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_MACROS |
| 35 | -DTAGLIB_STATIC -DNPT_CONFIG_ENABLE_LOGGING | 45 | -DTAGLIB_STATIC -DNPT_CONFIG_ENABLE_LOGGING |
| 36 | -DPLT_HTTP_DEFAULT_USER_AGENT="UPnP/1.0 DLNADOC/1.50 Kodi" | 46 | -DPLT_HTTP_DEFAULT_USER_AGENT="UPnP/1.0 DLNADOC/1.50 Kodi" |
| 37 | -DPLT_HTTP_DEFAULT_SERVER="UPnP/1.0 DLNADOC/1.50 Kodi" | 47 | -DPLT_HTTP_DEFAULT_SERVER="UPnP/1.0 DLNADOC/1.50 Kodi" |
| @@ -43,7 +53,7 @@ if(${ARCH} STREQUAL win32) | |||
| 43 | endif() | 53 | endif() |
| 44 | 54 | ||
| 45 | # Additional SYSTEM_DEFINES | 55 | # Additional SYSTEM_DEFINES |
| 46 | list(APPEND SYSTEM_DEFINES -DHAS_IRSERVERSUITE -DHAS_WIN32_NETWORK -DHAS_FILESYSTEM_SMB) | 56 | list(APPEND SYSTEM_DEFINES -DHAS_WIN32_NETWORK -DHAS_FILESYSTEM_SMB) |
| 47 | 57 | ||
| 48 | # Make sure /FS is set for Visual Studio in order to prevent simultaneous access to pdb files. | 58 | # Make sure /FS is set for Visual Studio in order to prevent simultaneous access to pdb files. |
| 49 | if(CMAKE_GENERATOR MATCHES "Visual Studio") | 59 | if(CMAKE_GENERATOR MATCHES "Visual Studio") |
diff --git a/cmake/scripts/windows/tools/patch.cmake b/cmake/scripts/windows/tools/patch.cmake index 0a342fa..b955b4c 100644 --- a/cmake/scripts/windows/tools/patch.cmake +++ b/cmake/scripts/windows/tools/patch.cmake | |||
| @@ -2,7 +2,7 @@ find_program(PATCH_FOUND NAMES patch patch.exe) | |||
| 2 | if(PATCH_FOUND) | 2 | if(PATCH_FOUND) |
| 3 | message(STATUS "patch utility found at ${PATCH_FOUND}") | 3 | message(STATUS "patch utility found at ${PATCH_FOUND}") |
| 4 | else() | 4 | else() |
| 5 | set(PATCH_ARCHIVE_NAME "patch-2.5.9-7-bin-3") | 5 | set(PATCH_ARCHIVE_NAME "patch-2.7.6-bin") |
| 6 | set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip") | 6 | set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip") |
| 7 | set(PATCH_URL "${KODI_MIRROR}/build-deps/win32/${PATCH_ARCHIVE}") | 7 | set(PATCH_URL "${KODI_MIRROR}/build-deps/win32/${PATCH_ARCHIVE}") |
| 8 | set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE}) | 8 | set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE}) |
| @@ -28,6 +28,11 @@ else() | |||
| 28 | 28 | ||
| 29 | # copy patch.exe into the output directory | 29 | # copy patch.exe into the output directory |
| 30 | file(INSTALL ${PATCH_BINARY_PATH} DESTINATION ${ADDON_DEPENDS_PATH}/bin) | 30 | file(INSTALL ${PATCH_BINARY_PATH} DESTINATION ${ADDON_DEPENDS_PATH}/bin) |
| 31 | # copy patch depends | ||
| 32 | file(GLOB PATCH_BINARIES ${PATCH_PATH}/bin/*.dll) | ||
| 33 | if(NOT "${PATCH_BINARIES}" STREQUAL "") | ||
| 34 | file(INSTALL ${PATCH_BINARIES} DESTINATION ${ADDON_DEPENDS_PATH}/bin) | ||
| 35 | endif() | ||
| 31 | 36 | ||
| 32 | # make sure that cmake can find the copied patch.exe | 37 | # make sure that cmake can find the copied patch.exe |
| 33 | find_program(PATCH_FOUND NAMES patch patch.exe) | 38 | find_program(PATCH_FOUND NAMES patch patch.exe) |
diff --git a/cmake/scripts/windowsstore/ArchSetup.cmake b/cmake/scripts/windowsstore/ArchSetup.cmake index 6c6622c..a663bb9 100644 --- a/cmake/scripts/windowsstore/ArchSetup.cmake +++ b/cmake/scripts/windowsstore/ArchSetup.cmake | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | # Minimum SDK version we support | ||
| 2 | set(VS_MINIMUM_SDK_VERSION 10.0.14393.0) | ||
| 3 | |||
| 4 | if(CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION VERSION_LESS VS_MINIMUM_SDK_VERSION) | ||
| 5 | message(FATAL_ERROR "Detected Windows SDK version is ${CMAKE_VS_WINDOWS_TARGET_PLATFORM_VERSION}.\n" | ||
| 6 | "Windows SDK ${VS_MINIMUM_SDK_VERSION} or higher is required.\n" | ||
| 7 | "INFO: Windows SDKs can be installed from the Visual Studio installer.") | ||
| 8 | endif() | ||
| 9 | |||
| 1 | # -------- Architecture settings --------- | 10 | # -------- Architecture settings --------- |
| 2 | 11 | ||
| 3 | check_symbol_exists(_X86_ "Windows.h" _X86_) | 12 | check_symbol_exists(_X86_ "Windows.h" _X86_) |
| @@ -24,6 +33,7 @@ unset(_ARM_) | |||
| 24 | # -------- Paths (mainly for find_package) --------- | 33 | # -------- Paths (mainly for find_package) --------- |
| 25 | 34 | ||
| 26 | set(PLATFORM_DIR platform/win32) | 35 | set(PLATFORM_DIR platform/win32) |
| 36 | set(APP_RENDER_SYSTEM dx11) | ||
| 27 | set(CORE_MAIN_SOURCE ${CMAKE_SOURCE_DIR}/xbmc/platform/win10/main.cpp) | 37 | set(CORE_MAIN_SOURCE ${CMAKE_SOURCE_DIR}/xbmc/platform/win10/main.cpp) |
| 28 | 38 | ||
| 29 | # Precompiled headers fail with per target output directory. (needs CMake 3.1) | 39 | # Precompiled headers fail with per target output directory. (needs CMake 3.1) |
| @@ -57,7 +67,7 @@ set(ARCH_DEFINES -D_WINDOWS -DTARGET_WINDOWS -DTARGET_WINDOWS_STORE -DXBMC_EXPOR | |||
| 57 | if(NOT SDK_TARGET_ARCH STREQUAL arm) | 67 | if(NOT SDK_TARGET_ARCH STREQUAL arm) |
| 58 | list(APPEND ARCH_DEFINES -D__SSE__ -D__SSE2__) | 68 | list(APPEND ARCH_DEFINES -D__SSE__ -D__SSE2__) |
| 59 | endif() | 69 | endif() |
| 60 | set(SYSTEM_DEFINES -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_MACROS | 70 | set(SYSTEM_DEFINES -DWIN32_LEAN_AND_MEAN -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_MACROS |
| 61 | -DFMT_HEADER_ONLY -DTAGLIB_STATIC -DNPT_CONFIG_ENABLE_LOGGING | 71 | -DFMT_HEADER_ONLY -DTAGLIB_STATIC -DNPT_CONFIG_ENABLE_LOGGING |
| 62 | -DPLT_HTTP_DEFAULT_USER_AGENT="UPnP/1.0 DLNADOC/1.50 Kodi" | 72 | -DPLT_HTTP_DEFAULT_USER_AGENT="UPnP/1.0 DLNADOC/1.50 Kodi" |
| 63 | -DPLT_HTTP_DEFAULT_SERVER="UPnP/1.0 DLNADOC/1.50 Kodi" | 73 | -DPLT_HTTP_DEFAULT_SERVER="UPnP/1.0 DLNADOC/1.50 Kodi" |
| @@ -65,7 +75,7 @@ set(SYSTEM_DEFINES -DNOMINMAX -DHAS_DX -D__STDC_CONSTANT_MACROS | |||
| 65 | $<$<CONFIG:Debug>:-DD3D_DEBUG_INFO>) | 75 | $<$<CONFIG:Debug>:-DD3D_DEBUG_INFO>) |
| 66 | 76 | ||
| 67 | # Additional SYSTEM_DEFINES | 77 | # Additional SYSTEM_DEFINES |
| 68 | list(APPEND SYSTEM_DEFINES -DHAS_IRSERVERSUITE -DHAS_WIN10_NETWORK) | 78 | list(APPEND SYSTEM_DEFINES -DHAS_WIN10_NETWORK) |
| 69 | 79 | ||
| 70 | # The /MP option enables /FS by default. | 80 | # The /MP option enables /FS by default. |
| 71 | set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS} /ZW /EHsc /await") | 81 | set(CMAKE_CXX_FLAGS "/MP ${CMAKE_CXX_FLAGS} /ZW /EHsc /await") |
diff --git a/cmake/scripts/windowsstore/Macros.cmake b/cmake/scripts/windowsstore/Macros.cmake index 6e7d1d0..7240138 100644 --- a/cmake/scripts/windowsstore/Macros.cmake +++ b/cmake/scripts/windowsstore/Macros.cmake | |||
| @@ -128,7 +128,8 @@ macro(winstore_append_props target) | |||
| 128 | endforeach(_dll DEBUG_DLLS) | 128 | endforeach(_dll DEBUG_DLLS) |
| 129 | 129 | ||
| 130 | add_deployment_content_group($(BuildRootPath)/dlls "" *.dll "${DEBUG_DLLS_EXCLUDE}") | 130 | add_deployment_content_group($(BuildRootPath)/dlls "" *.dll "${DEBUG_DLLS_EXCLUDE}") |
| 131 | add_deployment_content_group($(BuildRootPath)/system system **/* "$(BuildRootPath)/**/*.glsl") | 131 | add_deployment_content_group($(BuildRootPath)/system system **/* "$(BuildRootPath)/**/shaders/**") |
| 132 | add_deployment_content_group($(BuildRootPath)/system/shaders system/shaders **/*.fx "") | ||
| 132 | add_deployment_content_group($(BuildRootPath)/media media **/* "") | 133 | add_deployment_content_group($(BuildRootPath)/media media **/* "") |
| 133 | add_deployment_content_group($(BuildRootPath)/userdata userdata **/* "") | 134 | add_deployment_content_group($(BuildRootPath)/userdata userdata **/* "") |
| 134 | add_deployment_content_group($(BuildRootPath)/addons addons **/* "") | 135 | add_deployment_content_group($(BuildRootPath)/addons addons **/* "") |
diff --git a/cmake/scripts/windowsstore/tools/patch.cmake b/cmake/scripts/windowsstore/tools/patch.cmake index 0a342fa..b955b4c 100644 --- a/cmake/scripts/windowsstore/tools/patch.cmake +++ b/cmake/scripts/windowsstore/tools/patch.cmake | |||
| @@ -2,7 +2,7 @@ find_program(PATCH_FOUND NAMES patch patch.exe) | |||
| 2 | if(PATCH_FOUND) | 2 | if(PATCH_FOUND) |
| 3 | message(STATUS "patch utility found at ${PATCH_FOUND}") | 3 | message(STATUS "patch utility found at ${PATCH_FOUND}") |
| 4 | else() | 4 | else() |
| 5 | set(PATCH_ARCHIVE_NAME "patch-2.5.9-7-bin-3") | 5 | set(PATCH_ARCHIVE_NAME "patch-2.7.6-bin") |
| 6 | set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip") | 6 | set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip") |
| 7 | set(PATCH_URL "${KODI_MIRROR}/build-deps/win32/${PATCH_ARCHIVE}") | 7 | set(PATCH_URL "${KODI_MIRROR}/build-deps/win32/${PATCH_ARCHIVE}") |
| 8 | set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE}) | 8 | set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE}) |
| @@ -28,6 +28,11 @@ else() | |||
| 28 | 28 | ||
| 29 | # copy patch.exe into the output directory | 29 | # copy patch.exe into the output directory |
| 30 | file(INSTALL ${PATCH_BINARY_PATH} DESTINATION ${ADDON_DEPENDS_PATH}/bin) | 30 | file(INSTALL ${PATCH_BINARY_PATH} DESTINATION ${ADDON_DEPENDS_PATH}/bin) |
| 31 | # copy patch depends | ||
| 32 | file(GLOB PATCH_BINARIES ${PATCH_PATH}/bin/*.dll) | ||
| 33 | if(NOT "${PATCH_BINARIES}" STREQUAL "") | ||
| 34 | file(INSTALL ${PATCH_BINARIES} DESTINATION ${ADDON_DEPENDS_PATH}/bin) | ||
| 35 | endif() | ||
| 31 | 36 | ||
| 32 | # make sure that cmake can find the copied patch.exe | 37 | # make sure that cmake can find the copied patch.exe |
| 33 | find_program(PATCH_FOUND NAMES patch patch.exe) | 38 | find_program(PATCH_FOUND NAMES patch patch.exe) |
diff --git a/cmake/treedata/android/subdirs.txt b/cmake/treedata/android/subdirs.txt index b56618a..7f7fef5 100644 --- a/cmake/treedata/android/subdirs.txt +++ b/cmake/treedata/android/subdirs.txt | |||
| @@ -1,16 +1,17 @@ | |||
| 1 | xbmc/cores/RetroPlayer/process/android cores/RetroPlayer/process/android | 1 | xbmc/cores/RetroPlayer/process/android cores/RetroPlayer/process/android |
| 2 | xbmc/platform/linux platform/linux | ||
| 3 | xbmc/input/touch input/touch | 2 | xbmc/input/touch input/touch |
| 4 | xbmc/input/touch/generic input/touch/generic | 3 | xbmc/input/touch/generic input/touch/generic |
| 5 | xbmc/network/linux network/linux | ||
| 6 | xbmc/network/android network/android | ||
| 7 | xbmc/peripherals/bus/linux peripherals/bus/linux | ||
| 8 | xbmc/peripherals/bus/android peripherals/bus/android | ||
| 9 | xbmc/powermanagement/android powermanagement/android | ||
| 10 | xbmc/storage/android storage/android | ||
| 11 | xbmc/filesystem/posix filesystem/posix | ||
| 12 | xbmc/utils/posix utils_posix | ||
| 13 | xbmc/windowing/android windowing/android | 4 | xbmc/windowing/android windowing/android |
| 14 | xbmc/platform/posix posix | 5 | xbmc/platform/posix platform/posix |
| 15 | xbmc/platform/android/activity android_activity | 6 | xbmc/platform/posix/filesystem platform/posix/filesystem |
| 16 | xbmc/platform/android/bionic_supplement android_bionicsupplement | 7 | xbmc/platform/posix/utils platform/posix/utils |
| 8 | xbmc/platform/linux platform/linux | ||
| 9 | xbmc/platform/linux/network platform/linux/network | ||
| 10 | xbmc/platform/linux/peripherals platform/linux/peripherals | ||
| 11 | xbmc/platform/android/activity platform/android/activity | ||
| 12 | xbmc/platform/android/bionic_supplement platform/android/bionicsupplement | ||
| 13 | xbmc/platform/android/filesystem platform/android/filesystem | ||
| 14 | xbmc/platform/android/network platform/android/network | ||
| 15 | xbmc/platform/android/peripherals platform/android/peripherals | ||
| 16 | xbmc/platform/android/powermanagement platform/android/powermanagement | ||
| 17 | xbmc/platform/android/storage platform/android/storage | ||
diff --git a/cmake/treedata/common/games.txt b/cmake/treedata/common/games.txt index b2faead..7b63f6a 100644 --- a/cmake/treedata/common/games.txt +++ b/cmake/treedata/common/games.txt | |||
| @@ -1,10 +1,12 @@ | |||
| 1 | xbmc/games games | 1 | xbmc/games games |
| 2 | xbmc/games/addons games/addons | 2 | xbmc/games/addons games/addons |
| 3 | xbmc/games/addons/input games/addons/input | ||
| 3 | xbmc/games/addons/playback games/addons/playback | 4 | xbmc/games/addons/playback games/addons/playback |
| 4 | xbmc/games/addons/savestates games/addons/savestates | 5 | xbmc/games/addons/savestates games/addons/savestates |
| 5 | xbmc/games/controllers games/controllers | 6 | xbmc/games/controllers games/controllers |
| 6 | xbmc/games/controllers/dialogs games/controllers/dialogs | 7 | xbmc/games/controllers/dialogs games/controllers/dialogs |
| 7 | xbmc/games/controllers/guicontrols games/controllers/guicontrols | 8 | xbmc/games/controllers/guicontrols games/controllers/guicontrols |
| 9 | xbmc/games/controllers/types games/controllers/types | ||
| 8 | xbmc/games/controllers/windows games/controllers/windows | 10 | xbmc/games/controllers/windows games/controllers/windows |
| 9 | xbmc/games/dialogs games/dialogs | 11 | xbmc/games/dialogs games/dialogs |
| 10 | xbmc/games/dialogs/osd games/dialogs/osd | 12 | xbmc/games/dialogs/osd games/dialogs/osd |
diff --git a/cmake/treedata/common/retroplayer.txt b/cmake/treedata/common/retroplayer.txt index 97e27b3..0239801 100644 --- a/cmake/treedata/common/retroplayer.txt +++ b/cmake/treedata/common/retroplayer.txt | |||
| @@ -1,7 +1,8 @@ | |||
| 1 | xbmc/cores/RetroPlayer cores/RetroPlayer | 1 | xbmc/cores/RetroPlayer cores/RetroPlayer |
| 2 | xbmc/cores/RetroPlayer/guibridge cores/RetroPlayer/guibridge | ||
| 2 | xbmc/cores/RetroPlayer/guicontrols cores/RetroPlayer/guicontrols | 3 | xbmc/cores/RetroPlayer/guicontrols cores/RetroPlayer/guicontrols |
| 4 | xbmc/cores/RetroPlayer/guiwindows cores/RetroPlayer/guiwindows | ||
| 3 | xbmc/cores/RetroPlayer/process cores/RetroPlayer/process | 5 | xbmc/cores/RetroPlayer/process cores/RetroPlayer/process |
| 4 | xbmc/cores/RetroPlayer/rendering cores/RetroPlayer/rendering | 6 | xbmc/cores/RetroPlayer/rendering cores/RetroPlayer/rendering |
| 5 | xbmc/cores/RetroPlayer/rendering/VideoRenderers cores/RetroPlayer/rendering/VideoRenderers | 7 | xbmc/cores/RetroPlayer/rendering/VideoRenderers cores/RetroPlayer/rendering/VideoRenderers |
| 6 | xbmc/cores/RetroPlayer/rendering/VideoShaders cores/RetroPlayer/rendering/VideoShaders | 8 | xbmc/cores/RetroPlayer/rendering/VideoShaders cores/RetroPlayer/rendering/VideoShaders |
| 7 | xbmc/cores/RetroPlayer/windows cores/RetroPlayer/windows | ||
diff --git a/cmake/treedata/common/subdirs.txt b/cmake/treedata/common/subdirs.txt index d5412b5..368f473 100644 --- a/cmake/treedata/common/subdirs.txt +++ b/cmake/treedata/common/subdirs.txt | |||
| @@ -17,8 +17,8 @@ xbmc/commons commons | |||
| 17 | xbmc/dbwrappers dbwrappers | 17 | xbmc/dbwrappers dbwrappers |
| 18 | xbmc/dialogs dialogs | 18 | xbmc/dialogs dialogs |
| 19 | xbmc/favourites favourites | 19 | xbmc/favourites favourites |
| 20 | xbmc/guiinfo guiinfo | ||
| 21 | xbmc/guilib guilib | 20 | xbmc/guilib guilib |
| 21 | xbmc/guilib/guiinfo guilib_guiinfo | ||
| 22 | xbmc/input input | 22 | xbmc/input input |
| 23 | xbmc/input/joysticks input/joysticks | 23 | xbmc/input/joysticks input/joysticks |
| 24 | xbmc/input/joysticks/dialogs input/joysticks/dialogs | 24 | xbmc/input/joysticks/dialogs input/joysticks/dialogs |
diff --git a/cmake/treedata/freebsd/subdirs.txt b/cmake/treedata/freebsd/subdirs.txt index f7651ee..fe0725c 100644 --- a/cmake/treedata/freebsd/subdirs.txt +++ b/cmake/treedata/freebsd/subdirs.txt | |||
| @@ -1,12 +1,11 @@ | |||
| 1 | xbmc/platform/linux platform/linux | 1 | xbmc/platform/posix platform/posix |
| 2 | xbmc/platform/linux/input platform/linux/input | 2 | xbmc/platform/posix/filesystem platform/posix/filesystem |
| 3 | xbmc/input/touch input/touch | 3 | xbmc/platform/posix/utils platform/posix/utils |
| 4 | xbmc/input/touch/generic input/touch/generic | 4 | xbmc/platform/linux platform/linux |
| 5 | xbmc/network/linux network/linux | 5 | xbmc/platform/linux/input platform/linux/input |
| 6 | xbmc/peripherals/bus/linux peripherals/bus/linux | 6 | xbmc/platform/linux/network platform/linux/network |
| 7 | xbmc/powermanagement/linux powermanagement/linux | 7 | xbmc/platform/linux/peripherals platform/linux/peripherals |
| 8 | xbmc/storage/linux storage/linux | 8 | xbmc/platform/linux/powermanagement platform/linux/powermanagement |
| 9 | xbmc/filesystem/posix filesystem/posix | 9 | xbmc/platform/linux/storage platform/linux/storage |
| 10 | xbmc/utils/posix utils_posix | 10 | xbmc/input/touch input/touch |
| 11 | xbmc/platform/posix posix | 11 | xbmc/input/touch/generic input/touch/generic |
| 12 | xbmc/freebsd freebsdsupport | ||
diff --git a/cmake/treedata/ios/subdirs.txt b/cmake/treedata/ios/subdirs.txt index 00f5cf1..a287418 100644 --- a/cmake/treedata/ios/subdirs.txt +++ b/cmake/treedata/ios/subdirs.txt | |||
| @@ -1,17 +1,17 @@ | |||
| 1 | xbmc/platform/linux platform/linux | 1 | xbmc/platform/linux platform/linux |
| 2 | xbmc/input/touch input/touch | 2 | xbmc/platform/linux/network platform/linux/network |
| 3 | xbmc/input/touch/generic input/touch/generic | 3 | xbmc/input/touch input/touch |
| 4 | xbmc/network/linux network/linux | 4 | xbmc/input/touch/generic input/touch/generic |
| 5 | xbmc/network/osx network/osx | 5 | xbmc/platform/posix posix |
| 6 | xbmc/peripherals/bus/osx peripherals/bus/osx | 6 | xbmc/platform/posix/filesystem platform/posix/filesystem |
| 7 | xbmc/powermanagement/osx powermanagement/osx | 7 | xbmc/platform/posix/utils platform/posix/utils |
| 8 | xbmc/storage/osx storage/osx | 8 | xbmc/platform/darwin platform/darwin |
| 9 | xbmc/platform/posix posix | 9 | xbmc/platform/darwin/ios platform/ios |
| 10 | xbmc/platform/darwin platform_darwin | 10 | xbmc/platform/darwin/ios-common platform/ios-common |
| 11 | xbmc/platform/darwin/ios platform_ios | 11 | xbmc/platform/darwin/osx/network platform/osx/network |
| 12 | xbmc/platform/darwin/ios-common platform_ios-common | 12 | xbmc/platform/darwin/osx/peripherals platform/osx/peripherals |
| 13 | xbmc/filesystem/posix filesystem/posix | 13 | xbmc/platform/darwin/osx/powermanagement platform/darwin/osx/powermanagement |
| 14 | xbmc/utils/posix utils_posix | 14 | xbmc/platform/darwin/osx/storage platform/osx/storage |
| 15 | xbmc/windowing/osx windowing/osx | 15 | xbmc/windowing/osx windowing/osx |
| 16 | xbmc/cores/RetroPlayer/process/ios cores/RetroPlayer/process/ios | 16 | xbmc/cores/RetroPlayer/process/ios cores/RetroPlayer/process/ios |
| 17 | xbmc/cores/VideoPlayer/Process/ios cores/VideoPlayer/Process/ios | 17 | xbmc/cores/VideoPlayer/Process/ios cores/VideoPlayer/Process/ios |
diff --git a/cmake/treedata/linux/subdirs.txt b/cmake/treedata/linux/subdirs.txt index b310b53..6e1d013 100644 --- a/cmake/treedata/linux/subdirs.txt +++ b/cmake/treedata/linux/subdirs.txt | |||
| @@ -1,14 +1,14 @@ | |||
| 1 | xbmc/platform/linux platform/linux | 1 | xbmc/platform/posix platform/posix |
| 2 | xbmc/platform/linux/input platform/linux/input | 2 | xbmc/platform/posix/filesystem platform/posix/filesystem |
| 3 | xbmc/input/touch input/touch | 3 | xbmc/platform/posix/utils platform/posix/utils |
| 4 | xbmc/input/touch/generic input/touch/generic | 4 | xbmc/platform/linux platform/linux |
| 5 | xbmc/network/linux network/linux | 5 | xbmc/platform/linux/input platform/linux/input |
| 6 | xbmc/peripherals/bus/linux peripherals/bus/linux | 6 | xbmc/platform/linux/network platform/linux/network |
| 7 | xbmc/powermanagement/linux powermanagement/linux | 7 | xbmc/platform/linux/peripherals platform/linux/peripherals |
| 8 | xbmc/storage/linux storage/linux | 8 | xbmc/platform/linux/powermanagement platform/linux/powermanagement |
| 9 | xbmc/filesystem/posix filesystem/posix | 9 | xbmc/platform/linux/storage platform/linux/storage |
| 10 | xbmc/utils/posix utils_posix | 10 | xbmc/input/touch input/touch |
| 11 | xbmc/platform/posix posix | 11 | xbmc/input/touch/generic input/touch/generic |
| 12 | xbmc/cores/RetroPlayer/process/rbpi cores/RetroPlayer/process/rbpi | 12 | xbmc/cores/RetroPlayer/process/rbpi cores/RetroPlayer/process/rbpi |
| 13 | xbmc/cores/VideoPlayer/Process/rbpi cores/VideoPlayer/Process/rbpi | 13 | xbmc/cores/VideoPlayer/Process/rbpi cores/VideoPlayer/Process/rbpi |
| 14 | xbmc/windowing/linux windowing/linux | 14 | xbmc/windowing/linux windowing/linux |
diff --git a/cmake/treedata/osx/subdirs.txt b/cmake/treedata/osx/subdirs.txt index 5b1b302..166a966 100644 --- a/cmake/treedata/osx/subdirs.txt +++ b/cmake/treedata/osx/subdirs.txt | |||
| @@ -1,14 +1,14 @@ | |||
| 1 | xbmc/platform/linux platform/linux | 1 | xbmc/platform/posix posix |
| 2 | xbmc/network/linux network/linux | 2 | xbmc/platform/posix/filesystem platform/posix/filesystem |
| 3 | xbmc/network/osx network/osx | 3 | xbmc/platform/posix/utils platform/posix/utils |
| 4 | xbmc/peripherals/bus/osx peripherals/bus/osx | 4 | xbmc/platform/linux platform/linux |
| 5 | xbmc/powermanagement/osx powermanagement/osx | 5 | xbmc/platform/linux/network platform/linux/network |
| 6 | xbmc/storage/osx storage/osx | 6 | xbmc/platform/darwin platform/darwin |
| 7 | xbmc/platform/posix posix | 7 | xbmc/platform/darwin/osx platform/osx |
| 8 | xbmc/platform/darwin platform_darwin | 8 | xbmc/platform/darwin/osx/network platform/osx/network |
| 9 | xbmc/platform/darwin/osx platform_osx | 9 | xbmc/platform/darwin/osx/peripherals platform/osx/peripherals |
| 10 | xbmc/filesystem/posix filesystem/posix | 10 | xbmc/platform/darwin/osx/powermanagement platform/darwin/osx/powermanagement |
| 11 | xbmc/utils/posix utils_posix | 11 | xbmc/platform/darwin/osx/storage platform/osx/storage |
| 12 | xbmc/windowing/osx windowing/osx | 12 | xbmc/windowing/osx windowing/osx |
| 13 | xbmc/cores/RetroPlayer/process/osx cores/RetroPlayer/process/osx | 13 | xbmc/cores/RetroPlayer/process/osx cores/RetroPlayer/process/osx |
| 14 | xbmc/cores/VideoPlayer/Process/osx cores/VideoPlayer/Process/osx | 14 | xbmc/cores/VideoPlayer/Process/osx cores/VideoPlayer/Process/osx |
diff --git a/cmake/treedata/windows/subdirs.txt b/cmake/treedata/windows/subdirs.txt index 8344320..a2c8c29 100644 --- a/cmake/treedata/windows/subdirs.txt +++ b/cmake/treedata/windows/subdirs.txt | |||
| @@ -1,17 +1,17 @@ | |||
| 1 | xbmc/platform/win32 platform_win32 | 1 | xbmc/platform/win32 platform/win32 |
| 2 | xbmc/input/windows input/windows | 2 | xbmc/platform/win32/input platform/win32/input |
| 3 | xbmc/input/touch input/touch | 3 | xbmc/platform/win32/filesystem platform/win32/filesystem |
| 4 | xbmc/input/touch/generic input/touch/generic | 4 | xbmc/platform/win32/network platform/win32/network |
| 5 | xbmc/network/windows network/windows | 5 | xbmc/platform/win32/peripherals platform/win32/peripherals |
| 6 | xbmc/network/mdns network/mdns | 6 | xbmc/platform/win32/powermanagement platform/win32/powermanagement |
| 7 | xbmc/peripherals/bus/win32 peripherals/bus/win32 | 7 | xbmc/platform/win32/storage platform/win32/storage |
| 8 | xbmc/powermanagement/windows powermanagement/windows | 8 | xbmc/platform/win32/utils platform/win32/utils |
| 9 | xbmc/storage/windows storage/windows | 9 | xbmc/input/touch input/touch |
| 10 | xbmc/filesystem/win32 filesystem/win32 | 10 | xbmc/input/touch/generic input/touch/generic |
| 11 | xbmc/utils/win32 utils_win32 | 11 | xbmc/network/mdns network/mdns |
| 12 | xbmc/rendering/dx rendering_dx | 12 | xbmc/rendering/dx rendering/dx |
| 13 | xbmc/threads/platform/win threads_win | 13 | xbmc/threads/platform/win threads/win |
| 14 | xbmc/windowing/windows windowing/windows | 14 | xbmc/windowing/windows windowing/windows |
| 15 | xbmc/cores/RetroPlayer/process/windows cores/RetroPlayer/process/windows | 15 | xbmc/cores/RetroPlayer/process/windows cores/RetroPlayer/process/windows |
| 16 | xbmc/cores/RetroPlayer/rendering/VideoShaders/windows cores/RetroPlayer/rendering/VideoShaders/windows | 16 | xbmc/cores/RetroPlayer/rendering/VideoShaders/windows cores/RetroPlayer/rendering/VideoShaders/windows |
| 17 | xbmc/cores/VideoPlayer/Process/windows cores/VideoPlayer/Process/windows | 17 | xbmc/cores/VideoPlayer/Process/windows cores/VideoPlayer/Process/windows |
diff --git a/cmake/treedata/windowsstore/subdirs.txt b/cmake/treedata/windowsstore/subdirs.txt index 84150d5..604be08 100644 --- a/cmake/treedata/windowsstore/subdirs.txt +++ b/cmake/treedata/windowsstore/subdirs.txt | |||
| @@ -1,16 +1,15 @@ | |||
| 1 | xbmc/platform/win10 platform_win10 | 1 | xbmc/platform/win10 platform/win10 |
| 2 | xbmc/input/windows input/windows | 2 | xbmc/platform/win10/filesystem platform/win10/filesystem |
| 3 | xbmc/input/touch input/touch | 3 | xbmc/platform/win10/network platform/win10/network |
| 4 | xbmc/input/touch/generic input/touch/generic | 4 | xbmc/platform/win10/peripherals platform/win10/peripherals |
| 5 | xbmc/network/win10 network/win10 | 5 | xbmc/platform/win10/powermanagement platfrom/win10/powermanagement |
| 6 | xbmc/network/mdns network/mdns | 6 | xbmc/platform/win10/storage platfrom/win10/storage |
| 7 | xbmc/peripherals/bus/win10 peripherals/bus/win10 | 7 | xbmc/platform/win32/filesystem platform/win32/filesystem |
| 8 | xbmc/powermanagement/win10 powermanagement/win10 | 8 | xbmc/platform/win32/utils platform/win32/utils |
| 9 | xbmc/storage/win10 storage/win10 | 9 | xbmc/input/touch input/touch |
| 10 | xbmc/filesystem/win32 filesystem/win32 | 10 | xbmc/input/touch/generic input/touch/generic |
| 11 | xbmc/filesystem/win10 filesystem/win10 | 11 | xbmc/network/mdns network/mdns |
| 12 | xbmc/utils/win32 utils_win32 | 12 | xbmc/rendering/dx rendering/dx |
| 13 | xbmc/rendering/dx rendering_dx | 13 | xbmc/threads/platform/win threads/win |
| 14 | xbmc/threads/platform/win threads_win | 14 | xbmc/windowing/win10 windowing/win10 |
| 15 | xbmc/windowing/win10 windowing/win10 | ||
| 16 | xbmc/cores/VideoPlayer/Process/windows cores/VideoPlayer/Process/windows | 15 | xbmc/cores/VideoPlayer/Process/windows cores/VideoPlayer/Process/windows |
