diff options
| author | manuel <manuel@mausz.at> | 2017-06-04 16:57:49 +0200 |
|---|---|---|
| committer | manuel <manuel@mausz.at> | 2017-06-04 16:57:49 +0200 |
| commit | f44ecaa4f27e7538ddcad66d40e543bffa2d2d86 (patch) | |
| tree | d8de60fc7e17edeb6f0921726c038ee54b281445 /project | |
| parent | ae08c8b7221bc965ac40d70e53fc8fcddb050c46 (diff) | |
| download | kodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.tar.gz kodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.tar.bz2 kodi-pvr-build-f44ecaa4f27e7538ddcad66d40e543bffa2d2d86.zip | |
sync with upstream
Diffstat (limited to 'project')
219 files changed, 0 insertions, 13012 deletions
diff --git a/project/cmake/CMakeLists.txt b/project/cmake/CMakeLists.txt deleted file mode 100644 index c70b18d..0000000 --- a/project/cmake/CMakeLists.txt +++ /dev/null | |||
| @@ -1,501 +0,0 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | ||
| 2 | project(kodi LANGUAGES CXX C ASM) | ||
| 3 | |||
| 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/modules) | ||
| 5 | if(DEPENDS_DIR) | ||
| 6 | list(APPEND CMAKE_PREFIX_PATH ${DEPENDS_DIR}) | ||
| 7 | endif() | ||
| 8 | |||
| 9 | # Set CORE_SOURCE_DIR and CORE_BUILD_DIR | ||
| 10 | get_filename_component(CORE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../.. ABSOLUTE) | ||
| 11 | set(CORE_BUILD_DIR build) | ||
| 12 | |||
| 13 | message(STATUS "Source directory: ${CORE_SOURCE_DIR}") | ||
| 14 | message(STATUS "Build directory: ${CMAKE_BINARY_DIR}") | ||
| 15 | if(CMAKE_BINARY_DIR STREQUAL CORE_SOURCE_DIR) | ||
| 16 | message(WARNING "In-source build detected. It is recommended to build out-of-source.") | ||
| 17 | endif() | ||
| 18 | |||
| 19 | # Hide messages from Check*.cmake (e.g. CheckCSourceCompiles) | ||
| 20 | if(NOT VERBOSE) | ||
| 21 | set(CMAKE_REQUIRED_QUIET ON) | ||
| 22 | endif() | ||
| 23 | |||
| 24 | # Includes | ||
| 25 | include(modules/extra/ECMEnableSanitizers.cmake) | ||
| 26 | include(scripts/common/GeneratorSetup.cmake) | ||
| 27 | include(scripts/common/AddOptions.cmake) | ||
| 28 | include(scripts/common/ArchSetup.cmake) | ||
| 29 | include(scripts/common/Macros.cmake) | ||
| 30 | include(scripts/common/ProjectMacros.cmake) | ||
| 31 | include(scripts/${CORE_SYSTEM_NAME}/PathSetup.cmake) | ||
| 32 | include(ExternalProject) | ||
| 33 | |||
| 34 | # Languages and global compiler settings | ||
| 35 | set(CMAKE_CXX_STANDARD 11) | ||
| 36 | set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
| 37 | set(CMAKE_CXX_EXTENSIONS OFF) | ||
| 38 | set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp") | ||
| 39 | |||
| 40 | # general | ||
| 41 | option(VERBOSE "Enable verbose output?" OFF) | ||
| 42 | option(ENABLE_DVDCSS "Enable libdvdcss support?" ON) | ||
| 43 | option(ENABLE_UPNP "Enable UPnP support?" ON) | ||
| 44 | option(ENABLE_NONFREE "Enable non-free components?" ON) | ||
| 45 | option(ENABLE_AIRTUNES "Enable AirTunes support?" ON) | ||
| 46 | option(ENABLE_CEC "Enable CEC support?" ON) | ||
| 47 | option(ENABLE_OPTICAL "Enable optical support?" ON) | ||
| 48 | # use ffmpeg from depends or system | ||
| 49 | option(ENABLE_INTERNAL_FFMPEG "Enable internal ffmpeg?" OFF) | ||
| 50 | if(UNIX) | ||
| 51 | option(FFMPEG_PATH "Path to external ffmpeg?" "") | ||
| 52 | option(ENABLE_INTERNAL_CROSSGUID "Enable internal crossguid?" ON) | ||
| 53 | option(ENABLE_OPENSSL "Enable OpenSSL?" ON) | ||
| 54 | option(ENABLE_SDL "Enable SDL?" OFF) | ||
| 55 | option(ENABLE_MIR "Enable MIR?" OFF) | ||
| 56 | if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL freebsd) | ||
| 57 | option(ENABLE_X11 "Enable X11 support?" ON) | ||
| 58 | option(ENABLE_AML "Enable AML?" OFF) | ||
| 59 | endif() | ||
| 60 | endif() | ||
| 61 | # System options | ||
| 62 | if(NOT WIN32) | ||
| 63 | option(WITH_ARCH "build with given arch" OFF) | ||
| 64 | option(WITH_CPU "build with given cpu" OFF) | ||
| 65 | option(ENABLE_CCACHE "Enable Ccache support" ON) | ||
| 66 | endif() | ||
| 67 | if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL rbpi) | ||
| 68 | option(ENABLE_LIRC "Enable LIRC support?" ON) | ||
| 69 | option(ENABLE_EVENTCLIENTS "Enable event clients support?" OFF) | ||
| 70 | endif() | ||
| 71 | |||
| 72 | # Build static libraries per directory | ||
| 73 | if(NOT CMAKE_GENERATOR MATCHES "Visual Studio" AND NOT CMAKE_GENERATOR STREQUAL Xcode) | ||
| 74 | set(ENABLE_STATIC_LIBS TRUE) | ||
| 75 | else() | ||
| 76 | set(ENABLE_STATIC_LIBS FALSE) | ||
| 77 | endif() | ||
| 78 | |||
| 79 | core_find_git_rev(APP_SCMID FULL) | ||
| 80 | core_find_versions() | ||
| 81 | |||
| 82 | # Dynamically loaded libraries built with the project | ||
| 83 | add_custom_target(${APP_NAME_LC}-libraries) | ||
| 84 | set(LIBRARY_FILES "" CACHE STRING "" FORCE) | ||
| 85 | mark_as_advanced(LIBRARY_FILES) | ||
| 86 | |||
| 87 | set(INCLUDES ${CORE_SOURCE_DIR} | ||
| 88 | ${CORE_SOURCE_DIR}/addons/library.xbmc.addon | ||
| 89 | ${CORE_SOURCE_DIR}/lib | ||
| 90 | ${CORE_SOURCE_DIR}/lib/gtest/include | ||
| 91 | ${CORE_SOURCE_DIR}/xbmc | ||
| 92 | ${CORE_SOURCE_DIR}/xbmc/${PLATFORM_DIR} | ||
| 93 | ${CORE_SOURCE_DIR}/xbmc/cores/VideoPlayer | ||
| 94 | ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}) | ||
| 95 | |||
| 96 | find_package(PkgConfig) | ||
| 97 | if(CMAKE_CROSSCOMPILING) | ||
| 98 | if(PKG_CONFIG_EXECUTABLE) | ||
| 99 | set(PKG_CONFIG_FOUND TRUE) | ||
| 100 | endif() | ||
| 101 | endif() | ||
| 102 | |||
| 103 | find_package(Threads REQUIRED QUIET) | ||
| 104 | list(APPEND DEPLIBS ${CMAKE_THREAD_LIBS_INIT}) | ||
| 105 | |||
| 106 | # Required dependencies | ||
| 107 | set(required_deps Sqlite3 FreeType PCRE Cpluff LibDvd | ||
| 108 | TinyXML Python Yajl | ||
| 109 | Lzo2 Fribidi TagLib FFMPEG CrossGUID) | ||
| 110 | if(NOT WIN32) | ||
| 111 | list(APPEND required_deps ZLIB) | ||
| 112 | else() | ||
| 113 | list(APPEND required_deps D3DX11Effects) | ||
| 114 | endif() | ||
| 115 | if(CORE_SYSTEM_NAME STREQUAL android) | ||
| 116 | list(APPEND required_deps Zip) | ||
| 117 | endif() | ||
| 118 | |||
| 119 | # Optional dependencies | ||
| 120 | set(optional_deps MicroHttpd MySqlClient SSH XSLT | ||
| 121 | Alsa UDEV DBus Avahi SmbClient | ||
| 122 | PulseAudio VDPAU VAAPI Bluetooth CAP) | ||
| 123 | |||
| 124 | # Required, dyloaded deps | ||
| 125 | set(required_dyload Curl ASS) | ||
| 126 | |||
| 127 | # Optional, dyloaded deps | ||
| 128 | set(dyload_optional CEC Bluray Plist NFS) | ||
| 129 | |||
| 130 | # Required by shared objects we link | ||
| 131 | set(required_dep_libs EXPAT) | ||
| 132 | |||
| 133 | # Required tools | ||
| 134 | find_package(TexturePacker REQUIRED) | ||
| 135 | find_package(JsonSchemaBuilder REQUIRED) | ||
| 136 | |||
| 137 | foreach(dep ${required_dep_libs}) | ||
| 138 | find_package(${dep} REQUIRED) | ||
| 139 | endforeach() | ||
| 140 | |||
| 141 | foreach(dep ${required_deps}) | ||
| 142 | core_require_dep(${dep}) | ||
| 143 | endforeach() | ||
| 144 | |||
| 145 | foreach(dep ${optional_deps}) | ||
| 146 | core_optional_dep(${dep}) | ||
| 147 | endforeach() | ||
| 148 | |||
| 149 | if(NOT UDEV_FOUND) | ||
| 150 | core_optional_dep(LibUSB) | ||
| 151 | endif() | ||
| 152 | |||
| 153 | foreach(dep ${required_dyload}) | ||
| 154 | core_require_dyload_dep(${dep}) | ||
| 155 | endforeach() | ||
| 156 | |||
| 157 | foreach(dep ${dyload_optional}) | ||
| 158 | core_optional_dyload_dep(${dep}) | ||
| 159 | endforeach() | ||
| 160 | |||
| 161 | if(ENABLE_OPENSSL) | ||
| 162 | core_require_dep(OpenSSL) | ||
| 163 | list(APPEND DEP_DEFINES "-DHAVE_OPENSSL=1") | ||
| 164 | endif() | ||
| 165 | |||
| 166 | if(ENABLE_UPNP) | ||
| 167 | list(APPEND DEP_DEFINES "-DUSE_UPNP=1") | ||
| 168 | endif() | ||
| 169 | |||
| 170 | if(ENABLE_NONFREE) | ||
| 171 | list(APPEND DEP_DEFINES "-DHAVE_XBMC_NONFREE=1") | ||
| 172 | endif() | ||
| 173 | |||
| 174 | if(ENABLE_OPTICAL) | ||
| 175 | list(APPEND DEP_DEFINES -DHAS_DVD_DRIVE) | ||
| 176 | core_require_dep(Cdio) | ||
| 177 | endif() | ||
| 178 | |||
| 179 | if(ENABLE_LIRC) | ||
| 180 | set(LIRC_DEVICE /dev/lircd CACHE STRING "LIRC device to use") | ||
| 181 | list(APPEND DEP_DEFINES -DLIRC_DEVICE="${LIRC_DEVICE}" -DHAVE_LIRC=1) | ||
| 182 | endif() | ||
| 183 | |||
| 184 | if(ENABLE_AIRTUNES) | ||
| 185 | find_package(Shairplay) | ||
| 186 | if(SHAIRPLAY_FOUND) | ||
| 187 | core_require_dyload_dep(Shairplay) | ||
| 188 | endif() | ||
| 189 | endif() | ||
| 190 | |||
| 191 | if(CORE_SYSTEM_NAME STREQUAL osx) | ||
| 192 | core_require_dep(Sdl) | ||
| 193 | else() | ||
| 194 | core_optional_dep(Sdl) | ||
| 195 | endif() | ||
| 196 | |||
| 197 | if(NOT WIN32) | ||
| 198 | core_optional_dep(OpenGl) | ||
| 199 | if(OPENGL_FOUND) | ||
| 200 | if(ENABLE_MIR) | ||
| 201 | core_require_dep(Mir ENABLE_MIR) | ||
| 202 | core_optional_dep(LibDRM ENABLE_MIR) | ||
| 203 | else() | ||
| 204 | core_optional_dep(X ENABLE_X11) | ||
| 205 | core_optional_dep(XRandR ENABLE_X11) | ||
| 206 | core_optional_dep(LibDRM ENABLE_X11) | ||
| 207 | endif() | ||
| 208 | else() | ||
| 209 | core_optional_dep(OpenGLES) | ||
| 210 | if(OPENGLES_FOUND) | ||
| 211 | if(ENABLE_MIR) | ||
| 212 | core_require_dep(Mir ENABLE_MIR) | ||
| 213 | core_optional_dep(LibDRM ENABLE_MIR) | ||
| 214 | else() | ||
| 215 | core_optional_dep(X ENABLE_X11) | ||
| 216 | core_optional_dep(LibDRM ENABLE_X11) | ||
| 217 | endif() | ||
| 218 | endif() | ||
| 219 | endif() | ||
| 220 | if(NOT APPLE) | ||
| 221 | core_require_dep(EGL) | ||
| 222 | endif() | ||
| 223 | endif() | ||
| 224 | |||
| 225 | if(CORE_SYSTEM_NAME STREQUAL android OR CORE_SYSTEM_NAME STREQUAL linux) | ||
| 226 | core_optional_dep(AML) | ||
| 227 | elseif(CORE_SYSTEM_NAME STREQUAL rbpi) | ||
| 228 | core_require_dep(MMAL) | ||
| 229 | endif() | ||
| 230 | |||
| 231 | if(ENABLE_CCACHE) | ||
| 232 | core_optional_dep(CCache) | ||
| 233 | endif() | ||
| 234 | |||
| 235 | # Compile Info | ||
| 236 | add_custom_command(OUTPUT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp | ||
| 237 | ${CMAKE_BINARY_DIR}/addons/xbmc.addon/addon.xml | ||
| 238 | ${CMAKE_BINARY_DIR}/addons/kodi.guilib/addon.xml | ||
| 239 | COMMAND ${CMAKE_COMMAND} -DCORE_SOURCE_DIR=${CORE_SOURCE_DIR} | ||
| 240 | -DCORE_SYSTEM_NAME=${CORE_SYSTEM_NAME} | ||
| 241 | -DCORE_BUILD_DIR=${CORE_BUILD_DIR} | ||
| 242 | -DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR} | ||
| 243 | -DARCH_DEFINES="${ARCH_DEFINES}" | ||
| 244 | -DAPP_SCMID=${APP_SCMID} | ||
| 245 | -Dprefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} | ||
| 246 | -P ${PROJECT_SOURCE_DIR}/scripts/common/GenerateVersionedFiles.cmake | ||
| 247 | DEPENDS ${CORE_SOURCE_DIR}/version.txt | ||
| 248 | ${CORE_SOURCE_DIR}/addons/xbmc.addon/addon.xml.in | ||
| 249 | ${CORE_SOURCE_DIR}/addons/kodi.guilib/addon.xml.in | ||
| 250 | ${CORE_SOURCE_DIR}/xbmc/CompileInfo.cpp.in) | ||
| 251 | list(APPEND install_data addons/xbmc.addon/addon.xml) | ||
| 252 | list(APPEND install_data addons/xbmc.json/addon.xml) | ||
| 253 | list(APPEND install_data addons/kodi.guilib/addon.xml) | ||
| 254 | add_library(compileinfo OBJECT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp) | ||
| 255 | set_target_properties(compileinfo PROPERTIES FOLDER "Build Utilities") | ||
| 256 | target_compile_options(compileinfo PRIVATE "${SYSTEM_DEFINES}") | ||
| 257 | |||
| 258 | # RC File | ||
| 259 | if(WIN32) | ||
| 260 | configure_file(${CORE_SOURCE_DIR}/xbmc/platform/win32/XBMC_PC.rc.in | ||
| 261 | ${CORE_BUILD_DIR}/xbmc/platform/win32/XBMC_PC.rc @ONLY) | ||
| 262 | add_library(resources OBJECT ${CORE_BUILD_DIR}/xbmc/platform/win32/XBMC_PC.rc) | ||
| 263 | set_target_properties(resources PROPERTIES FOLDER "Build Utilities") | ||
| 264 | target_include_directories(resources PRIVATE ${CORE_SOURCE_DIR}/tools/windows/packaging/media) | ||
| 265 | set(RESOURCES $<TARGET_OBJECTS:resources>) | ||
| 266 | endif() | ||
| 267 | |||
| 268 | include_directories(${INCLUDES} ${SYSTEM_INCLUDES}) | ||
| 269 | add_compile_options(${ARCH_DEFINES} "${SYSTEM_DEFINES}" ${DEP_DEFINES} ${PATH_DEFINES}) | ||
| 270 | |||
| 271 | set(core_DEPENDS "" CACHE STRING "" FORCE) | ||
| 272 | set(test_archives "" CACHE STRING "" FORCE) | ||
| 273 | set(test_sources "" CACHE STRING "" FORCE) | ||
| 274 | mark_as_advanced(core_DEPENDS) | ||
| 275 | mark_as_advanced(test_archives) | ||
| 276 | mark_as_advanced(test_sources) | ||
| 277 | |||
| 278 | add_subdirectory(${CORE_SOURCE_DIR}/lib/gtest ${CORE_BUILD_DIR}/gtest EXCLUDE_FROM_ALL) | ||
| 279 | set_target_properties(gtest PROPERTIES FOLDER "External Projects") | ||
| 280 | |||
| 281 | # copy files to build tree | ||
| 282 | copy_files_from_filelist_to_buildtree(${PROJECT_SOURCE_DIR}/installdata/common/*.txt | ||
| 283 | ${PROJECT_SOURCE_DIR}/installdata/${CORE_SYSTEM_NAME}/*.txt) | ||
| 284 | |||
| 285 | list(APPEND SKINS "${CORE_SOURCE_DIR}/addons/skin.estuary\;${CORE_SOURCE_DIR}") | ||
| 286 | list(APPEND SKINS "${CORE_SOURCE_DIR}/addons/skin.estouchy\;${CORE_SOURCE_DIR}") | ||
| 287 | |||
| 288 | # These are skins that are copied into place from the source tree | ||
| 289 | foreach(skin ${SKINS}) | ||
| 290 | list(GET skin 0 dir) | ||
| 291 | list(GET skin 1 relative) | ||
| 292 | copy_skin_to_buildtree(${dir} ${relative}) | ||
| 293 | endforeach() | ||
| 294 | |||
| 295 | add_custom_target(pack-skins ALL | ||
| 296 | DEPENDS TexturePacker::TexturePacker export-files ${XBT_FILES}) | ||
| 297 | set_target_properties(pack-skins PROPERTIES FOLDER "Build Utilities") | ||
| 298 | |||
| 299 | file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/system/players/VideoPlayer) | ||
| 300 | |||
| 301 | set(LIBCEC_SONAME "${CEC_SONAME}") | ||
| 302 | if(NOT CORE_SYSTEM_NAME STREQUAL windows AND NOT CORE_SYSTEM_NAME STREQUAL android) | ||
| 303 | configure_file(${CORE_SOURCE_DIR}/xbmc/DllPaths_generated.h.in | ||
| 304 | ${CORE_BUILD_DIR}/DllPaths_generated.h @ONLY) | ||
| 305 | elseif(CORE_SYSTEM_NAME STREQUAL android) | ||
| 306 | configure_file(${CORE_SOURCE_DIR}/xbmc/DllPaths_generated_android.h.in | ||
| 307 | ${CORE_BUILD_DIR}/DllPaths_generated_android.h @ONLY) | ||
| 308 | endif() | ||
| 309 | |||
| 310 | # main library (used for main binary and tests) | ||
| 311 | add_library(lib${APP_NAME_LC} STATIC $<TARGET_OBJECTS:compileinfo>) | ||
| 312 | set_target_properties(lib${APP_NAME_LC} PROPERTIES PREFIX "") | ||
| 313 | add_dependencies(lib${APP_NAME_LC} libcpluff ffmpeg dvdnav crossguid) | ||
| 314 | |||
| 315 | # Codegen | ||
| 316 | add_subdirectory(${CORE_SOURCE_DIR}/xbmc/interfaces/swig build/swig) | ||
| 317 | |||
| 318 | # Other files (IDE) | ||
| 319 | set(OTHER_FILES README.md) | ||
| 320 | |||
| 321 | # Subdirs | ||
| 322 | core_add_subdirs_from_filelist(${PROJECT_SOURCE_DIR}/treedata/common/*.txt | ||
| 323 | ${PROJECT_SOURCE_DIR}/treedata/${CORE_SYSTEM_NAME}/*.txt) | ||
| 324 | core_add_optional_subdirs_from_filelist(${PROJECT_SOURCE_DIR}/treedata/optional/common/*.txt | ||
| 325 | ${PROJECT_SOURCE_DIR}/treedata/optional/${CORE_SYSTEM_NAME}/*.txt) | ||
| 326 | |||
| 327 | target_link_libraries(lib${APP_NAME_LC} PUBLIC ${core_DEPENDS} ${SYSTEM_LDFLAGS} ${DEPLIBS} ${CMAKE_DL_LIBS}) | ||
| 328 | set_target_properties(lib${APP_NAME_LC} PROPERTIES PROJECT_LABEL "xbmc") | ||
| 329 | source_group_by_folder(lib${APP_NAME_LC} RELATIVE ${CORE_SOURCE_DIR}/xbmc) | ||
| 330 | if(WIN32) | ||
| 331 | add_precompiled_header(lib${APP_NAME_LC} pch.h ${CORE_SOURCE_DIR}/xbmc/platform/win32/pch.cpp PCH_TARGET kodi) | ||
| 332 | set_language_cxx(lib${APP_NAME_LC}) | ||
| 333 | endif() | ||
| 334 | |||
| 335 | # main binary | ||
| 336 | if(NOT CORE_SYSTEM_NAME STREQUAL android) | ||
| 337 | add_executable(${APP_NAME_LC} ${CORE_MAIN_SOURCE} "${RESOURCES}" ${OTHER_FILES}) | ||
| 338 | else() | ||
| 339 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined") | ||
| 340 | add_library(${APP_NAME_LC} SHARED ${CORE_MAIN_SOURCE} "${RESOURCES}" ${OTHER_FILES}) | ||
| 341 | endif() | ||
| 342 | add_dependencies(${APP_NAME_LC} ${APP_NAME_LC}-libraries export-files pack-skins) | ||
| 343 | whole_archive(_MAIN_LIBRARIES ${core_DEPENDS}) | ||
| 344 | target_link_libraries(${APP_NAME_LC} ${_MAIN_LIBRARIES} lib${APP_NAME_LC} ${DEPLIBS}) | ||
| 345 | unset(_MAIN_LIBRARIES) | ||
| 346 | |||
| 347 | if(WIN32) | ||
| 348 | set_target_properties(${APP_NAME_LC} PROPERTIES WIN32_EXECUTABLE ON) | ||
| 349 | set_property(DIRECTORY PROPERTY VS_STARTUP_PROJECT ${APP_NAME_LC}) | ||
| 350 | target_sources(${APP_NAME_LC} PRIVATE ${CORE_SOURCE_DIR}/xbmc/platform/win32/app.manifest) | ||
| 351 | elseif(CORE_SYSTEM_NAME STREQUAL android) | ||
| 352 | # Nothing | ||
| 353 | elseif(CORE_SYSTEM_NAME STREQUAL ios) | ||
| 354 | set_target_properties(${APP_NAME_LC} PROPERTIES OUTPUT_NAME ${APP_NAME} | ||
| 355 | MACOSX_BUNDLE_INFO_PLIST ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Info.plist.in) | ||
| 356 | else() | ||
| 357 | set_target_properties(${APP_NAME_LC} PROPERTIES SUFFIX ".bin") | ||
| 358 | endif() | ||
| 359 | |||
| 360 | # testing | ||
| 361 | copy_files_from_filelist_to_buildtree(${PROJECT_SOURCE_DIR}/installdata/test-reference-data.txt NO_INSTALL) | ||
| 362 | add_executable(${APP_NAME_LC}-test EXCLUDE_FROM_ALL ${CORE_SOURCE_DIR}/xbmc/test/xbmc-test.cpp ${test_sources}) | ||
| 363 | whole_archive(_TEST_LIBRARIES ${core_DEPENDS} gtest) | ||
| 364 | target_link_libraries(${APP_NAME_LC}-test PRIVATE ${SYSTEM_LDFLAGS} ${_TEST_LIBRARIES} lib${APP_NAME_LC} ${DEPLIBS} ${CMAKE_DL_LIBS}) | ||
| 365 | unset(_TEST_LIBRARIES) | ||
| 366 | add_dependencies(${APP_NAME_LC}-test ${APP_NAME_LC}-libraries export-files) | ||
| 367 | if(WIN32) | ||
| 368 | add_precompiled_header(${APP_NAME_LC}-test pch.h ${CORE_SOURCE_DIR}/xbmc/platform/win32/pch.cpp PCH_TARGET kodi) | ||
| 369 | endif() | ||
| 370 | |||
| 371 | # Enable unit-test related targets | ||
| 372 | if(CORE_HOST_IS_TARGET) | ||
| 373 | enable_testing() | ||
| 374 | gtest_add_tests(${APP_NAME_LC}-test "" ${test_sources}) | ||
| 375 | add_custom_target(check ${CMAKE_CTEST_COMMAND} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) | ||
| 376 | add_dependencies(check ${APP_NAME_LC}-test) | ||
| 377 | |||
| 378 | # Valgrind (memcheck) | ||
| 379 | find_program(VALGRIND_EXECUTABLE NAMES valgrind) | ||
| 380 | if(VALGRIND_EXECUTABLE) | ||
| 381 | set(CTEST_MEMORYCHECK_COMMAND ${VALGRIND_EXECUTABLE}) | ||
| 382 | set(CTEST_MEMORYCHECK_COMMAND_OPTIONS "-q --trace-children=yes --leak-check=yes --track-origins=yes") | ||
| 383 | include(CTest) | ||
| 384 | add_custom_target(check-valgrind ${CMAKE_CTEST_COMMAND} -D ExperimentalMemCheck \${ARGS} WORKING_DIRECTORY ${PROJECT_BINARY_DIR}) | ||
| 385 | add_dependencies(check-valgrind ${APP_NAME_LC}-test) | ||
| 386 | endif() | ||
| 387 | |||
| 388 | # For testing commit series | ||
| 389 | add_custom_target(check-commits ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/scripts/common/CheckCommits.cmake | ||
| 390 | -DCMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}) | ||
| 391 | set_target_properties(check-commits PROPERTIES FOLDER "Build Utilities") | ||
| 392 | |||
| 393 | # code coverage | ||
| 394 | if(CMAKE_BUILD_TYPE STREQUAL Coverage) | ||
| 395 | if(EXISTS ${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/CodeCoverage.cmake) | ||
| 396 | include(${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/CodeCoverage.cmake) | ||
| 397 | else() | ||
| 398 | message(FATAL_ERROR "Code coverage not (yet) implemented for platform ${CORE_SYSTEM_NAME}") | ||
| 399 | endif() | ||
| 400 | endif() | ||
| 401 | |||
| 402 | # Documentation | ||
| 403 | find_package(Doxygen) | ||
| 404 | if(DOXYGEN_FOUND) | ||
| 405 | add_custom_target(doc | ||
| 406 | COMMAND ${DOXYGEN_EXECUTABLE} ${CORE_SOURCE_DIR}/doxygen_resources/Doxyfile.doxy | ||
| 407 | COMMAND ${CMAKE_COMMAND} -E echo "Documentation built to: file://${CORE_SOURCE_DIR}/docs/html/index.html" | ||
| 408 | WORKING_DIRECTORY ${CORE_SOURCE_DIR}/doxygen_resources | ||
| 409 | COMMENT "Generating Doxygen documentation" VERBATIM) | ||
| 410 | endif() | ||
| 411 | endif() | ||
| 412 | |||
| 413 | # link wrapper | ||
| 414 | if(FFMPEG_LINK_EXECUTABLE) | ||
| 415 | set(CMAKE_CXX_LINK_EXECUTABLE "${FFMPEG_LINK_EXECUTABLE}") | ||
| 416 | endif() | ||
| 417 | if(FFMPEG_CREATE_SHARED_LIBRARY) | ||
| 418 | set(CMAKE_CXX_CREATE_SHARED_LIBRARY "${FFMPEG_CREATE_SHARED_LIBRARY}") | ||
| 419 | endif() | ||
| 420 | |||
| 421 | # Platform specific additional extra targets | ||
| 422 | if(EXISTS ${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/ExtraTargets.cmake) | ||
| 423 | include(${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/ExtraTargets.cmake) | ||
| 424 | endif() | ||
| 425 | |||
| 426 | include(scripts/${CORE_SYSTEM_NAME}/Install.cmake) | ||
| 427 | |||
| 428 | # Add uninstall target | ||
| 429 | if(CMAKE_GENERATOR MATCHES Makefile) | ||
| 430 | add_custom_target(uninstall COMMAND ${CMAKE_COMMAND} -P ${PROJECT_SOURCE_DIR}/scripts/common/Uninstall.cmake) | ||
| 431 | set_target_properties(uninstall PROPERTIES FOLDER "Build Utilities") | ||
| 432 | endif() | ||
| 433 | |||
| 434 | # Create target that allows to build binary-addons. | ||
| 435 | # Use make binary-addons ADDONS="visualization.spectrum" to select the addons to build. | ||
| 436 | if(CMAKE_GENERATOR STREQUAL "Unix Makefiles") | ||
| 437 | if(CMAKE_CROSSCOMPILING) | ||
| 438 | set(_cross_args CROSS_COMPILING=yes TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}) | ||
| 439 | endif() | ||
| 440 | if(NOT CORE_SYSTEM_NAME STREQUAL android) | ||
| 441 | set(_prefix ${CMAKE_BINARY_DIR}/addons) | ||
| 442 | set(_extra "CMAKE_EXTRA=-DPACKAGE_ZIP=ON") | ||
| 443 | else() | ||
| 444 | set(_prefix ${CMAKE_INSTALL_PREFIX}) | ||
| 445 | endif() | ||
| 446 | add_custom_target(binary-addons | ||
| 447 | COMMAND $(MAKE) -C ${CORE_SOURCE_DIR}/tools/depends/target/binary-addons clean | ||
| 448 | COMMAND $(MAKE) -C ${CORE_SOURCE_DIR}/tools/depends/target/binary-addons VERBOSE=1 V=99 | ||
| 449 | PREFIX=${_prefix} INSTALL_PREFIX=${_prefix} ${_cross_args} ${_extra}) | ||
| 450 | unset(_cross_args) | ||
| 451 | unset(_prefix) | ||
| 452 | endif() | ||
| 453 | |||
| 454 | # Prepare add-on build env | ||
| 455 | core_file_read_filtered(bindings ${CORE_SOURCE_DIR}/xbmc/addons/addon-bindings.mk) | ||
| 456 | foreach(binding ${bindings}) | ||
| 457 | string(REPLACE " =" ";" binding "${binding}") | ||
| 458 | string(REPLACE "+=" ";" binding "${binding}") | ||
| 459 | list(GET binding 1 header) | ||
| 460 | get_filename_component(file ${header} NAME) | ||
| 461 | configure_file(${CORE_SOURCE_DIR}/${header} ${CORE_BUILD_DIR}/include/${APP_NAME_LC}/${file} COPYONLY) | ||
| 462 | endforeach() | ||
| 463 | |||
| 464 | set(APP_LIB_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/${APP_NAME_LC}) | ||
| 465 | set(APP_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include/${APP_NAME_LC}) | ||
| 466 | set(CXX11_SWITCH "-std=c++11") | ||
| 467 | configure_file(${PROJECT_SOURCE_DIR}/KodiConfig.cmake.in | ||
| 468 | ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/${APP_NAME}Config.cmake @ONLY) | ||
| 469 | configure_file(${PROJECT_SOURCE_DIR}/scripts/common/AddonHelpers.cmake | ||
| 470 | ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/AddonHelpers.cmake COPYONLY) | ||
| 471 | configure_file(${PROJECT_SOURCE_DIR}/scripts/common/AddOptions.cmake | ||
| 472 | ${CORE_BUILD_DIR}/lib/${APP_NAME_LC}/AddOptions.cmake COPYONLY) | ||
| 473 | |||
| 474 | # Status | ||
| 475 | message(STATUS "#---- CONFIGURATION ----#") | ||
| 476 | foreach(msg ${final_message}) | ||
| 477 | message(STATUS ${msg}) | ||
| 478 | endforeach() | ||
| 479 | |||
| 480 | if(VERBOSE) | ||
| 481 | message(STATUS "\n#--------------- Internal Variables -------------#") | ||
| 482 | message(STATUS "DEPLIBS: ${DEPLIBS}") | ||
| 483 | message(STATUS "core_DEPENDS: ${core_DEPENDS}") | ||
| 484 | message(STATUS "#---------------------------------------------#") | ||
| 485 | message(STATUS "SYSTEM_LDFLAGS : ${SYSTEM_LDFLAGS}") | ||
| 486 | message(STATUS "CMAKE_DL_LIBS : ${CMAKE_DL_LIBS}") | ||
| 487 | message(STATUS "CMAKE_C_FLAGS : ${CMAKE_C_FLAGS}") | ||
| 488 | message(STATUS "CMAKE_CXX_FLAGS : ${CMAKE_CXX_FLAGS}") | ||
| 489 | message(STATUS "CMAKE_EXE_LINKER_FLAGS: ${CMAKE_EXE_LINKER_FLAGS}") | ||
| 490 | message(STATUS "#---------------------------------------------#") | ||
| 491 | message(STATUS "bindir : ${bindir}") | ||
| 492 | message(STATUS "includedir : ${includedir}") | ||
| 493 | message(STATUS "libdir : ${libdir}") | ||
| 494 | message(STATUS "datarootdir: ${datarootdir}") | ||
| 495 | message(STATUS "#---------------------------------------------#") | ||
| 496 | message(STATUS "GIT_REV: ${APP_SCMID}") | ||
| 497 | message(STATUS "#---------------------------------------------#") | ||
| 498 | message(STATUS "CPACK_GENERATOR : ${CPACK_GENERATOR}") | ||
| 499 | message(STATUS "CPACK_SOURCE_GENERATOR: ${CPACK_SOURCE_GENERATOR}") | ||
| 500 | message(STATUS "#---------------------------------------------#") | ||
| 501 | endif() | ||
diff --git a/project/cmake/KodiConfig.cmake.in b/project/cmake/KodiConfig.cmake.in deleted file mode 100644 index c02a680..0000000 --- a/project/cmake/KodiConfig.cmake.in +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | set(APP_NAME @APP_NAME@) | ||
| 2 | set(APP_NAME_LC @APP_NAME_LC@) | ||
| 3 | set(APP_NAME_UC @APP_NAME_UC@) | ||
| 4 | set(APP_VERSION_MAJOR @APP_VERSION_MAJOR@) | ||
| 5 | set(APP_VERSION_MINOR @APP_VERSION_MINOR@) | ||
| 6 | if(NOT @APP_NAME_UC@_PREFIX) | ||
| 7 | set(@APP_NAME_UC@_PREFIX @APP_PREFIX@) | ||
| 8 | endif() | ||
| 9 | if(NOT @APP_NAME_UC@_INCLUDE_DIR) | ||
| 10 | set(@APP_NAME_UC@_INCLUDE_DIR @APP_INCLUDE_DIR@) | ||
| 11 | endif() | ||
| 12 | if(NOT @APP_NAME_UC@_LIB_DIR) | ||
| 13 | set(@APP_NAME_UC@_LIB_DIR @APP_LIB_DIR@) | ||
| 14 | endif() | ||
| 15 | if(NOT @APP_NAME_UC@_DATA_DIR) | ||
| 16 | set(@APP_NAME_UC@_DATA_DIR @APP_DATA_DIR@) | ||
| 17 | endif() | ||
| 18 | if(NOT WIN32) | ||
| 19 | set(CMAKE_CXX_FLAGS "$ENV{CXXFLAGS} @CXX11_SWITCH@") | ||
| 20 | endif() | ||
| 21 | list(APPEND CMAKE_MODULE_PATH @APP_LIB_DIR@ @APP_DATA_DIR@/cmake) | ||
| 22 | |||
| 23 | string(REPLACE ";" " " ARCH_DEFINES "@ARCH_DEFINES@") | ||
| 24 | add_definitions(${ARCH_DEFINES} -DBUILD_KODI_ADDON) | ||
| 25 | |||
| 26 | if(NOT CORE_SYSTEM_NAME) | ||
| 27 | if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") | ||
| 28 | set(CORE_SYSTEM_NAME "osx") | ||
| 29 | else() | ||
| 30 | string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME) | ||
| 31 | endif() | ||
| 32 | endif() | ||
| 33 | |||
| 34 | include(AddonHelpers) | ||
diff --git a/project/cmake/README.md b/project/cmake/README.md deleted file mode 100644 index f3d727e..0000000 --- a/project/cmake/README.md +++ /dev/null | |||
| @@ -1,299 +0,0 @@ | |||
| 1 | # Kodi CMake based buildsystem | ||
| 2 | |||
| 3 | This files describes Kodi's CMake based buildsystem. CMake is a cross-platform | ||
| 4 | tool for generating makefiles as well as project files used by IDEs. | ||
| 5 | |||
| 6 | The current version of the buildsystem is capable of building and packaging | ||
| 7 | Kodi for the following platforms: | ||
| 8 | |||
| 9 | - Linux (GNU Makefiles, Ninja) | ||
| 10 | - Windows (NMake Makefiles, Visual Studio 14 (2015), Ninja) | ||
| 11 | - macOS and iOS (GNU Makefiles, Xcode, Ninja) | ||
| 12 | - Android (GNU Makefiles) | ||
| 13 | - FreeBSD (GNU Makefiles) | ||
| 14 | |||
| 15 | Before building Kodi with CMake, please ensure that you have the platform | ||
| 16 | specific dependencies installed. | ||
| 17 | |||
| 18 | While the legacy build systems typically used in-source builds it's recommended | ||
| 19 | to use out-of-source builds with CMake. The necessary runtime dependencies such | ||
| 20 | as dlls, skins and configuration files are copied over to the build directory | ||
| 21 | automatically. | ||
| 22 | |||
| 23 | ## Dependency installation | ||
| 24 | |||
| 25 | ### Linux | ||
| 26 | |||
| 27 | The dependencies required to build on Linux can be found in | ||
| 28 | [docs/README.xxx](https://github.com/xbmc/xbmc/tree/master/docs). | ||
| 29 | |||
| 30 | ### Raspberry Pi | ||
| 31 | |||
| 32 | The cross compilation environment for the Raspberry Pi as well as the | ||
| 33 | dependencies have to be installed as explained in | ||
| 34 | [docs/README.raspberrypi](https://github.com/xbmc/xbmc/tree/master/docs/README.raspberrypi). | ||
| 35 | |||
| 36 | ### Windows | ||
| 37 | |||
| 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 | ||
| 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 | |||
| 42 | On Windows, the CMake based buildsystem requires that the binary dependencies | ||
| 43 | are downloaded using `DownloadBuildDeps.bat` and `DownloadMingwBuildEnv.bat` | ||
| 44 | and that the mingw libs (ffmpeg, libdvd and others) are built using | ||
| 45 | `make-mingwlibs.bat`. | ||
| 46 | |||
| 47 | ### macOS | ||
| 48 | |||
| 49 | For macOS the required dependencies can be found in | ||
| 50 | [docs/README.osx](https://github.com/xbmc/xbmc/tree/master/docs/README.osx). | ||
| 51 | |||
| 52 | On macOS it is necessary to build the dependencies in `tools/depends` using | ||
| 53 | `./bootstrap && ./configure --host=<PLATFORM> && make`. The other steps such | ||
| 54 | as `make -C tools/depends/target/xbmc` and `make xcode_depends` are not needed | ||
| 55 | as these steps are covered already by the CMake project. | ||
| 56 | |||
| 57 | ### Android | ||
| 58 | |||
| 59 | The dependencies needed to compile for Android can be found in | ||
| 60 | [docs/README.android](https://github.com/xbmc/xbmc/tree/master/docs/README.android) | ||
| 61 | . All described steps have to be executed (except 5.2 which is replaced by the | ||
| 62 | respective CMake command below). | ||
| 63 | |||
| 64 | ## Building Kodi | ||
| 65 | |||
| 66 | This section lists the necessary commands for building Kodi with CMake. | ||
| 67 | CMake supports different generators that can be classified into two categories: | ||
| 68 | single- and multiconfiguration generators. | ||
| 69 | |||
| 70 | A single configuration generator (GNU/NMake Makefiles) generates project files | ||
| 71 | for a single build type (e.g. Debug, Release) specified at configure time. | ||
| 72 | Multi configuration generators (Visual Studio, Xcode) allow to specify the | ||
| 73 | build type at compile time. | ||
| 74 | |||
| 75 | All examples below are for out-of-source builds with Kodi checked out to | ||
| 76 | `<KODI_SRC>`: | ||
| 77 | |||
| 78 | ``` | ||
| 79 | mkdir kodi-build && cd kodi-build | ||
| 80 | ``` | ||
| 81 | |||
| 82 | ### Linux with GNU Makefiles | ||
| 83 | |||
| 84 | ``` | ||
| 85 | cmake <KODI_SRC>/project/cmake/ | ||
| 86 | cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) | ||
| 87 | ./kodi.bin | ||
| 88 | ``` | ||
| 89 | |||
| 90 | `CMAKE_BUILD_TYPE` defaults to `Release`. | ||
| 91 | |||
| 92 | #### Debian package generation | ||
| 93 | The buildsystem is capable of generating Debian packages using CPack. To generate them, `CPACK_GENERATOR` has to be set to *DEB*, i.e. executing CMake's configure step with `-DCPACK_GENERATOR=DEB`. | ||
| 94 | You should use CMake/CPack 3.6.0 or higher. Lower versions can generate the packages but package names will be mangled. | ||
| 95 | |||
| 96 | The following optional variables (which can be passed to buildsystem when executing cmake with the -D`<variable-name>=<value>` format) can be used to manipulate package type, name and version: | ||
| 97 | |||
| 98 | - `DEBIAN_PACKAGE_TYPE` controls the name and version of generated packages. Accepted values are `stable`, `unstable` and `nightly` (default is `nightly`). | ||
| 99 | - `DEBIAN_PACKAGE_EPOCH` controls package epoch (default is `2`) | ||
| 100 | - `DEBIAN_PACKAGE_VERSION` controls package version (default is `0`) | ||
| 101 | - `DEBIAN_PACKAGE_REVISION` controls package revision (no default is set) | ||
| 102 | |||
| 103 | Packages metadata can be changed simply by editing files present in the `cpack/deb` folder | ||
| 104 | A lot more variables are available (see cpack/CPackDebian.cmake file) but you shouldn't mess with them unless you know what you're doing. | ||
| 105 | |||
| 106 | Generated packages can be found in <BUILD_DIR>/packages. | ||
| 107 | |||
| 108 | ### Raspberry Pi with GNU Makefiles | ||
| 109 | |||
| 110 | ``` | ||
| 111 | cmake -DCMAKE_TOOLCHAIN_FILE=<KODI_SRC>/tools/depends/target/Toolchain.cmake <KODI_SRC>/project/cmake/ | ||
| 112 | cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) | ||
| 113 | ``` | ||
| 114 | |||
| 115 | ### Windows with Visual Studio project files | ||
| 116 | |||
| 117 | ``` | ||
| 118 | cmake -G "Visual Studio 14" <KODI_SRC>/project/cmake/ | ||
| 119 | cmake --build . --config "Debug" # or: Build solution with Visual Studio | ||
| 120 | Debug\kodi.exe | ||
| 121 | ``` | ||
| 122 | |||
| 123 | #### Windows installer generation | ||
| 124 | |||
| 125 | The script [project/Win32BuildSetup](https://github.com/xbmc/xbmc/blob/master/project/Win32BuildSetup/BuildSetup.bat) | ||
| 126 | builds an installable package for Windows. | ||
| 127 | |||
| 128 | ### Windows with NMake Makefiles | ||
| 129 | |||
| 130 | ``` | ||
| 131 | cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release <KODI_SRC>/project/cmake/ | ||
| 132 | cmake --build . # or: nmake | ||
| 133 | kodi.exe | ||
| 134 | ``` | ||
| 135 | |||
| 136 | ### macOS with GNU Makefiles | ||
| 137 | |||
| 138 | ``` | ||
| 139 | cmake -DCMAKE_TOOLCHAIN_FILE=<KODI_SRC>/tools/depends/target/Toolchain.cmake <KODI_SRC>/project/cmake/ | ||
| 140 | cmake --build . -- VERBOSE=1 -j$(sysctl -n hw.ncpu) # or: make VERBOSE=1 -j$(sysctl -n hw.ncpu) | ||
| 141 | ./kodi.bin | ||
| 142 | ``` | ||
| 143 | |||
| 144 | ### macOS with Xcode project files | ||
| 145 | |||
| 146 | ``` | ||
| 147 | cmake -DCMAKE_TOOLCHAIN_FILE=<KODI_SRC>/tools/depends/target/Toolchain.cmake -G "Xcode" <KODI_SRC>/project/cmake/ | ||
| 148 | cmake --build . --config "Release" -- -verbose -jobs $(sysctl -n hw.ncpu) # or: Build solution with Xcode | ||
| 149 | ./Release/kodi.bin | ||
| 150 | ``` | ||
| 151 | |||
| 152 | #### macOS installer generation | ||
| 153 | |||
| 154 | Afterwards an installable DMG for macOS can be built with the following command: | ||
| 155 | |||
| 156 | ``` | ||
| 157 | cmake --build . --config "Release" --target "dmg" # or: make dmg | ||
| 158 | ``` | ||
| 159 | |||
| 160 | #### iOS package generation | ||
| 161 | |||
| 162 | Consequently an installable DEB for iOS can be built with the following command: | ||
| 163 | |||
| 164 | ``` | ||
| 165 | make deb | ||
| 166 | ``` | ||
| 167 | |||
| 168 | ### Android with GNU Makefiles | ||
| 169 | |||
| 170 | ``` | ||
| 171 | cmake -DCMAKE_TOOLCHAIN_FILE=<KODI_SRC>/tools/depends/target/Toolchain.cmake <KODI_SRC>/project/cmake/ | ||
| 172 | cmake --build . -- VERBOSE=1 -j$(nproc) # or: make VERBOSE=1 -j$(nproc) | ||
| 173 | ``` | ||
| 174 | |||
| 175 | #### Android package generation | ||
| 176 | |||
| 177 | An installable APK for Android can be built with the following command: | ||
| 178 | |||
| 179 | ``` | ||
| 180 | make apk | ||
| 181 | ``` | ||
| 182 | |||
| 183 | ## Options | ||
| 184 | |||
| 185 | Kodi supports a number of build options that can enable or disable certain | ||
| 186 | functionality.i These options must be set when running CMake with | ||
| 187 | `-DENABLE_<OPTION>=<ON|OFF|AUTO`. The default is `AUTO` which enables | ||
| 188 | the option if a certain dependency is found. For example CEC support is | ||
| 189 | enabled if libCEC is available. `ON` forcefully enables the dependency | ||
| 190 | and the CMake run will fail if the related dependency is not available. | ||
| 191 | This is mostly useful for packagers. `OFF` will disable the feature. | ||
| 192 | |||
| 193 | Example for forcefully enabling VAAPI and disabling VDPAU: | ||
| 194 | |||
| 195 | ``` | ||
| 196 | cmake ... -DENABLE_VAAPI=ON -DENABLE_VDPAU=OFF ... | ||
| 197 | ``` | ||
| 198 | |||
| 199 | Example for building with external FFMPEG: | ||
| 200 | |||
| 201 | ``` | ||
| 202 | cmake ... -DFFMPEG_PATH=/opt/ffmpeg -DENABLE_INTERNAL_FFMPEG=OFF ... | ||
| 203 | ``` | ||
| 204 | |||
| 205 | For more information and an updated list of option, please check the | ||
| 206 | main [project/cmake/CMakeLists.txt](https://github.com/xbmc/xbmc/tree/master/project/cmake/CMakeLists.txt). | ||
| 207 | |||
| 208 | ## Tests | ||
| 209 | |||
| 210 | Kodi uses Google Test as its testing framework. Each test file is scanned for tests and these | ||
| 211 | are added to CTest, which is the native test driver for CMake. | ||
| 212 | |||
| 213 | This scanning happens at configuration time. If tests depend on generated support files which | ||
| 214 | should not be scanned, then those support files should be added to the SUPPORT_SOURCES | ||
| 215 | variable as opposed to SOURCES before calling core_add_test. You might want to do this where | ||
| 216 | the generated support files would not exist at configure time, or if they are so large that | ||
| 217 | scanning them would take up an unreasonable amount of configure time. | ||
| 218 | |||
| 219 | ## Extra targets | ||
| 220 | |||
| 221 | When using the makefile builds a few extra targets are defined: | ||
| 222 | |||
| 223 | - `make check` builds and executes the test suite. | ||
| 224 | - `make check-valgrind` builds and executes the test suite with valgrind memcheck. | ||
| 225 | - `make doc` builds the Doxygen documentation. | ||
| 226 | |||
| 227 | Code coverage (with Gcov, LCOV and Gcovr) can be built on Linux: | ||
| 228 | |||
| 229 | - CMake has to be executed with `-DCMAKE_BUILD_TYPE=Coverage` | ||
| 230 | - `make coverage` generates an HTML code coverage report. | ||
| 231 | - `make coverage_xml` generates an XML code coverage report. | ||
| 232 | |||
| 233 | ## Building binary addons | ||
| 234 | |||
| 235 | The CMake build system integrates with the addon build system if the GNU | ||
| 236 | Makefile generator is used. This offers an easy way to build addons for | ||
| 237 | packagers or Kodi developers who don't work on addons. | ||
| 238 | |||
| 239 | ``` | ||
| 240 | make binary-addons | ||
| 241 | ``` | ||
| 242 | |||
| 243 | Specific addons can be built with: | ||
| 244 | |||
| 245 | ``` | ||
| 246 | make binary-addons ADDONS="visualization.spectrum pvr.demo" | ||
| 247 | ``` | ||
| 248 | |||
| 249 | Addon developers can build single addons into the Kodi build directory | ||
| 250 | so that the addon can be tested with self-compiled specific versions of Kodi. | ||
| 251 | |||
| 252 | ``` | ||
| 253 | mkdir pvr.demo-build && cd pvr.demo-build | ||
| 254 | cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_PREFIX_PATH=<KODI_BUILD_DIR>/build -DKODI_BUILD_DIR=<KODI_BUILD_DIR> <pvr.demo-SRC> | ||
| 255 | make | ||
| 256 | ``` | ||
| 257 | |||
| 258 | It is recommended to specify the directories as absolute paths. If relative | ||
| 259 | paths are used, they are considered relative to the build directory in which | ||
| 260 | `cmake` was executed (aka the current working working directory). | ||
| 261 | |||
| 262 | Both methods work only for already existing addons. See this | ||
| 263 | [forum thread](http://forum.kodi.tv/showthread.php?tid=219166&pid=1934922#pid1934922) | ||
| 264 | and [addons/README.md](https://github.com/xbmc/xbmc/blob/master/project/cmake/addons/README.md) | ||
| 265 | for addon development and detailed documentation about the addon build system. | ||
| 266 | |||
| 267 | ## Sanitizers | ||
| 268 | |||
| 269 | Clang and GCC support different kinds of Sanitizers. To enable a Sanitizer call CMake with the | ||
| 270 | option `-DECM_ENABLE_SANITIZERS=’san1;san2;...'`. For more information about enabling the | ||
| 271 | Sanitizers read the documentation in | ||
| 272 | [modules/extra/ECMEnableSanitizers.cmake](https://github.com/xbmc/xbmc/tree/master/project/cmake/modules/extra/ECMEnableSanitizers.cmake). | ||
| 273 | |||
| 274 | It is also recommended to read the sections about the Sanitizers in the [Clang | ||
| 275 | documentation](http://clang.llvm.org/docs/). | ||
| 276 | |||
| 277 | ## Debugging the build | ||
| 278 | |||
| 279 | This section covers some tips that can be useful for debugging a CMake | ||
| 280 | based build. | ||
| 281 | |||
| 282 | ### Verbosity (show compiler and linker parameters) | ||
| 283 | |||
| 284 | In order to see the exact compiler commands `make` and `nmake` can be | ||
| 285 | executed with a `VERBOSE=1` parameter. | ||
| 286 | |||
| 287 | On Windows, this is unfortunately not enough because `nmake` uses | ||
| 288 | temporary files to workaround `nmake`'s command string length limitations. | ||
| 289 | In order to see verbose output the file | ||
| 290 | [Modules/Platform/Windows.cmake](https://github.com/Kitware/CMake/blob/master/Modules/Platform/Windows.cmake#L40) | ||
| 291 | in the local CMake installation has to be adapted by uncommenting these | ||
| 292 | lines: | ||
| 293 | |||
| 294 | ``` | ||
| 295 | # uncomment these out to debug nmake and borland makefiles | ||
| 296 | #set(CMAKE_START_TEMP_FILE "") | ||
| 297 | #set(CMAKE_END_TEMP_FILE "") | ||
| 298 | #set(CMAKE_VERBOSE_MAKEFILE 1) | ||
| 299 | ``` | ||
diff --git a/project/cmake/addons/CMakeLists.txt b/project/cmake/addons/CMakeLists.txt deleted file mode 100644 index 96e544b..0000000 --- a/project/cmake/addons/CMakeLists.txt +++ /dev/null | |||
| @@ -1,434 +0,0 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | ||
| 2 | project(kodi-addons) | ||
| 3 | |||
| 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) | ||
| 5 | |||
| 6 | option(ADDON_TARBALL_CACHING "Cache downloaded addon source tarballs?" ON) | ||
| 7 | if(ADDON_TARBALL_CACHING) | ||
| 8 | message(STATUS "Addon source tarball caching is enabled") | ||
| 9 | else() | ||
| 10 | message(STATUS "Addon source tarball caching is disabled") | ||
| 11 | endif() | ||
| 12 | |||
| 13 | if(NOT CMAKE_BUILD_TYPE) | ||
| 14 | set(CMAKE_BUILD_TYPE Release) | ||
| 15 | endif() | ||
| 16 | |||
| 17 | if(NOT CORE_SYSTEM_NAME) | ||
| 18 | if(CMAKE_SYSTEM_NAME STREQUAL "Darwin") | ||
| 19 | set(CORE_SYSTEM_NAME "osx") | ||
| 20 | else() | ||
| 21 | string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME) | ||
| 22 | endif() | ||
| 23 | endif() | ||
| 24 | |||
| 25 | include(ExternalProject) | ||
| 26 | |||
| 27 | ### setup all the necessary paths | ||
| 28 | if(APP_ROOT) | ||
| 29 | set(CORE_SOURCE_DIR ${APP_ROOT}) | ||
| 30 | unset(APP_ROOT) | ||
| 31 | message(WARNING "APP_ROOT is deprecated. Please use CORE_SOURCE_DIR instead.") | ||
| 32 | endif() | ||
| 33 | if(NOT CORE_SOURCE_DIR) | ||
| 34 | set(CORE_SOURCE_DIR ${PROJECT_SOURCE_DIR}/../../..) | ||
| 35 | else() | ||
| 36 | file(TO_CMAKE_PATH "${CORE_SOURCE_DIR}" CORE_SOURCE_DIR) | ||
| 37 | endif() | ||
| 38 | get_filename_component(CORE_SOURCE_DIR "${CORE_SOURCE_DIR}" ABSOLUTE) | ||
| 39 | |||
| 40 | if(NOT BUILD_DIR) | ||
| 41 | set(BUILD_DIR "${CMAKE_BINARY_DIR}/build") | ||
| 42 | else() | ||
| 43 | file(TO_CMAKE_PATH "${BUILD_DIR}" BUILD_DIR) | ||
| 44 | endif() | ||
| 45 | get_filename_component(BUILD_DIR "${BUILD_DIR}" ABSOLUTE) | ||
| 46 | |||
| 47 | if(NOT ADDON_DEPENDS_PATH) | ||
| 48 | set(ADDON_DEPENDS_PATH "${BUILD_DIR}/depends") | ||
| 49 | else() | ||
| 50 | file(TO_CMAKE_PATH "${ADDON_DEPENDS_PATH}" ADDON_DEPENDS_PATH) | ||
| 51 | endif() | ||
| 52 | get_filename_component(ADDON_DEPENDS_PATH "${ADDON_DEPENDS_PATH}" ABSOLUTE) | ||
| 53 | |||
| 54 | if(NOT PLATFORM_DIR) | ||
| 55 | set(PLATFORM_DIR ${CORE_SOURCE_DIR}/project/cmake/platform/${CORE_SYSTEM_NAME}) | ||
| 56 | file(TO_CMAKE_PATH "${PLATFORM_DIR}" PLATFORM_DIR) | ||
| 57 | endif() | ||
| 58 | |||
| 59 | # make sure CMAKE_PREFIX_PATH is set | ||
| 60 | if(NOT CMAKE_PREFIX_PATH) | ||
| 61 | set(CMAKE_PREFIX_PATH "${ADDON_DEPENDS_PATH}") | ||
| 62 | else() | ||
| 63 | file(TO_CMAKE_PATH "${CMAKE_PREFIX_PATH}" CMAKE_PREFIX_PATH) | ||
| 64 | list(APPEND CMAKE_PREFIX_PATH "${ADDON_DEPENDS_PATH}") | ||
| 65 | endif() | ||
| 66 | |||
| 67 | # check for autoconf stuff to pass on | ||
| 68 | if(AUTOCONF_FILES) | ||
| 69 | string(REPLACE " " ";" AUTOCONF_FILES ${AUTOCONF_FILES}) | ||
| 70 | set(CROSS_AUTOCONF "yes") | ||
| 71 | endif() | ||
| 72 | |||
| 73 | if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT CMAKE_INSTALL_PREFIX) | ||
| 74 | set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/output/addons") | ||
| 75 | endif() | ||
| 76 | list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}) | ||
| 77 | |||
| 78 | set(BUILD_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} | ||
| 79 | -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR> | ||
| 80 | -DPACKAGE_CONFIG_PATH=${ADDON_DEPENDS_PATH}/lib/pkgconfig | ||
| 81 | -DADDON_DEPENDS_PATH=${ADDON_DEPENDS_PATH} | ||
| 82 | -DOVERRIDE_PATHS=${OVERRIDE_PATHS} | ||
| 83 | -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} | ||
| 84 | -DCMAKE_USER_MAKE_RULES_OVERRIDE=${CMAKE_USER_MAKE_RULES_OVERRIDE} | ||
| 85 | -DCMAKE_USER_MAKE_RULES_OVERRIDE_CXX=${CMAKE_USER_MAKE_RULES_OVERRIDE_CXX} | ||
| 86 | -DCORE_SYSTEM_NAME=${CORE_SYSTEM_NAME} | ||
| 87 | -DBUILD_SHARED_LIBS=1 | ||
| 88 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} | ||
| 89 | -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}) | ||
| 90 | |||
| 91 | if(MSVC) | ||
| 92 | # move cmake specific targets to a CMakePredefinedTargets folder in Visual Studio | ||
| 93 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) | ||
| 94 | endif() | ||
| 95 | |||
| 96 | option(PACKAGE_ZIP "Prepare built addons for packaging" OFF) | ||
| 97 | if(PACKAGE_ZIP) | ||
| 98 | # needed for project installing | ||
| 99 | list(APPEND BUILD_ARGS -DPACKAGE_ZIP=ON) | ||
| 100 | |||
| 101 | # figure out where to store the packaged ZIP archives | ||
| 102 | if(NOT PACKAGE_DIR) | ||
| 103 | set(PACKAGE_DIR "${BUILD_DIR}/zips") | ||
| 104 | else() | ||
| 105 | file(TO_CMAKE_PATH "${PACKAGE_DIR}" PACKAGE_DIR) | ||
| 106 | endif() | ||
| 107 | list(APPEND BUILD_ARGS -DPACKAGE_DIR=${PACKAGE_DIR}) | ||
| 108 | |||
| 109 | message(STATUS "ZIP packaging enabled (destination: ${PACKAGE_DIR})") | ||
| 110 | endif() | ||
| 111 | |||
| 112 | if(CMAKE_TOOLCHAIN_FILE) | ||
| 113 | list(APPEND BUILD_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}) | ||
| 114 | message(STATUS "Toolchain specified") | ||
| 115 | message(STATUS ${BUILD_ARGS}) | ||
| 116 | endif() | ||
| 117 | |||
| 118 | if(NOT ADDONS_TO_BUILD) | ||
| 119 | set(ADDONS_TO_BUILD "all") | ||
| 120 | else() | ||
| 121 | string(STRIP "${ADDONS_TO_BUILD}" ADDONS_TO_BUILD) | ||
| 122 | message(STATUS "Building following addons: ${ADDONS_TO_BUILD}") | ||
| 123 | string(REPLACE " " ";" ADDONS_TO_BUILD ${ADDONS_TO_BUILD}) | ||
| 124 | endif() | ||
| 125 | |||
| 126 | if(NOT ADDONS_DEFINITION_DIR) | ||
| 127 | set(ADDONS_DEFINITION_DIR ${PROJECT_SOURCE_DIR}/addons) | ||
| 128 | else() | ||
| 129 | file(TO_CMAKE_PATH "${ADDONS_DEFINITION_DIR}" ADDONS_DEFINITION_DIR) | ||
| 130 | endif() | ||
| 131 | get_filename_component(ADDONS_DEFINITION_DIR "${ADDONS_DEFINITION_DIR}" ABSOLUTE) | ||
| 132 | |||
| 133 | if(ADDON_SRC_PREFIX) | ||
| 134 | if(NOT IS_ABSOLUTE ${ADDON_SRC_PREFIX}) | ||
| 135 | get_filename_component(ADDON_SRC_PREFIX "${CMAKE_BINARY_DIR}/${ADDON_SRC_PREFIX}" ABSOLUTE) | ||
| 136 | endif() | ||
| 137 | message(STATUS "Overriding addon source directory prefix: ${ADDON_SRC_PREFIX}") | ||
| 138 | endif() | ||
| 139 | |||
| 140 | if(NOT APP_LIB_DIR) | ||
| 141 | set(APP_LIB_DIR "${ADDON_DEPENDS_PATH}/lib/kodi") | ||
| 142 | else() | ||
| 143 | file(TO_CMAKE_PATH "${APP_LIB_DIR}" APP_LIB_DIR) | ||
| 144 | endif() | ||
| 145 | |||
| 146 | set(APP_PREFIX "${CMAKE_INSTALL_PREFIX}") | ||
| 147 | |||
| 148 | # check for platform specific stuff | ||
| 149 | if(EXISTS ${PLATFORM_DIR}/defines.txt) | ||
| 150 | file(STRINGS ${PLATFORM_DIR}/defines.txt platformdefines) | ||
| 151 | |||
| 152 | if(NOT ARCH_DEFINES AND platformdefines) | ||
| 153 | set(ARCH_DEFINES ${platformdefines}) | ||
| 154 | endif() | ||
| 155 | endif() | ||
| 156 | |||
| 157 | # include check_target_platform() function | ||
| 158 | include(${CORE_SOURCE_DIR}/project/cmake/scripts/common/CheckTargetPlatform.cmake) | ||
| 159 | |||
| 160 | set(ADDON_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}) | ||
| 161 | if(NOT WIN32) | ||
| 162 | # check install permissions | ||
| 163 | check_install_permissions(${CMAKE_INSTALL_PREFIX} can_write) | ||
| 164 | if(NOT ${can_write} AND CMAKE_SYSTEM_NAME STREQUAL "Linux") | ||
| 165 | set(NEED_SUDO TRUE) | ||
| 166 | set(ADDON_INSTALL_DIR ${CMAKE_BINARY_DIR}/.install) | ||
| 167 | list(APPEND BUILD_ARGS -DOVERRIDE_PATHS=ON) | ||
| 168 | message(STATUS "NEED_SUDO: ${NEED_SUDO} (no write permission for ${CMAKE_INSTALL_PREFIX})") | ||
| 169 | endif() | ||
| 170 | endif() | ||
| 171 | |||
| 172 | ### prepare the build environment for the binary addons | ||
| 173 | # copy the PrepareEnv.cmake script to the depends path so that we can include it | ||
| 174 | file(COPY ${CORE_SOURCE_DIR}/project/cmake/scripts/common/PrepareEnv.cmake DESTINATION ${APP_LIB_DIR}) | ||
| 175 | |||
| 176 | # add the location of PrepareEnv.cmake to CMAKE_MODULE_PATH so that it is found | ||
| 177 | list(APPEND CMAKE_MODULE_PATH ${APP_LIB_DIR}) | ||
| 178 | |||
| 179 | # include PrepareEnv.cmake which contains the logic to install the addon header bindings etc | ||
| 180 | include(PrepareEnv) | ||
| 181 | |||
| 182 | ### add the depends subdirectory for any general dependencies | ||
| 183 | message(STATUS "\n-- ---- Preparing general dependencies ----") | ||
| 184 | add_subdirectory(depends) | ||
| 185 | |||
| 186 | # add a custom target "package-addons" which will package and install all addons | ||
| 187 | add_custom_target(package-addons) | ||
| 188 | |||
| 189 | ### get and build all the binary addons | ||
| 190 | # look for all the addons to be built | ||
| 191 | file(GLOB_RECURSE addons ${ADDONS_DEFINITION_DIR}/*.txt) | ||
| 192 | |||
| 193 | #if there are no addons assume that bootstrapping hasn't happened yet | ||
| 194 | if(NOT addons) | ||
| 195 | message(STATUS "Bootstrapping all default repositories as no addons were found...") | ||
| 196 | set(BOOTSTRAP_BUILD_DIR "${BUILD_DIR}/bootstrap") | ||
| 197 | |||
| 198 | # make sure that the bootstraps build addon exists | ||
| 199 | if(NOT EXISTS ${BOOTSTRAP_BUILD_DIR}) | ||
| 200 | file(MAKE_DIRECTORY ${BOOTSTRAP_BUILD_DIR}) | ||
| 201 | endif() | ||
| 202 | |||
| 203 | string(REPLACE ";" " " ADDONS_TO_BUILD_STR "${ADDONS_TO_BUILD}") | ||
| 204 | # generate the bootstrap buildsystem | ||
| 205 | execute_process(COMMAND ${CMAKE_COMMAND} ${PROJECT_SOURCE_DIR}/bootstrap | ||
| 206 | -DCMAKE_INSTALL_PREFIX:PATH=${ADDONS_DEFINITION_DIR} | ||
| 207 | -DBUILD_DIR:PATH=${BOOTSTRAP_BUILD_DIR} | ||
| 208 | -DADDONS_TO_BUILD:STRING=${ADDONS_TO_BUILD_STR} | ||
| 209 | -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} | ||
| 210 | WORKING_DIRECTORY ${BOOTSTRAP_BUILD_DIR}) | ||
| 211 | |||
| 212 | # execute the generated bootstrap buildsystem | ||
| 213 | execute_process(COMMAND ${CMAKE_COMMAND} --build ${BOOTSTRAP_BUILD_DIR} | ||
| 214 | WORKING_DIRECTORY ${BOOTSTRAP_BUILD_DIR}) | ||
| 215 | |||
| 216 | # now look for all the addons to be built again | ||
| 217 | file(GLOB_RECURSE addons ${ADDONS_DEFINITION_DIR}/*.txt) | ||
| 218 | |||
| 219 | if(NOT addons) | ||
| 220 | message(FATAL_ERROR "No addons available to be built") | ||
| 221 | endif() | ||
| 222 | endif() | ||
| 223 | |||
| 224 | # Track if at least one addon has been found. Everything else is likely an | ||
| 225 | # error either in ADDONS_TO_BUILD or in the directory configuration. | ||
| 226 | set(SUPPORTED_ADDON_FOUND FALSE) | ||
| 227 | |||
| 228 | foreach(addon ${addons}) | ||
| 229 | if(NOT (addon MATCHES platforms.txt)) | ||
| 230 | file(STRINGS ${addon} def) | ||
| 231 | string(REPLACE " " ";" def ${def}) | ||
| 232 | list(GET def 0 id) | ||
| 233 | |||
| 234 | set(ADDON_FOUND FALSE) | ||
| 235 | # try to find a perfect match | ||
| 236 | list(FIND ADDONS_TO_BUILD ${id} idx) | ||
| 237 | if(idx GREATER -1 OR "${ADDONS_TO_BUILD}" STREQUAL "all") | ||
| 238 | set(ADDON_FOUND TRUE) | ||
| 239 | # Maybe we have a regex | ||
| 240 | elseif(id MATCHES "${ADDONS_TO_BUILD}") | ||
| 241 | message(STATUS "Pattern ${ADDONS_TO_BUILD} matches ${id}, building addon") | ||
| 242 | set(ADDON_FOUND TRUE) | ||
| 243 | endif() | ||
| 244 | |||
| 245 | if(ADDON_FOUND) | ||
| 246 | message(STATUS "\n-- ---- Configuring addon ${addon} ----") | ||
| 247 | set(SUPPORTED_ADDON_FOUND TRUE) | ||
| 248 | |||
| 249 | get_filename_component(dir ${addon} DIRECTORY) | ||
| 250 | |||
| 251 | # check if the addon has a platforms.txt | ||
| 252 | set(platform_found FALSE) | ||
| 253 | check_target_platform(${dir} ${CORE_SYSTEM_NAME} platform_found) | ||
| 254 | |||
| 255 | if(${platform_found}) | ||
| 256 | # make sure the output directory is clean | ||
| 257 | file(REMOVE_RECURSE "${CMAKE_INSTALL_PREFIX}/${id}/") | ||
| 258 | |||
| 259 | # get the URL and revision of the addon | ||
| 260 | list(LENGTH def deflength) | ||
| 261 | list(GET def 1 url) | ||
| 262 | |||
| 263 | set(archive_name ${id}) | ||
| 264 | if(ADDON_SRC_PREFIX) | ||
| 265 | set(SOURCE_DIR ${ADDON_SRC_PREFIX}/${id}) | ||
| 266 | set(archive_name "") | ||
| 267 | else() | ||
| 268 | set(SOURCE_DIR "") | ||
| 269 | endif() | ||
| 270 | |||
| 271 | # if there is a 3rd parameter in the file, we consider it a git revision | ||
| 272 | if(deflength GREATER 2 AND "${SOURCE_DIR}" STREQUAL "") | ||
| 273 | list(GET def 2 revision) | ||
| 274 | |||
| 275 | # we need access to a git executable | ||
| 276 | find_package(Git REQUIRED) | ||
| 277 | |||
| 278 | # resolve revision to git hash | ||
| 279 | execute_process(COMMAND ${GIT_EXECUTABLE} ls-remote ${url} ${revision} OUTPUT_VARIABLE revision_hash) | ||
| 280 | # git ls-remote only works on branches and tag names but not on revisions | ||
| 281 | if(NOT "${revision_hash}" STREQUAL "") | ||
| 282 | string(REPLACE "\t" ";" revision_list ${revision_hash}) | ||
| 283 | list(GET revision_list 0 revision_hash) | ||
| 284 | message(STATUS "${id}: git branch/tag ${revision} resolved to hash: ${revision_hash}") | ||
| 285 | set(revision ${revision_hash}) | ||
| 286 | endif() | ||
| 287 | |||
| 288 | # Note: downloading specific revisions via http in the format below is probably github specific | ||
| 289 | # if we ever use other repositories, this might need adapting | ||
| 290 | set(url ${url}/archive/${revision}.tar.gz) | ||
| 291 | set(archive_name ${archive_name}-${revision}) | ||
| 292 | elseif("${SOURCE_DIR}" STREQUAL "") | ||
| 293 | # check if the URL starts with file:// | ||
| 294 | string(REGEX MATCH "^file://.*$" local_url "${url}") | ||
| 295 | |||
| 296 | #if not we assume this to be a local directory | ||
| 297 | if(local_url) | ||
| 298 | # this is not an archive | ||
| 299 | set(archive_name "") | ||
| 300 | |||
| 301 | # remove the file:// protocol from the URL | ||
| 302 | string(REPLACE "file://" "" SOURCE_DIR "${url}") | ||
| 303 | |||
| 304 | # on win32 we may have to remove another leading / | ||
| 305 | if(WIN32) | ||
| 306 | # check if the path is a local path | ||
| 307 | string(REGEX MATCH "^/.*$" local_path "${SOURCE_DIR}") | ||
| 308 | if(local_path) | ||
| 309 | string(SUBSTRING "${SOURCE_DIR}" 1 -1 SOURCE_DIR) | ||
| 310 | endif() | ||
| 311 | endif() | ||
| 312 | endif() | ||
| 313 | endif() | ||
| 314 | |||
| 315 | # download the addon if necessary | ||
| 316 | if(NOT "${archive_name}" STREQUAL "") | ||
| 317 | # download and extract the addon | ||
| 318 | if(NOT ADDON_TARBALL_CACHING OR NOT EXISTS ${BUILD_DIR}/download/${archive_name}.tar.gz) | ||
| 319 | # cleanup any of the previously downloaded archives of this addon | ||
| 320 | file(GLOB archives "${BUILD_DIR}/download/${id}*.tar.gz") | ||
| 321 | if(archives) | ||
| 322 | message(STATUS "Removing old archives of ${id}: ${archives}") | ||
| 323 | file(REMOVE ${archives}) | ||
| 324 | endif() | ||
| 325 | |||
| 326 | # download the addon | ||
| 327 | file(DOWNLOAD "${url}" "${BUILD_DIR}/download/${archive_name}.tar.gz" STATUS dlstatus LOG dllog SHOW_PROGRESS) | ||
| 328 | list(GET dlstatus 0 retcode) | ||
| 329 | if(NOT ${retcode} EQUAL 0) | ||
| 330 | message(FATAL_ERROR "ERROR downloading ${url} - status: ${dlstatus} log: ${dllog}") | ||
| 331 | endif() | ||
| 332 | endif() | ||
| 333 | |||
| 334 | # remove any previously extracted version of the addon | ||
| 335 | file(REMOVE_RECURSE "${BUILD_DIR}/${id}") | ||
| 336 | |||
| 337 | # extract the addon from the archive | ||
| 338 | execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzvf ${BUILD_DIR}/download/${archive_name}.tar.gz | ||
| 339 | WORKING_DIRECTORY ${BUILD_DIR}) | ||
| 340 | file(GLOB extract_dir "${BUILD_DIR}/${archive_name}*") | ||
| 341 | if(extract_dir STREQUAL "") | ||
| 342 | message(FATAL_ERROR "${id}: error extracting ${BUILD_DIR}/download/${archive_name}.tar.gz") | ||
| 343 | else() | ||
| 344 | file(RENAME "${extract_dir}" "${BUILD_DIR}/${id}") | ||
| 345 | endif() | ||
| 346 | |||
| 347 | set(SOURCE_DIR ${BUILD_DIR}/${id}) | ||
| 348 | endif() | ||
| 349 | |||
| 350 | if(NOT "${SOURCE_DIR}" STREQUAL "" AND EXISTS ${SOURCE_DIR}) | ||
| 351 | # create a list of addons we are building | ||
| 352 | list(APPEND ALL_ADDONS_BUILDING ${id}) | ||
| 353 | |||
| 354 | # setup the buildsystem for the addon | ||
| 355 | externalproject_add(${id} | ||
| 356 | SOURCE_DIR ${SOURCE_DIR} | ||
| 357 | INSTALL_DIR ${ADDON_INSTALL_DIR} | ||
| 358 | CMAKE_ARGS ${BUILD_ARGS}) | ||
| 359 | |||
| 360 | # add a custom step to the external project between the configure and the build step which will always | ||
| 361 | # be executed and therefore forces a re-build of all changed files | ||
| 362 | externalproject_add_step(${id} forcebuild | ||
| 363 | COMMAND ${CMAKE_COMMAND} -E echo "Force build of ${id}" | ||
| 364 | DEPENDEES configure | ||
| 365 | DEPENDERS build | ||
| 366 | ALWAYS 1) | ||
| 367 | |||
| 368 | # add "kodi-platform" as a dependency to every addon | ||
| 369 | add_dependencies(${id} kodi-platform) | ||
| 370 | |||
| 371 | set(${id}_DEPENDS_DIR ${SOURCE_DIR}/depends) | ||
| 372 | |||
| 373 | if(EXISTS ${${id}_DEPENDS_DIR}) | ||
| 374 | include(${CORE_SOURCE_DIR}/project/cmake/scripts/common/HandleDepends.cmake) | ||
| 375 | add_addon_depends(${id} ${${id}_DEPENDS_DIR}) | ||
| 376 | if(${id}_DEPS AND NOT "${${id}_DEPS}" STREQUAL "") | ||
| 377 | message(STATUS "${id} DEPENDENCIES: ${${id}_DEPS}") | ||
| 378 | add_dependencies(${id} ${${id}_DEPS}) | ||
| 379 | endif() | ||
| 380 | endif() | ||
| 381 | |||
| 382 | if(CROSS_AUTOCONF AND AUTOCONF_FILES) | ||
| 383 | if(EXISTS ${SOURCE_DIR}/bootstrap/autoreconf.txt) | ||
| 384 | file(STRINGS ${SOURCE_DIR}/bootstrap/autoreconf.txt conf_dirs) | ||
| 385 | foreach(conf_dir ${conf_dirs}) | ||
| 386 | foreach(afile ${AUTOCONF_FILES}) | ||
| 387 | message(STATUS "copying ${afile} to ${SOURCE_DIR}/${conf_dir}") | ||
| 388 | file(COPY ${afile} DESTINATION ${SOURCE_DIR}/${conf_dir}) | ||
| 389 | endforeach() | ||
| 390 | endforeach() | ||
| 391 | endif() | ||
| 392 | endif() | ||
| 393 | |||
| 394 | # create a forwarding target to the addon-package target | ||
| 395 | add_custom_target(package-${id} | ||
| 396 | COMMAND ${CMAKE_COMMAND} --build ${id}-prefix/src/${id}-build --target addon-package | ||
| 397 | DEPENDS ${id}) | ||
| 398 | add_dependencies(package-addons package-${id}) | ||
| 399 | |||
| 400 | else() | ||
| 401 | message(FATAL_ERROR "${id}: invalid or missing addon source directory at ${SOURCE_DIR}") | ||
| 402 | endif() | ||
| 403 | else() | ||
| 404 | # add a dummy target for addons that are unsupported on this platform | ||
| 405 | add_custom_target(${id} COMMAND ${CMAKE_COMMAND} -E echo "IGNORED ${id} - not supported on ${CORE_SYSTEM_NAME}\n") | ||
| 406 | endif() | ||
| 407 | endif() | ||
| 408 | endif() | ||
| 409 | endforeach() | ||
| 410 | message(STATUS "") | ||
| 411 | |||
| 412 | if(NEED_SUDO) | ||
| 413 | add_custom_target(sudo-install | ||
| 414 | COMMAND ${CMAKE_COMMAND} -E echo "sudo rights needed to install to ${CMAKE_INSTALL_PREFIX}\n" | ||
| 415 | COMMAND sudo ${CMAKE_COMMAND} -E copy_directory ${ADDON_INSTALL_DIR}/ ${CMAKE_INSTALL_PREFIX}/ | ||
| 416 | COMMAND sudo -k) | ||
| 417 | |||
| 418 | foreach(_id ${ALL_ADDONS_BUILDING}) | ||
| 419 | add_dependencies(sudo-install ${_id}) | ||
| 420 | endforeach() | ||
| 421 | message(WARNING "sudo rights needed to install to ${CMAKE_INSTALL_PREFIX}") | ||
| 422 | message(STATUS "\nplease type \"make sudo-install\"\n\n") | ||
| 423 | endif() | ||
| 424 | |||
| 425 | if(NOT SUPPORTED_ADDON_FOUND) | ||
| 426 | message(FATAL_ERROR "${ADDONS_TO_BUILD} did not match any of the supported addons. \ | ||
| 427 | A list of supported addons can be viewed by building the 'supported_addons' target. \ | ||
| 428 | Addon definitions are loaded from ADDONS_DEFINITION_DIR (${ADDONS_DEFINITION_DIR}).") | ||
| 429 | endif() | ||
| 430 | |||
| 431 | # add custom target "supported_addons" that returns all addons that are supported on this platform | ||
| 432 | string(REPLACE ";" " " ALL_ADDONS_BUILDING "${ALL_ADDONS_BUILDING}") | ||
| 433 | add_custom_target(supported_addons COMMAND ${CMAKE_COMMAND} -E echo "ALL_ADDONS_BUILDING: ${ALL_ADDONS_BUILDING}" VERBATIM) | ||
| 434 | add_custom_target(need-sudo COMMAND ${CMAKE_COMMAND} -E echo ${NEED_SUDO} VERBATIM) | ||
diff --git a/project/cmake/addons/README.md b/project/cmake/addons/README.md deleted file mode 100644 index 6470ee1..0000000 --- a/project/cmake/addons/README.md +++ /dev/null | |||
| @@ -1,65 +0,0 @@ | |||
| 1 |  | ||
| 2 | # Kodi add-ons CMake based buildsystem | ||
| 3 | This directory contains the cmake-based buildsystem for Kodi add-ons. It looks into the directory pointed to by the *ADDONS_DEFINITION_DIR* option (which defaults to the *addons* sub-directory) and parses all *.txt files recursively. Each add-on must have its own `<addon-id>.txt` file in a separate sub-directory that must follow one of the defined formats: | ||
| 4 | |||
| 5 | - `<addon-id> <git-url> <git-revision>` | ||
| 6 | - `<addon-id> <tarball-url>` | ||
| 7 | - `<addon-id> <file://path>` | ||
| 8 | |||
| 9 | where | ||
| 10 | - `<addon-id>` must be identical to the add-on's ID as defined in the add-on's addon.xml | ||
| 11 | - `<git-url>` must be the URL of the git repository containing the add-on | ||
| 12 | - `<git-revision>` must be a valid git tag/branch/commit in the add-on's git repository which will be used for the build | ||
| 13 | - `<tarball-url>` must be the URL to a .tar.gz tarball containing the add-on | ||
| 14 | - `<file://path>` must be a *file://* based path to the directory containing the add-on | ||
| 15 | |||
| 16 | ## Reserved filenames | ||
| 17 | - **platforms.txt** | ||
| 18 | |||
| 19 | List of platforms to build an add-on for (or *all*). Negating platforms is supported using a leading exclamation mark, e.g. *!windows*. | ||
| 20 | |||
| 21 | Available platforms are: linux, windows, osx, ios, android, rbpi and freebsd. | ||
| 22 | |||
| 23 | #### Attention | ||
| 24 | If no add-on definitions could be found, the buildsystem assumes that the bootstrapping of the add-on definition repositories hasn't been performed yet and automatically executes the add-on bootstrapping buildsystem located in the *bootstrap* sub-directory with the default settings (i.e. *all* add-ons from all pre-defined add-on definition repositories are bootstrapped into the directory pointed to by the *ADDONS_DEFINITION_DIR* option). | ||
| 25 | |||
| 26 | ## Buildsystem variables | ||
| 27 | The buildsystem uses the following variables (which can be passed into it when executing cmake with the -D`<variable-name>=<value>` format) to manipulate the build process: | ||
| 28 | - `ADDONS_TO_BUILD` has two variations, which are tested in order: | ||
| 29 | - a quoted, space delimited list of `<addon-id>s` that you want to build (default is *all*) | ||
| 30 | - a regular expression that every `<addon-id>` is matched against (e.g. `ADDONS_TO_BUILD="pvr.*"`) to build all pvr add-ons | ||
| 31 | - `ADDONS_DEFINITION_DIR` points to the directory containing the definitions for the addons to be built | ||
| 32 | - `ADDON_SRC_PREFIX` can be used to override the add-on repository location. It must point to the locally available parent directory of the add-on(s) to build. `<addon-id>` will be appended to this path automatically | ||
| 33 | - `CMAKE_BUILD_TYPE` specifies the type of the build. This can be either *Debug* or *Release* (default is *Release*) | ||
| 34 | - `CMAKE_INSTALL_PREFIX` points to the directory where the built add-ons and their additional files (addon.xml, resources, ...) will be installed to (defaults to `<ADDON_DEPENDS_PATH>`) | ||
| 35 | - `CMAKE_TOOLCHAIN_FILE` can be used to pass a toolchain file into the add-on builds | ||
| 36 | - `ADDON_DEPENDS_PATH` points to the directory containing the *include* and *lib* directories of the add-ons' dependencies. | ||
| 37 | - `CORE_SOURCE_DIR` points to the root directory of the project (default is the absolute representation of ../../.. starting from this directory) | ||
| 38 | - `BUILD_DIR` points to the directory where the add-ons and their dependencies will be downloaded and built | ||
| 39 | - `PACKAGE_ZIP=ON` means that the add-ons will be 'packaged' into a common folder, rather than being placed in `<CMAKE_INSTALL_PREFIX>/lib/kodi/addons` and `<CMAKE_INSTALL_PREFIX>/share/kodi/addons` | ||
| 40 | - `PACKAGE_DIR` points to the directory where the ZIP archived add-ons will be stored after they have been packaged (defaults to `<BUILD_DIR>/zips`) | ||
| 41 | - `ARCH_DEFINES` specifies the platform-specific C/C++ preprocessor defines (defaults to empty) | ||
| 42 | - `ADDON_TARBALL_CACHING` specifies whether downloaded add-on source tarballs should be cached or not (defaults to *ON*) | ||
| 43 | |||
| 44 | ## Deprecated buildsystem variables | ||
| 45 | Buildsystem will print a warning if you use any of the below-listed variables. For now they still work but you should adapt your workflow to the new variables. | ||
| 46 | - `APP_ROOT` - Use `CORE_SOURCE_DIR` instead | ||
| 47 | |||
| 48 | ## Building | ||
| 49 | The buildsystem makes some assumptions about the environment which must be met by whoever uses it: | ||
| 50 | - Any dependencies of the add-ons must already be built and their include and library files must be present in the path pointed to by `<CMAKE_PREFIX_PATH>` (in *include* and *lib* sub-directories) | ||
| 51 | |||
| 52 | To trigger the cmake-based buildsystem the following command must be executed with `<path>` set to this directory (absolute or relative) allowing for in-source and out-of-source builds | ||
| 53 | |||
| 54 | `cmake <path> -G <generator>` | ||
| 55 | |||
| 56 | CMake supports multiple generators. See [here] (https://cmake.org/cmake/help/v3.1/manual/cmake-generators.7.html) for a list. | ||
| 57 | |||
| 58 | In case of additional options the call might look like this: | ||
| 59 | |||
| 60 | cmake `<path>` [-G `<generator>`] \ | ||
| 61 | -DCMAKE_BUILD_TYPE=Release \ | ||
| 62 | -DCORE_SOURCE_DIR="`<path-to-app-root>`" \ | ||
| 63 | -DARCH_DEFINES="-DTARGET_LINUX" \ | ||
| 64 | -DADDON_DEPENDS_PATH=`<path-to-built-depends>` \ | ||
| 65 | -DCMAKE_INSTALL_PREFIX="`<path-to-install-directory`" | ||
diff --git a/project/cmake/addons/addons/pvr.dvbviewer/platforms.txt b/project/cmake/addons/addons/pvr.dvbviewer/platforms.txt deleted file mode 100644 index baa6044..0000000 --- a/project/cmake/addons/addons/pvr.dvbviewer/platforms.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | all \ No newline at end of file | ||
diff --git a/project/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt b/project/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt deleted file mode 100644 index db25aa2..0000000 --- a/project/cmake/addons/addons/pvr.dvbviewer/pvr.dvbviewer.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | pvr.dvbviewer https://github.com/manuelm/pvr.dvbviewer master \ No newline at end of file | ||
diff --git a/project/cmake/addons/bootstrap/Bootstrap.cmake b/project/cmake/addons/bootstrap/Bootstrap.cmake deleted file mode 100644 index 5d20302..0000000 --- a/project/cmake/addons/bootstrap/Bootstrap.cmake +++ /dev/null | |||
| @@ -1,39 +0,0 @@ | |||
| 1 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) | ||
| 2 | |||
| 3 | # make sure that the installation location has been specified | ||
| 4 | if(NOT CMAKE_INSTALL_PREFIX) | ||
| 5 | message(FATAL_ERROR "CMAKE_INSTALL_PREFIX has not been specified") | ||
| 6 | endif() | ||
| 7 | |||
| 8 | # figure out which addons to bootstrap (defaults to all) | ||
| 9 | if(NOT ADDONS_TO_BUILD) | ||
| 10 | set(ADDONS_TO_BUILD "all") | ||
| 11 | else() | ||
| 12 | string(STRIP "${ADDONS_TO_BUILD}" ADDONS_TO_BUILD) | ||
| 13 | message(STATUS "Bootstrapping following addons: ${ADDONS_TO_BUILD}") | ||
| 14 | string(REPLACE " " ";" ADDONS_TO_BUILD ${ADDONS_TO_BUILD}) | ||
| 15 | endif() | ||
| 16 | |||
| 17 | # find all addon definitions and go through them | ||
| 18 | file(GLOB_RECURSE ADDON_DEFINITIONS ${PROJECT_SOURCE_DIR}/*.txt) | ||
| 19 | foreach(ADDON_DEFINITION_FILE ${ADDON_DEFINITIONS}) | ||
| 20 | # ignore platforms.txt | ||
| 21 | if(NOT (ADDON_DEFINITION_FILE MATCHES platforms.txt)) | ||
| 22 | # read the addon definition file | ||
| 23 | file(STRINGS ${ADDON_DEFINITION_FILE} ADDON_DEFINITION) | ||
| 24 | string(REPLACE " " ";" ADDON_DEFINITION ${ADDON_DEFINITION}) | ||
| 25 | |||
| 26 | # extract the addon definition's identifier | ||
| 27 | list(GET ADDON_DEFINITION 0 ADDON_ID) | ||
| 28 | |||
| 29 | # check if the addon definition should be built | ||
| 30 | if(ADDON_ID MATCHES "^${ADDONS_TO_BUILD}" OR ADDONS_TO_BUILD STREQUAL all) | ||
| 31 | # get the path to the addon definition directory | ||
| 32 | get_filename_component(ADDON_DEFINITION_DIR ${ADDON_DEFINITION_FILE} DIRECTORY) | ||
| 33 | |||
| 34 | # install the addon definition | ||
| 35 | message(STATUS "Bootstrapping ${ADDON_ID} addon...") | ||
| 36 | file(INSTALL ${ADDON_DEFINITION_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX}) | ||
| 37 | endif() | ||
| 38 | endif() | ||
| 39 | endforeach() | ||
diff --git a/project/cmake/addons/bootstrap/CMakeLists.txt b/project/cmake/addons/bootstrap/CMakeLists.txt deleted file mode 100644 index c20b97e..0000000 --- a/project/cmake/addons/bootstrap/CMakeLists.txt +++ /dev/null | |||
| @@ -1,94 +0,0 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | ||
| 2 | project(kodi-addons-bootstrap) | ||
| 3 | |||
| 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) | ||
| 5 | |||
| 6 | # make sure CMAKE_INSTALL_PREFIX is properly set | ||
| 7 | if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR NOT CMAKE_INSTALL_PREFIX) | ||
| 8 | set(CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}/../addons") | ||
| 9 | endif() | ||
| 10 | list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX}) | ||
| 11 | |||
| 12 | # figure out where the build directory is located | ||
| 13 | if(NOT BUILD_DIR) | ||
| 14 | set(BUILD_DIR "${CMAKE_BINARY_DIR}/build") | ||
| 15 | else() | ||
| 16 | file(TO_CMAKE_PATH "${BUILD_DIR}" BUILD_DIR) | ||
| 17 | endif() | ||
| 18 | get_filename_component(BUILD_DIR "${BUILD_DIR}" ABSOLUTE) | ||
| 19 | |||
| 20 | # make sure that the repositories to build have been specified | ||
| 21 | if(NOT REPOSITORY_TO_BUILD) | ||
| 22 | set(REPOSITORY_TO_BUILD_DEFAULT ON) | ||
| 23 | set(REPOSITORY_TO_BUILD "all") | ||
| 24 | set(REPOSITORY_REVISION "") | ||
| 25 | message(STATUS "Bootstrapping all repositories") | ||
| 26 | else() | ||
| 27 | set(REPOSITORY_TO_BUILD_DEFAULT OFF) | ||
| 28 | message(STATUS "Bootstrapping following repository: ${REPOSITORY_TO_BUILD}") | ||
| 29 | endif() | ||
| 30 | |||
| 31 | # figure out which addons to bootstrap (defaults to all) | ||
| 32 | if(NOT ADDONS_TO_BUILD) | ||
| 33 | set(ADDONS_TO_BUILD "all") | ||
| 34 | message(STATUS "Bootstrapping all addons") | ||
| 35 | else() | ||
| 36 | message(STATUS "Bootstrapping following addons: ${ADDONS_TO_BUILD}") | ||
| 37 | endif() | ||
| 38 | |||
| 39 | include(ExternalProject) | ||
| 40 | |||
| 41 | function(bootstrap_repo repo_id repo_url repo_revision) | ||
| 42 | message(STATUS "Bootstrapping addons from ${repo_id} (${repo_url} ${repo_revision})...") | ||
| 43 | externalproject_add(${repo_id} | ||
| 44 | GIT_REPOSITORY ${repo_url} | ||
| 45 | GIT_TAG ${repo_revision} | ||
| 46 | PREFIX ${BUILD_DIR}/${repo_id} | ||
| 47 | CONFIGURE_COMMAND "" | ||
| 48 | BUILD_COMMAND "" | ||
| 49 | INSTALL_COMMAND ${CMAKE_COMMAND} | ||
| 50 | -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} | ||
| 51 | -DPROJECT_SOURCE_DIR=<SOURCE_DIR> | ||
| 52 | -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} | ||
| 53 | -DADDONS_TO_BUILD=${ADDONS_TO_BUILD} | ||
| 54 | -P ${PROJECT_SOURCE_DIR}/Bootstrap.cmake | ||
| 55 | ) | ||
| 56 | endfunction() | ||
| 57 | |||
| 58 | # look for all addons repository definitions | ||
| 59 | set(REPOSITORY_TO_BUILD_FOUND OFF) | ||
| 60 | file(GLOB repos repositories/*.txt) | ||
| 61 | foreach(repo ${repos}) | ||
| 62 | file(STRINGS ${repo} repo_definition) | ||
| 63 | string(REPLACE " " ";" repo_definition ${repo_definition}) | ||
| 64 | list(GET repo_definition 0 repo_id) | ||
| 65 | |||
| 66 | list(FIND REPOSITORY_TO_BUILD ${repo_id} idx) | ||
| 67 | if(idx GREATER -1 OR REPOSITORY_TO_BUILD STREQUAL "all") | ||
| 68 | set(REPOSITORY_TO_BUILD_FOUND ON) | ||
| 69 | |||
| 70 | # get the URL of the repository | ||
| 71 | list(GET repo_definition 1 repo_url) | ||
| 72 | |||
| 73 | # get the revision of the repository if not provided as an argument | ||
| 74 | if(NOT REPOSITORY_REVISION) | ||
| 75 | list(GET repo_definition 2 repo_revision) | ||
| 76 | else() | ||
| 77 | set(repo_revision "${REPOSITORY_REVISION}") | ||
| 78 | endif() | ||
| 79 | |||
| 80 | bootstrap_repo(${repo_id} ${repo_url} ${repo_revision}) | ||
| 81 | endif() | ||
| 82 | endforeach() | ||
| 83 | |||
| 84 | # if we have been asked to bootstrap a specific repository (not the default one) and | ||
| 85 | # it couldn't be found in the predefined repository definitions we assume that it's a | ||
| 86 | # URL to a specific repository | ||
| 87 | if(NOT REPOSITORY_TO_BUILD_DEFAULT AND NOT REPOSITORY_TO_BUILD_FOUND) | ||
| 88 | # default to the master branch if no revision has been provided | ||
| 89 | if(NOT REPOSITORY_REVISION) | ||
| 90 | set(REPOSITORY_REVISION "master") | ||
| 91 | endif() | ||
| 92 | |||
| 93 | bootstrap_repo(binary-addons-custom ${REPOSITORY_TO_BUILD} ${REPOSITORY_REVISION}) | ||
| 94 | endif() | ||
diff --git a/project/cmake/addons/bootstrap/README.md b/project/cmake/addons/bootstrap/README.md deleted file mode 100644 index b886b5b..0000000 --- a/project/cmake/addons/bootstrap/README.md +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | # KODI ADDON DEFINITIONS BOOTSTRAPPING | ||
| 2 | This directory contains the cmake-based buildsystem for addon definitions | ||
| 3 | bootstrapping which downloads the addon definitions from one or more addon | ||
| 4 | definitions repositories. These addon definitions are then used by the addon | ||
| 5 | buildsystem to figure out which addons and which versions to build. It looks | ||
| 6 | into the "repositories" sub-directory and parses all *.txt files recursively. | ||
| 7 | Each addon definitions repository must have its own <repository>.txt file which | ||
| 8 | must follow the following defined format: | ||
| 9 | ``` | ||
| 10 | <repository> <git-url> <git-revision> | ||
| 11 | ``` | ||
| 12 | where | ||
| 13 | * `<repository>` is the identification of the repository. | ||
| 14 | * `<git-url>` must be the URL of the git repository containing the addon | ||
| 15 | definitions | ||
| 16 | * `<git-revision>` must be a valid git tag/branch/commit in the addon | ||
| 17 | definitions repository's git repository which will be used for the build | ||
| 18 | |||
| 19 | The buildsystem uses the following variables (which can be passed into it when | ||
| 20 | executing cmake with the `-D<variable-name>=<value>` option): | ||
| 21 | * `CMAKE_INSTALL_PREFIX` points to the directory where the downloaded addon | ||
| 22 | definitions will be installed to (defaults to `../addons`). | ||
| 23 | * `BUILD_DIR` points to the directory where the addon definitions repositories | ||
| 24 | will be downloaded to. | ||
| 25 | * `REPOSITORY_TO_BUILD` specifies a single addon definitions repository to be | ||
| 26 | downloaded and processed (defaults to `"all"`). | ||
| 27 | * `REPOSITORY_REVISION` specifies the git revision in the addon definitions | ||
| 28 | repository which will be used for the build. This option is only valid in | ||
| 29 | combination with the `REPOSITORY_TO_BUILD` option (defaults to the git | ||
| 30 | revision specified in the repository's definition file). | ||
| 31 | * `ADDONS_TO_BUILD` is a quoted, space delimited list of `<addon-id>`s that | ||
| 32 | should be bootstrapped (default is `"all"`). | ||
| 33 | |||
| 34 | To trigger the cmake-based buildsystem the following command must be executed | ||
| 35 | with <path> being the path to this directory (absolute or relative, allowing for | ||
| 36 | in-source and out-of-source builds). | ||
| 37 | ``` | ||
| 38 | cmake <path> -G <generator> | ||
| 39 | ``` | ||
| 40 | |||
| 41 | cmake supports multiple generators, see | ||
| 42 | http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list. | ||
| 43 | |||
| 44 | In case of additional options the call might look like this | ||
| 45 | ``` | ||
| 46 | cmake <path> [-G <generator>] \ | ||
| 47 | -DCMAKE_INSTALL_PREFIX="<path-to-install-directory>" | ||
| 48 | ``` \ No newline at end of file | ||
diff --git a/project/cmake/addons/bootstrap/repositories/binary-addons.txt b/project/cmake/addons/bootstrap/repositories/binary-addons.txt deleted file mode 100644 index 8674f06..0000000 --- a/project/cmake/addons/bootstrap/repositories/binary-addons.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | binary-addons https://github.com/xbmc/repo-binary-addons.git master \ No newline at end of file | ||
diff --git a/project/cmake/addons/depends/CMakeLists.txt b/project/cmake/addons/depends/CMakeLists.txt deleted file mode 100644 index 622701d..0000000 --- a/project/cmake/addons/depends/CMakeLists.txt +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | ||
| 2 | project(kodi-addons-depends) | ||
| 3 | |||
| 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) | ||
| 5 | |||
| 6 | if(NOT CMAKE_BUILD_TYPE) | ||
| 7 | set(CMAKE_BUILD_TYPE Release) | ||
| 8 | endif() | ||
| 9 | |||
| 10 | if(NOT CORE_SYSTEM_NAME) | ||
| 11 | string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME) | ||
| 12 | endif() | ||
| 13 | |||
| 14 | include(ExternalProject) | ||
| 15 | |||
| 16 | if(NOT ADDON_DEPENDS_PATH) | ||
| 17 | set(ADDON_DEPENDS_PATH ${PROJECT_SOURCE_DIR}/../build/depends) | ||
| 18 | else() | ||
| 19 | file(TO_CMAKE_PATH "${ADDON_DEPENDS_PATH}" ADDON_DEPENDS_PATH) | ||
| 20 | endif() | ||
| 21 | get_filename_component(ADDON_DEPENDS_PATH "${ADDON_DEPENDS_PATH}" ABSOLUTE) | ||
| 22 | list(APPEND CMAKE_PREFIX_PATH ${ADDON_DEPENDS_PATH}) | ||
| 23 | |||
| 24 | if(NOT BUILD_DIR) | ||
| 25 | set(BUILD_DIR "${CMAKE_BINARY_DIR}/build") | ||
| 26 | else() | ||
| 27 | file(TO_CMAKE_PATH "${BUILD_DIR}" BUILD_DIR) | ||
| 28 | endif() | ||
| 29 | get_filename_component(BUILD_DIR "${BUILD_DIR}" ABSOLUTE) | ||
| 30 | |||
| 31 | ## use add_addon_depends to handle the cmake based dependencies | ||
| 32 | include(${CORE_SOURCE_DIR}/project/cmake/scripts/common/HandleDepends.cmake) | ||
| 33 | add_addon_depends(depends "${PROJECT_SOURCE_DIR}") | ||
| 34 | |||
| 35 | ## if there's a platform-specific sub-directory containing a CMakeLists.txt, add it to the build as well | ||
| 36 | if(EXISTS ${PROJECT_SOURCE_DIR}/${CORE_SYSTEM_NAME}/CMakeLists.txt) | ||
| 37 | message(STATUS "Processing ${CORE_SYSTEM_NAME}") | ||
| 38 | add_subdirectory(${CORE_SYSTEM_NAME}) | ||
| 39 | else() | ||
| 40 | message(STATUS "No platform specific file ${PROJECT_SOURCE_DIR}/${CORE_SYSTEM_NAME}/CMakeLists.txt found") | ||
| 41 | endif() | ||
diff --git a/project/cmake/addons/depends/README b/project/cmake/addons/depends/README deleted file mode 100644 index 584a167..0000000 --- a/project/cmake/addons/depends/README +++ /dev/null | |||
| @@ -1,61 +0,0 @@ | |||
| 1 | KODI ADDON DEPENDENCIES | ||
| 2 | ======================= | ||
| 3 | This directory contains the cmake-based buildsystem for addon dependencies. It | ||
| 4 | looks into the "common" and the "<platform>/cmake" sub-directories and parses | ||
| 5 | all *.txt files recursively. Each dependency must have its own <dependency>.txt | ||
| 6 | file (either in the main sub-directory or in a separate subdirectory of the main | ||
| 7 | subdirectory) which must follow one of the defined formats: | ||
| 8 | * an empty file means that no extra downloads are necessary | ||
| 9 | * <dependency> | ||
| 10 | * <dependency> <url> | ||
| 11 | * <dependency> <git-url> <git-revision> | ||
| 12 | where | ||
| 13 | * <dependency> must be identical to the filename | ||
| 14 | * <url> must be the URL to an archive that is downloaded and extracted. | ||
| 15 | * <git-url> must be the URL of the git repository containing the | ||
| 16 | dependency. | ||
| 17 | * <git-revision> must be a valid git tag/branch/commit in the dependency's git | ||
| 18 | repository which will be used for the build. | ||
| 19 | |||
| 20 | Reserved filenames (for additional information on how to build a dependency) | ||
| 21 | are: | ||
| 22 | * CMakeLists.txt: build instructions for the dependency | ||
| 23 | * install.txt: instructions on how to install the dependency's built files | ||
| 24 | * noinstall.txt: no installation step required (content is ignored) | ||
| 25 | * flags.txt: additional build flags | ||
| 26 | * deps.txt: whitespace separated list of dependencies of this dependency | ||
| 27 | |||
| 28 | The buildsystem uses the following variables (which can be passed into it when | ||
| 29 | executing cmake with the -D<variable-name>=<value> option) to e.g. access | ||
| 30 | specific paths: | ||
| 31 | * CMAKE_BUILD_TYPE specifies the type of the build. This can be either "Debug" | ||
| 32 | or "Release" (default is "Release"). | ||
| 33 | * CMAKE_TOOLCHAIN_FILE can be used to pass a toolchain file into the add-on | ||
| 34 | builds. | ||
| 35 | * CORE_SYSTEM_NAME is the name of the platform (e.g. "linux" or "android") in | ||
| 36 | lower-case (defaults to lowercase(CMAKE_SYSTEM_NAME)). | ||
| 37 | * CORE_SOURCE_DIR points to the root directory of the project (default is the | ||
| 38 | absolute representation of ../../.. starting from this directory). | ||
| 39 | * ADDON_DEPENDS_PATH points to the directory where the built dependencies | ||
| 40 | (their include and library file) will be installed to. | ||
| 41 | * ARCH_DEFINES specifies the platform-specific C/C++ preprocessor defines | ||
| 42 | (defaults to empty). | ||
| 43 | * DEPENDS_TO_BUILD is a quoted, space delimited list of <dependency>s that | ||
| 44 | you want to build (default is "all"). | ||
| 45 | |||
| 46 | To trigger the cmake-based buildsystem the following command must be executed | ||
| 47 | with <path> being the path to this directory (absolute or relative, allowing for | ||
| 48 | in-source and out-of-source builds). | ||
| 49 | |||
| 50 | cmake <path> -G <generator> | ||
| 51 | |||
| 52 | cmake supports multiple generators, see | ||
| 53 | http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list. | ||
| 54 | |||
| 55 | In case of additional options the call might look like this | ||
| 56 | |||
| 57 | cmake <path> [-G <generator>] \ | ||
| 58 | -DCMAKE_BUILD_TYPE=Release \ | ||
| 59 | -DCORE_SOURCE_DIR="<path-to-project-root>" \ | ||
| 60 | -DARCH_DEFINES="-DTARGET_LINUX" \ | ||
| 61 | -DCMAKE_INSTALL_PREFIX="<path-to-install-directory" | ||
diff --git a/project/cmake/addons/depends/common/kodi-platform/deps.txt b/project/cmake/addons/depends/common/kodi-platform/deps.txt deleted file mode 100644 index b953815..0000000 --- a/project/cmake/addons/depends/common/kodi-platform/deps.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | tinyxml | ||
| 2 | p8-platform | ||
diff --git a/project/cmake/addons/depends/common/kodi-platform/kodi-platform.txt b/project/cmake/addons/depends/common/kodi-platform/kodi-platform.txt deleted file mode 100644 index 46ef93c..0000000 --- a/project/cmake/addons/depends/common/kodi-platform/kodi-platform.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | kodi-platform https://github.com/xbmc/kodi-platform c8188d82678fec6b784597db69a68e74ff4986b5 | ||
diff --git a/project/cmake/addons/depends/common/p8-platform/p8-platform.txt b/project/cmake/addons/depends/common/p8-platform/p8-platform.txt deleted file mode 100644 index 7db4e36..0000000 --- a/project/cmake/addons/depends/common/p8-platform/p8-platform.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | p8-platform https://github.com/Pulse-Eight/platform.git 38343e0acd6a636ac46139aa666aee4a8d1f13db | ||
diff --git a/project/cmake/addons/depends/common/tinyxml/CMakeLists.txt b/project/cmake/addons/depends/common/tinyxml/CMakeLists.txt deleted file mode 100644 index ec396ee..0000000 --- a/project/cmake/addons/depends/common/tinyxml/CMakeLists.txt +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | ||
| 2 | project(tinyxml) | ||
| 3 | |||
| 4 | set(SOURCES src/tinystr.cpp | ||
| 5 | src/tinyxml.cpp | ||
| 6 | src/tinyxmlerror.cpp | ||
| 7 | src/tinyxmlparser.cpp) | ||
| 8 | |||
| 9 | if(WIN32) | ||
| 10 | add_definitions(-DWIN32 -D_LIB) | ||
| 11 | endif() | ||
| 12 | add_definitions(-DTIXML_USE_STL) | ||
| 13 | |||
| 14 | add_library(tinyxml ${SOURCES}) | ||
| 15 | |||
| 16 | include_directories(${PROJECT_SOURCE_DIR}/include) | ||
| 17 | |||
| 18 | set(HEADERS ${PROJECT_SOURCE_DIR}/include/tinystr.h | ||
| 19 | ${PROJECT_SOURCE_DIR}/include/tinyxml.h) | ||
| 20 | |||
| 21 | install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include) | ||
| 22 | install(TARGETS tinyxml DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) | ||
diff --git a/project/cmake/addons/depends/common/tinyxml/tinyxml.txt b/project/cmake/addons/depends/common/tinyxml/tinyxml.txt deleted file mode 100644 index f8e05e8..0000000 --- a/project/cmake/addons/depends/common/tinyxml/tinyxml.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | tinyxml http://mirrors.kodi.tv/build-deps/sources/tinyxml-2.6.2_2.tar.gz | ||
diff --git a/project/cmake/addons/depends/windows/CMakeLists.txt b/project/cmake/addons/depends/windows/CMakeLists.txt deleted file mode 100644 index c8739c0..0000000 --- a/project/cmake/addons/depends/windows/CMakeLists.txt +++ /dev/null | |||
| @@ -1,52 +0,0 @@ | |||
| 1 | cmake_minimum_required(VERSION 3.1) | ||
| 2 | project(kodi-addons-depends-windows) | ||
| 3 | |||
| 4 | list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}) | ||
| 5 | |||
| 6 | if(NOT CMAKE_BUILD_TYPE) | ||
| 7 | set(CMAKE_BUILD_TYPE Release) | ||
| 8 | endif() | ||
| 9 | |||
| 10 | include(ExternalProject) | ||
| 11 | |||
| 12 | if(NOT ADDON_DEPENDS_PATH) | ||
| 13 | message(FATAL_ERROR "ADDON_DEPENDS_PATH (${ADDON_DEPENDS_PATH}) is not a valid target directory.") | ||
| 14 | else() | ||
| 15 | file(TO_CMAKE_PATH "${ADDON_DEPENDS_PATH}" ADDON_DEPENDS_PATH) | ||
| 16 | endif() | ||
| 17 | get_filename_component(ADDON_DEPENDS_PATH "${ADDON_DEPENDS_PATH}" ABSOLUTE) | ||
| 18 | list(APPEND CMAKE_PREFIX_PATH ${ADDON_DEPENDS_PATH}) | ||
| 19 | |||
| 20 | if(NOT DEPENDS_TO_BUILD) | ||
| 21 | set(DEPENDS_TO_BUILD "all") | ||
| 22 | endif() | ||
| 23 | |||
| 24 | function(add_internal id url inputfile) | ||
| 25 | externalproject_add(${id} | ||
| 26 | URL ${url} | ||
| 27 | PREFIX build/${id} | ||
| 28 | CONFIGURE_COMMAND "" | ||
| 29 | BUILD_COMMAND "" | ||
| 30 | INSTALL_COMMAND ${CMAKE_COMMAND} | ||
| 31 | -DINPUTDIR=${PROJECT_BINARY_DIR}/build/${id}/src/${id} | ||
| 32 | -DINPUTFILE=${inputfile} | ||
| 33 | -DDESTDIR=${ADDON_DEPENDS_PATH} | ||
| 34 | -P ${PROJECT_SOURCE_DIR}/Install.cmake | ||
| 35 | ) | ||
| 36 | endfunction() | ||
| 37 | |||
| 38 | file(GLOB_RECURSE download_input_files prebuilt/*.txt) | ||
| 39 | foreach(file ${download_input_files}) | ||
| 40 | if(NOT file MATCHES install.txt) | ||
| 41 | file(STRINGS ${file} def) | ||
| 42 | get_filename_component(dir ${file} DIRECTORY) | ||
| 43 | string(REPLACE " " ";" def ${def}) | ||
| 44 | list(GET def 0 id) | ||
| 45 | |||
| 46 | list(FIND DEPENDS_TO_BUILD ${id} idx) | ||
| 47 | if(idx GREATER -1 OR DEPENDS_TO_BUILD STREQUAL "all") | ||
| 48 | list(GET def 1 url) | ||
| 49 | add_internal(${id} ${url} ${dir}/install.txt) | ||
| 50 | endif() | ||
| 51 | endif() | ||
| 52 | endforeach() | ||
diff --git a/project/cmake/addons/depends/windows/Install.cmake b/project/cmake/addons/depends/windows/Install.cmake deleted file mode 100644 index 9a3adbb..0000000 --- a/project/cmake/addons/depends/windows/Install.cmake +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 1 | if(EXISTS "${INPUTFILE}") | ||
| 2 | # if there's an input file we use it to determine which files to copy where | ||
| 3 | file(STRINGS ${INPUTFILE} FILES) | ||
| 4 | string(REPLACE "\n" ";" FILES "${FILES}") | ||
| 5 | foreach(file ${FILES}) | ||
| 6 | string(REPLACE " " ";" file "${file}") | ||
| 7 | list(GET file 0 dir) | ||
| 8 | list(GET file 1 dest) | ||
| 9 | list(LENGTH file deflength) | ||
| 10 | if(deflength GREATER 2) | ||
| 11 | list(GET file 2 copy) | ||
| 12 | endif() | ||
| 13 | file(GLOB files ${INPUTDIR}/${dir}) | ||
| 14 | foreach(instfile ${files}) | ||
| 15 | file(COPY ${instfile} DESTINATION ${DESTDIR}/${dest}) | ||
| 16 | if(copy) | ||
| 17 | file(COPY ${instfile} DESTINATION ${DESTDIR}/${copy}) | ||
| 18 | endif() | ||
| 19 | endforeach() | ||
| 20 | endforeach() | ||
| 21 | else() | ||
| 22 | # otherwise we assume that the content of the extracted archive is already well-formed and can just be copied | ||
| 23 | file(COPY ${INPUTDIR}/${dir} DESTINATION ${DESTDIR}) | ||
| 24 | endif() \ No newline at end of file | ||
diff --git a/project/cmake/addons/depends/windows/README b/project/cmake/addons/depends/windows/README deleted file mode 100644 index 67dc594..0000000 --- a/project/cmake/addons/depends/windows/README +++ /dev/null | |||
| @@ -1,19 +0,0 @@ | |||
| 1 | KODI WIN32 ADDON DEPENDENCIES | ||
| 2 | ============================= | ||
| 3 | This directory contains the cmake-based buildsystem for dependencies (currently | ||
| 4 | only prebuilt) used by one or multiple addons. The buildsystem looks into the | ||
| 5 | "prebuilt" sub-directory, downloads all the specified dependencies, extracts | ||
| 6 | them and places them into the "depends" sub-directory. | ||
| 7 | |||
| 8 | To trigger the cmake-based buildsystem the following command must be executed | ||
| 9 | with <path> being the path to this directory (absolute or relative, allowing for | ||
| 10 | in-source and out-of-source builds). | ||
| 11 | |||
| 12 | cmake <path> [-G <generator>] | ||
| 13 | |||
| 14 | cmake supports multiple generators, see | ||
| 15 | http://www.cmake.org/cmake/help/v2.8.8/cmake.html#section_Generators for a list. | ||
| 16 | For win32 builds one of the "Visual Studio XX" or the "NMake Makefiles" | ||
| 17 | generators is preferred. For the "NMake Makefiles" generator to work the above | ||
| 18 | command must be called from an environment prepared for VC++ builds (see | ||
| 19 | http://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx). | ||
diff --git a/project/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt b/project/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt deleted file mode 100644 index 2c2c4b8..0000000 --- a/project/cmake/addons/depends/windows/cmake/mingw/CMakeLists.txt +++ /dev/null | |||
| @@ -1,33 +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 | set(MINGW_PATH "${MSYS_PATH}/mingw32") | ||
| 13 | |||
| 14 | # configure the MinGW toolchain file | ||
| 15 | configure_file(${PROJECT_SOURCE_DIR}/Toolchain_mingw32.cmake.in ${CMAKE_INSTALL_PREFIX}/Toolchain_mingw32.cmake @ONLY) | ||
| 16 | |||
| 17 | # configure MinGWConfig.cmake | ||
| 18 | configure_file(${PROJECT_SOURCE_DIR}/MinGWConfig.cmake.in ${CMAKE_INSTALL_PREFIX}/MinGWConfig.cmake) | ||
| 19 | |||
| 20 | # TODO: MinGW GCC 5.3.0-1 comes without cc.exe, Remove this once package is bumped to 5.3.0-p2 | ||
| 21 | # See https://github.com/Alexpux/MINGW-packages/pull/1034 | ||
| 22 | if(NOT EXISTS ${MINGW_PATH}/bin/cc.exe) | ||
| 23 | execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${MINGW_PATH}/bin/gcc.exe ${MINGW_PATH}/bin/cc.exe) | ||
| 24 | endif() | ||
| 25 | |||
| 26 | # configure the MinGW wrapper batch scripts | ||
| 27 | generate_mingw32_wrapper("make") | ||
| 28 | generate_mingw32_wrapper("gcc") | ||
| 29 | generate_mingw32_wrapper("cc") | ||
| 30 | generate_mingw32_wrapper("g++") | ||
| 31 | generate_mingw32_wrapper("ar") | ||
| 32 | generate_mingw32_wrapper("ld") | ||
| 33 | generate_mingw32_wrapper("windres") | ||
diff --git a/project/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in b/project/cmake/addons/depends/windows/cmake/mingw/MinGWConfig.cmake.in deleted file mode 100644 index 2d6baa7..0000000 --- a/project/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/project/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in b/project/cmake/addons/depends/windows/cmake/mingw/Toolchain_mingw32.cmake.in deleted file mode 100644 index 01d281d..0000000 --- a/project/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/project/cmake/addons/depends/windows/cmake/mingw/mingw.txt b/project/cmake/addons/depends/windows/cmake/mingw/mingw.txt deleted file mode 100644 index 90aa6ae..0000000 --- a/project/cmake/addons/depends/windows/cmake/mingw/mingw.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | mingw | ||
diff --git a/project/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in b/project/cmake/addons/depends/windows/cmake/mingw/mingw32-cmd.bat.in deleted file mode 100644 index 44a0ea2..0000000 --- a/project/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/project/cmake/addons/depends/windows/cmake/mingw/noinstall.txt b/project/cmake/addons/depends/windows/cmake/mingw/noinstall.txt deleted file mode 100644 index e69de29..0000000 --- a/project/cmake/addons/depends/windows/cmake/mingw/noinstall.txt +++ /dev/null | |||
diff --git a/project/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt b/project/cmake/addons/depends/windows/cmake/msys/CMakeLists.txt deleted file mode 100644 index 1c0536e..0000000 --- a/project/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/project/cmake/addons/depends/windows/cmake/msys/msys.txt b/project/cmake/addons/depends/windows/cmake/msys/msys.txt deleted file mode 100644 index 00de9c2..0000000 --- a/project/cmake/addons/depends/windows/cmake/msys/msys.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | msys | ||
diff --git a/project/cmake/addons/depends/windows/cmake/msys/noinstall.txt b/project/cmake/addons/depends/windows/cmake/msys/noinstall.txt deleted file mode 100644 index e69de29..0000000 --- a/project/cmake/addons/depends/windows/cmake/msys/noinstall.txt +++ /dev/null | |||
diff --git a/project/cmake/addons/depends/windows/prebuilt/README b/project/cmake/addons/depends/windows/prebuilt/README deleted file mode 100644 index a0c70d6..0000000 --- a/project/cmake/addons/depends/windows/prebuilt/README +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | KODI WIN32 PREBUILT ADDON DEPENDENCIES | ||
| 2 | ====================================== | ||
| 3 | This directory contains a file or sub-directory for every prebuilt dependency | ||
| 4 | used by one of the addons being built. There are two different modes supported. | ||
| 5 | Both include a file named <library-id>.txt which must follow the defined format | ||
| 6 | <library-id> <download-url> | ||
| 7 | |||
| 8 | If the archive, which the <download-url> points at, contains | ||
| 9 | * only the necessary files and in the proper directory structure (i.e. an | ||
| 10 | "include" and a "lib" directory) then the file must be put into this | ||
| 11 | directory and nothing else is needed. | ||
| 12 | * unnecessary files and/or does not follow the defined directory structure | ||
| 13 | (i.e. an "include" and a "lib" directory) then the file must be put into a | ||
| 14 | sub-directory named <library-id>. Furthermore an additional file called | ||
| 15 | "install.txt" must be placed in that sub-directory. install.txt contains a | ||
| 16 | line for every path/directory/file with a destination where it must be copied | ||
| 17 | to. It must follow the defined format | ||
| 18 | <source> <destination> [<copy-destination>] | ||
| 19 | where <source> must be an existing file, directory or a path containing | ||
| 20 | wildcards, <destination> and the optional <copy-destination> must be existing | ||
| 21 | directories. | ||
diff --git a/project/cmake/cpack/CPackConfigDEB.cmake b/project/cmake/cpack/CPackConfigDEB.cmake deleted file mode 100644 index cb8e59e..0000000 --- a/project/cmake/cpack/CPackConfigDEB.cmake +++ /dev/null | |||
| @@ -1,352 +0,0 @@ | |||
| 1 | # include Macros.cmake to automate generation of time/date stamps, maintainer, etc. | ||
| 2 | include(${PROJECT_SOURCE_DIR}/scripts/common/Macros.cmake) | ||
| 3 | |||
| 4 | # find stuff we need | ||
| 5 | find_program(LSB_RELEASE_CMD lsb_release) | ||
| 6 | find_program(DPKG_CMD dpkg) | ||
| 7 | find_package(Git) | ||
| 8 | find_program(GZIP_CMD gzip) | ||
| 9 | |||
| 10 | # set packaging dir | ||
| 11 | if(NOT CPACK_PACKAGE_DIRECTORY) | ||
| 12 | set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}/packages) | ||
| 13 | endif() | ||
| 14 | |||
| 15 | # force CPack generated DEBs to use the same path as CMAKE_INSTALL_PREFIX | ||
| 16 | set(CPACK_SET_DESTDIR true) | ||
| 17 | |||
| 18 | # set architecture | ||
| 19 | if(NOT CPACK_SYSTEM_NAME) | ||
| 20 | set(CPACK_SYSTEM_NAME ${CMAKE_SYSTEM_PROCESSOR}) | ||
| 21 | # sanity check | ||
| 22 | if(CPACK_SYSTEM_NAME STREQUAL x86_64) | ||
| 23 | set(CPACK_SYSTEM_NAME amd64) | ||
| 24 | endif() | ||
| 25 | endif() | ||
| 26 | |||
| 27 | # set packaging by components | ||
| 28 | set(CPACK_DEB_COMPONENT_INSTALL ON) | ||
| 29 | |||
| 30 | # enforce Debian policy permission rules | ||
| 31 | set(CPACK_DEBIAN_PACKAGE_CONTROL_STRICT_PERMISSION ON) | ||
| 32 | |||
| 33 | # packaging by components doesn't fully work with CMake/CPack <3.6.0 | ||
| 34 | # CPACK_DEBIAN_<COMPONENT>_FILE_NAME is a 3.6.0 addition | ||
| 35 | # warn if detected version is lower | ||
| 36 | if(CMAKE_VERSION VERSION_LESS 3.6) | ||
| 37 | message(WARNING "DEB Generator: CMake/CPack 3.6 or higher is needed to produce correctly named packages.") | ||
| 38 | endif() | ||
| 39 | |||
| 40 | # distro codename | ||
| 41 | if(NOT DISTRO_CODENAME) | ||
| 42 | if(NOT LSB_RELEASE_CMD) | ||
| 43 | message(WARNING "DEB Generator: Can't find lsb_release in your path. Setting DISTRO_CODENAME to unknown.") | ||
| 44 | set(DISTRO_CODENAME unknown) | ||
| 45 | else() | ||
| 46 | execute_process(COMMAND ${LSB_RELEASE_CMD} -cs | ||
| 47 | OUTPUT_VARIABLE DISTRO_CODENAME | ||
| 48 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 49 | endif() | ||
| 50 | endif() | ||
| 51 | |||
| 52 | # package version | ||
| 53 | if(DEBIAN_PACKAGE_VERSION) | ||
| 54 | set(DISTRO_CODENAME ${DEBIAN_PACKAGE_VERSION}${DISTRO_CODENAME}) | ||
| 55 | else() | ||
| 56 | set(DISTRO_CODENAME 0${DISTRO_CODENAME}) | ||
| 57 | endif() | ||
| 58 | |||
| 59 | # package revision | ||
| 60 | if(DEBIAN_PACKAGE_REVISION) | ||
| 61 | set(DISTRO_CODENAME ${DISTRO_CODENAME}${DEBIAN_PACKAGE_REVISION}) | ||
| 62 | endif() | ||
| 63 | |||
| 64 | # package type | ||
| 65 | if(DEBIAN_PACKAGE_TYPE STREQUAL stable) | ||
| 66 | set(RELEASE_IDENTIFIER final) | ||
| 67 | elseif(DEBIAN_PACKAGE_TYPE STREQUAL unstable) | ||
| 68 | set(RELEASE_IDENTIFIER ${APP_VERSION_TAG_LC}) | ||
| 69 | else() | ||
| 70 | core_find_git_rev(RELEASE_IDENTIFIER) | ||
| 71 | endif() | ||
| 72 | |||
| 73 | # package name | ||
| 74 | string(TIMESTAMP PACKAGE_TIMESTAMP "%Y%m%d.%H%M" UTC) | ||
| 75 | set(PACKAGE_NAME_VERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}~git${PACKAGE_TIMESTAMP}-${RELEASE_IDENTIFIER}-${DISTRO_CODENAME}) | ||
| 76 | unset(RELEASE_IDENTIFIER) | ||
| 77 | |||
| 78 | # package version | ||
| 79 | if(DEBIAN_PACKAGE_EPOCH) | ||
| 80 | set(CPACK_DEBIAN_PACKAGE_VERSION ${DEBIAN_PACKAGE_EPOCH}:${PACKAGE_NAME_VERSION}) | ||
| 81 | else() | ||
| 82 | set(CPACK_DEBIAN_PACKAGE_VERSION 2:${PACKAGE_NAME_VERSION}) | ||
| 83 | endif() | ||
| 84 | |||
| 85 | # architecture | ||
| 86 | if(NOT CPACK_DEBIAN_PACKAGE_ARCHITECTURE) | ||
| 87 | if(NOT DPKG_CMD) | ||
| 88 | message(WARNING "DEB Generator: Can't find dpkg in your path. Setting CPACK_DEBIAN_PACKAGE_ARCHITECTURE to i386.") | ||
| 89 | set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE i386) | ||
| 90 | endif() | ||
| 91 | execute_process(COMMAND "${DPKG_CMD}" --print-architecture | ||
| 92 | OUTPUT_VARIABLE CPACK_DEBIAN_PACKAGE_ARCHITECTURE | ||
| 93 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 94 | endif() | ||
| 95 | |||
| 96 | # package maintainer | ||
| 97 | if(NOT CPACK_DEBIAN_PACKAGE_MAINTAINER) | ||
| 98 | userstamp() | ||
| 99 | set(CPACK_DEBIAN_PACKAGE_MAINTAINER ${PACKAGE_MAINTAINER}) | ||
| 100 | unset(PACKAGE_MAINTAINER) | ||
| 101 | endif() | ||
| 102 | |||
| 103 | # package description common to all packages | ||
| 104 | if(NOT CPACK_DEBIAN_PACKAGE_DESCRIPTION) | ||
| 105 | file(STRINGS ${PROJECT_SOURCE_DIR}/cpack/deb/package-description.txt DESC_LINES) | ||
| 106 | foreach(LINE IN LISTS DESC_LINES) | ||
| 107 | set(CPACK_DEBIAN_PACKAGE_DESCRIPTION "${CPACK_DEBIAN_PACKAGE_DESCRIPTION} ${LINE}\n") | ||
| 108 | endforeach() | ||
| 109 | endif() | ||
| 110 | |||
| 111 | # package homepage | ||
| 112 | if(NOT CPACK_DEBIAN_PACKAGE_HOMEPAGE) | ||
| 113 | set(CPACK_DEBIAN_PACKAGE_HOMEPAGE ${APP_WEBSITE}) | ||
| 114 | endif() | ||
| 115 | |||
| 116 | # generate a Debian compliant changelog | ||
| 117 | set(CHANGELOG_HEADER "${APP_NAME_LC} (${CPACK_DEBIAN_PACKAGE_VERSION}) ${DISTRO_CODENAME}\; urgency=high") | ||
| 118 | rfc2822stamp() | ||
| 119 | # two spaces between maintainer and timestamp is NOT a mistake | ||
| 120 | set(CHANGELOG_FOOTER " -- ${CPACK_DEBIAN_PACKAGE_MAINTAINER} ${RFC2822_TIMESTAMP}") | ||
| 121 | |||
| 122 | if(GIT_FOUND AND GZIP_CMD AND EXISTS ${CORE_SOURCE_DIR}/.git) | ||
| 123 | execute_process(COMMAND ${GIT_EXECUTABLE} log --no-merges --pretty=format:"%n [%an]%n * %s" --since="last month" | ||
| 124 | OUTPUT_VARIABLE CHANGELOG | ||
| 125 | WORKING_DIRECTORY ${CORE_SOURCE_DIR} | ||
| 126 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 127 | string(REPLACE "\"" "" CHANGELOG ${CHANGELOG}) | ||
| 128 | file(WRITE ${CPACK_PACKAGE_DIRECTORY}/deb/changelog.Debian ${CHANGELOG_HEADER}\n${CHANGELOG}\n\n${CHANGELOG_FOOTER}) | ||
| 129 | execute_process(COMMAND ${GZIP_CMD} -f -9 -n ${CPACK_PACKAGE_DIRECTORY}/deb/changelog.Debian) | ||
| 130 | unset(CHANGELOG_HEADER) | ||
| 131 | unset(CHANGELOG_FOOTER) | ||
| 132 | unset(RFC2822_TIMESTAMP) | ||
| 133 | else() | ||
| 134 | message(WARNING "DEB Generator: Can't find git and/or gzip in your path. DEB packages will be missing changelog.Debian.gz.") | ||
| 135 | endif() | ||
| 136 | |||
| 137 | # Generate NEWS.Debian | ||
| 138 | configure_file(${PROJECT_SOURCE_DIR}/cpack/deb/NEWS.Debian | ||
| 139 | ${CPACK_PACKAGE_DIRECTORY}/deb/NEWS.Debian @ONLY) | ||
| 140 | if(GZIP_CMD) | ||
| 141 | execute_process(COMMAND ${GZIP_CMD} -f -9 -n ${CPACK_PACKAGE_DIRECTORY}/deb/NEWS.Debian) | ||
| 142 | else() | ||
| 143 | message(WARNING "DEB Generator: Can't find gzip in your path. DEB packages will be missing NEWS.Debian.") | ||
| 144 | endif() | ||
| 145 | |||
| 146 | # Generate man pages | ||
| 147 | configure_file(${CORE_SOURCE_DIR}/docs/manpages/kodi.bin.1 | ||
| 148 | ${CPACK_PACKAGE_DIRECTORY}/deb/kodi.1 COPYONLY) | ||
| 149 | configure_file(${CORE_SOURCE_DIR}/docs/manpages/kodi.bin.1 | ||
| 150 | ${CPACK_PACKAGE_DIRECTORY}/deb/kodi.bin.1 COPYONLY) | ||
| 151 | configure_file(${CORE_SOURCE_DIR}/docs/manpages/kodi-standalone.1 | ||
| 152 | ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-standalone.1 COPYONLY) | ||
| 153 | if(ENABLE_EVENTCLIENTS) | ||
| 154 | configure_file(${CORE_SOURCE_DIR}/docs/manpages/kodi-ps3remote.1 | ||
| 155 | ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-ps3remote.1 COPYONLY) | ||
| 156 | configure_file(${CORE_SOURCE_DIR}/docs/manpages/kodi-send.1 | ||
| 157 | ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-send.1 COPYONLY) | ||
| 158 | configure_file(${CORE_SOURCE_DIR}/docs/manpages/kodi-wiiremote.1 | ||
| 159 | ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-wiiremote.1 COPYONLY) | ||
| 160 | endif() | ||
| 161 | |||
| 162 | if(GZIP_CMD) | ||
| 163 | execute_process(COMMAND ${GZIP_CMD} -f -9 -n ${CPACK_PACKAGE_DIRECTORY}/deb/kodi.1) | ||
| 164 | execute_process(COMMAND ${GZIP_CMD} -f -9 -n ${CPACK_PACKAGE_DIRECTORY}/deb/kodi.bin.1) | ||
| 165 | execute_process(COMMAND ${GZIP_CMD} -f -9 -n ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-standalone.1) | ||
| 166 | if(ENABLE_EVENTCLIENTS) | ||
| 167 | execute_process(COMMAND ${GZIP_CMD} -f -9 -n ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-ps3remote.1) | ||
| 168 | execute_process(COMMAND ${GZIP_CMD} -f -9 -n ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-send.1) | ||
| 169 | execute_process(COMMAND ${GZIP_CMD} -f -9 -n ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-wiiremote.1) | ||
| 170 | endif() | ||
| 171 | else() | ||
| 172 | message(WARNING "DEB Generator: Can't find gzip in your path. Several DEB packages will be missing man pages.") | ||
| 173 | endif() | ||
| 174 | |||
| 175 | install(FILES ${CPACK_PACKAGE_DIRECTORY}/deb/kodi.1.gz | ||
| 176 | ${CPACK_PACKAGE_DIRECTORY}/deb/kodi.bin.1.gz | ||
| 177 | ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-standalone.1.gz | ||
| 178 | DESTINATION share/man/man1 | ||
| 179 | COMPONENT kodi) | ||
| 180 | if(ENABLE_EVENTCLIENTS) | ||
| 181 | install(FILES ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-ps3remote.1.gz | ||
| 182 | DESTINATION share/man/man1 | ||
| 183 | COMPONENT kodi-eventclients-ps3) | ||
| 184 | install(FILES ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-send.1.gz | ||
| 185 | DESTINATION share/man/man1 | ||
| 186 | COMPONENT kodi-eventclients-xbmc-send) | ||
| 187 | install(FILES ${CPACK_PACKAGE_DIRECTORY}/deb/kodi-wiiremote.1.gz | ||
| 188 | DESTINATION share/man/man1 | ||
| 189 | COMPONENT kodi-eventclients-wiiremote) | ||
| 190 | endif() | ||
| 191 | |||
| 192 | # configure package metadata files | ||
| 193 | file(GLOB DEBIAN_PACKAGE_FILES ${PROJECT_SOURCE_DIR}/cpack/deb/packages/*.txt.in) | ||
| 194 | foreach(file ${DEBIAN_PACKAGE_FILES}) | ||
| 195 | get_filename_component(package ${file} NAME_WE) | ||
| 196 | # filter eventclients so we don't have to support two more deps | ||
| 197 | # (libbluetooth-dev and libcwiid-dev) just because of wii-remote | ||
| 198 | string(SUBSTRING ${package} 0 17 PACKAGE_FILTER) | ||
| 199 | if(NOT ENABLE_EVENTCLIENTS AND PACKAGE_FILTER STREQUAL kodi-eventclients) | ||
| 200 | message(STATUS "DEB Generator: ${package} matches ${PACKAGE_FILTER}, skipping.") | ||
| 201 | # do nothing | ||
| 202 | else() | ||
| 203 | configure_file(${file} | ||
| 204 | ${CPACK_PACKAGE_DIRECTORY}/deb/${package}.txt @ONLY) | ||
| 205 | list(APPEND DEBIAN_PACKAGES ${package}) | ||
| 206 | endif() | ||
| 207 | endforeach() | ||
| 208 | unset(DEBIAN_PACKAGE_FILES) | ||
| 209 | |||
| 210 | # generate packages | ||
| 211 | include(CMakeParseArguments) | ||
| 212 | foreach(file ${DEBIAN_PACKAGES}) | ||
| 213 | core_file_read_filtered(DEBIAN_METADATA ${CPACK_PACKAGE_DIRECTORY}/deb/${file}.txt) | ||
| 214 | string(REPLACE " " ";" DEBIAN_METADATA "${DEBIAN_METADATA}") | ||
| 215 | cmake_parse_arguments(DEB | ||
| 216 | "" | ||
| 217 | "PACKAGE_NAME;PACKAGE_ARCHITECTURE;PACKAGE_SECTION;PACKAGE_PRIORITY;PACKAGE_SHLIBDEPS" | ||
| 218 | "PACKAGE_DEPENDS;PACKAGE_RECOMMENDS;PACKAGE_SUGGESTS;PACKAGE_BREAKS;PACKAGE_REPLACES;PACKAGE_PROVIDES;PACKAGE_DESCRIPTION_HEADER;PACKAGE_DESCRIPTION_FOOTER" | ||
| 219 | ${DEBIAN_METADATA}) | ||
| 220 | string(REPLACE ";" " " DEB_PACKAGE_DEPENDS "${DEB_PACKAGE_DEPENDS}") | ||
| 221 | string(REPLACE ";" " " DEB_PACKAGE_RECOMMENDS "${DEB_PACKAGE_RECOMMENDS}") | ||
| 222 | string(REPLACE ";" " " DEB_PACKAGE_SUGGESTS "${DEB_PACKAGE_SUGGESTS}") | ||
| 223 | string(REPLACE ";" " " DEB_PACKAGE_BREAKS "${DEB_PACKAGE_BREAKS}") | ||
| 224 | string(REPLACE ";" " " DEB_PACKAGE_REPLACES "${DEB_PACKAGE_REPLACES}") | ||
| 225 | string(REPLACE ";" " " DEB_PACKAGE_PROVIDES "${DEB_PACKAGE_PROVIDES}") | ||
| 226 | string(REPLACE ";" " " DEB_PACKAGE_DESCRIPTION_HEADER "${DEB_PACKAGE_DESCRIPTION_HEADER}") | ||
| 227 | string(REPLACE ";" " " DEB_PACKAGE_DESCRIPTION_FOOTER "${DEB_PACKAGE_DESCRIPTION_FOOTER}") | ||
| 228 | |||
| 229 | string(TOUPPER ${file} COMPONENT) | ||
| 230 | |||
| 231 | if(NOT DEB_PACKAGE_ARCHITECTURE) | ||
| 232 | message(STATUS "DEB Generator: Mandatory variable CPACK_DEBIAN_${COMPONENT}_PACKAGE_ARCHITECTURE is empty. Setting to ${CPACK_SYSTEM_NAME}.") | ||
| 233 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_ARCHITECTURE ${CPACK_SYSTEM_NAME}) | ||
| 234 | else() | ||
| 235 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_ARCHITECTURE ${DEB_PACKAGE_ARCHITECTURE}) | ||
| 236 | endif() | ||
| 237 | |||
| 238 | if(DEB_PACKAGE_NAME) | ||
| 239 | if(DEB_PACKAGE_ARCHITECTURE) | ||
| 240 | set(CPACK_DEBIAN_${COMPONENT}_FILE_NAME ${DEB_PACKAGE_NAME}_${PACKAGE_NAME_VERSION}_${DEB_PACKAGE_ARCHITECTURE}.deb) | ||
| 241 | else() | ||
| 242 | set(CPACK_DEBIAN_${COMPONENT}_FILE_NAME ${DEB_PACKAGE_NAME}_${PACKAGE_NAME_VERSION}_${CPACK_SYSTEM_NAME}.deb) | ||
| 243 | endif() | ||
| 244 | else() | ||
| 245 | message(FATAL_ERROR "DEB Generator: Mandatory variable CPACK_DEBIAN_${COMPONENT}_FILE_NAME is not set.") | ||
| 246 | endif() | ||
| 247 | |||
| 248 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_SOURCE ${APP_NAME_LC}) | ||
| 249 | |||
| 250 | if(DEB_PACKAGE_NAME) | ||
| 251 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_NAME ${DEB_PACKAGE_NAME}) | ||
| 252 | else() | ||
| 253 | message(FATAL_ERROR "DEB Generator: Mandatory variable CPACK_DEBIAN_${COMPONENT}_PACKAGE_NAME is not set.") | ||
| 254 | endif() | ||
| 255 | |||
| 256 | if(DEB_PACKAGE_SECTION) | ||
| 257 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_SECTION ${DEB_PACKAGE_SECTION}) | ||
| 258 | else() | ||
| 259 | message(FATAL_ERROR "DEB Generator: Mandatory variable CPACK_DEBIAN_${COMPONENT}_PACKAGE_SECTION is not set.") | ||
| 260 | endif() | ||
| 261 | |||
| 262 | if(DEB_PACKAGE_PRIORITY) | ||
| 263 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_PRIORITY ${DEB_PACKAGE_PRIORITY}) | ||
| 264 | else() | ||
| 265 | message(FATAL_ERROR "DEB Generator: Mandatory variable CPACK_DEBIAN_${COMPONENT}_PACKAGE_PRIORITY is not set.") | ||
| 266 | endif() | ||
| 267 | |||
| 268 | if(DEB_PACKAGE_SHLIBDEPS) | ||
| 269 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_SHLIBDEPS ON) | ||
| 270 | else() | ||
| 271 | if(DEB_PACKAGE_DEPENDS) | ||
| 272 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_DEPENDS "${DEB_PACKAGE_DEPENDS}") | ||
| 273 | endif() | ||
| 274 | endif() | ||
| 275 | |||
| 276 | if(DEB_PACKAGE_RECOMMENDS) | ||
| 277 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_RECOMMENDS "${DEB_PACKAGE_RECOMMENDS}") | ||
| 278 | endif() | ||
| 279 | |||
| 280 | if(DEB_PACKAGE_SUGGESTS) | ||
| 281 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_SUGGESTS "${DEB_PACKAGE_SUGGESTS}") | ||
| 282 | endif() | ||
| 283 | |||
| 284 | if(DEB_PACKAGE_BREAKS) | ||
| 285 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_BREAKS "${DEB_PACKAGE_BREAKS}") | ||
| 286 | endif() | ||
| 287 | |||
| 288 | if(DEB_PACKAGE_REPLACES) | ||
| 289 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_REPLACES "${DEB_PACKAGE_REPLACES}") | ||
| 290 | endif() | ||
| 291 | |||
| 292 | if(DEB_PACKAGE_PROVIDES) | ||
| 293 | set(CPACK_DEBIAN_${COMPONENT}_PACKAGE_PROVIDES "${DEB_PACKAGE_PROVIDES}") | ||
| 294 | endif() | ||
| 295 | |||
| 296 | if(NOT DEB_PACKAGE_DESCRIPTION_HEADER OR NOT DEB_PACKAGE_DESCRIPTION_FOOTER) | ||
| 297 | message(FATAL_ERROR "DEB Generator: Mandatory variable CPACK_COMPONENT_${COMPONENT}_DESCRIPTION is not set.") | ||
| 298 | else() | ||
| 299 | set(CPACK_COMPONENT_${COMPONENT}_DESCRIPTION "\ | ||
| 300 | ${DEB_PACKAGE_DESCRIPTION_HEADER}\n\ | ||
| 301 | ${CPACK_DEBIAN_PACKAGE_DESCRIPTION} \ | ||
| 302 | ${DEB_PACKAGE_DESCRIPTION_FOOTER}") | ||
| 303 | endif() | ||
| 304 | |||
| 305 | install(FILES ${CPACK_PACKAGE_DIRECTORY}/deb/changelog.Debian.gz | ||
| 306 | ${CPACK_PACKAGE_DIRECTORY}/deb/NEWS.Debian.gz | ||
| 307 | ${PROJECT_SOURCE_DIR}/cpack/deb/copyright | ||
| 308 | DESTINATION share/doc/${file} | ||
| 309 | COMPONENT ${file}) | ||
| 310 | |||
| 311 | # kodi package exclusive files | ||
| 312 | if(CPACK_DEBIAN_KODI_PACKAGE_NAME) | ||
| 313 | set(CPACK_DEBIAN_KODI_PACKAGE_CONTROL_EXTRA | ||
| 314 | "${PROJECT_SOURCE_DIR}/cpack/deb/postinst;${PROJECT_SOURCE_DIR}/cpack/deb/postrm") | ||
| 315 | install(FILES ${PROJECT_SOURCE_DIR}/cpack/deb/lintian/overrides/kodi | ||
| 316 | DESTINATION share/lintian/overrides | ||
| 317 | COMPONENT kodi) | ||
| 318 | install(FILES ${PROJECT_SOURCE_DIR}/cpack/deb/menu/kodi | ||
| 319 | DESTINATION share/menu | ||
| 320 | COMPONENT kodi) | ||
| 321 | endif() | ||
| 322 | endforeach() | ||
| 323 | unset(DEBIAN_PACKAGES) | ||
| 324 | |||
| 325 | ### source package generation specific variables | ||
| 326 | # source generator | ||
| 327 | set(CPACK_SOURCE_GENERATOR TGZ) | ||
| 328 | |||
| 329 | # source package name | ||
| 330 | set(CPACK_SOURCE_PACKAGE_FILE_NAME ${APP_NAME_LC}_${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}~git${PACKAGE_TIMESTAMP}-${GIT_HASH}.orig) | ||
| 331 | |||
| 332 | # source dir | ||
| 333 | set(CMAKE_SOURCE_DIR ${CORE_SOURCE_DIR}) | ||
| 334 | |||
| 335 | # ignore files for source package | ||
| 336 | set(CPACK_SOURCE_IGNORE_FILES | ||
| 337 | "/build/" | ||
| 338 | "/debian/" | ||
| 339 | "/.git/" | ||
| 340 | ".gitignore" | ||
| 341 | "yml$" | ||
| 342 | "~$") | ||
| 343 | |||
| 344 | # unset variables | ||
| 345 | unset(PACKAGE_TIMESTAMP) | ||
| 346 | unset(DISTRO_CODENAME) | ||
| 347 | |||
| 348 | # reference docs | ||
| 349 | # https://cmake.org/cmake/help/latest/module/CPack.html | ||
| 350 | # https://cmake.org/cmake/help/latest/module/CPackDeb.html | ||
| 351 | # https://cmake.org/cmake/help/latest/module/CPackComponent.html | ||
| 352 | include(CPack) | ||
diff --git a/project/cmake/cpack/deb/NEWS.Debian b/project/cmake/cpack/deb/NEWS.Debian deleted file mode 100644 index 034774b..0000000 --- a/project/cmake/cpack/deb/NEWS.Debian +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 1 | @CPACK_PACKAGE_NAME@ (@CPACK_DEBIAN_PACKAGE_VERSION@) @DISTRO_CODENAME@; urgency=high | ||
| 2 | * Kodi Krypton (v17.0) will have an awesome new default skin, Estuary. | ||
| 3 | However the vast improvements are deep in the bowels of Kodi core code. | ||
| 4 | . | ||
| 5 | Since the beginning of XBMC back in the days while it was running on | ||
| 6 | the XBOX there was something like DVDPlayer. As the name probably | ||
| 7 | implies it was used to playback DVD discs/files. During the years this | ||
| 8 | DVDPlayer was improved and patched up to stay within modern day | ||
| 9 | standards of video playback expectancy. However it became clear that | ||
| 10 | for the future a major overhaul and rewrite was needed to keep up and | ||
| 11 | be future proof. As such the developers who did the AudioEngine in v12 | ||
| 12 | picked up this job and have now transformed it into VideoPlayer. | ||
| 13 | . | ||
| 14 | Together with some platform developers they ripped out the old | ||
| 15 | DVDPlayer code, chopped it into pieces, put it in the blender, picked | ||
| 16 | the needed pieces and put it back in without breaking the rest of Kodi. | ||
| 17 | This certainly wasn’t an easy job as DVDPlayer was like the bottom | ||
| 18 | block of a Jenga tower that needed to be replaced while still being | ||
| 19 | entangled throughout the whole tower. It had it’s tentacles in parts | ||
| 20 | of the code where it shouldn’t have been in the first place. Over a | ||
| 21 | year ago work started on getting this untangled and made ready to | ||
| 22 | be replaced by the new implementation, VideoPlayer. | ||
| 23 | |||
| 24 | -- h.udo <hudokkow@gmail.com> Tue, 05 Jul 2016 13:34:11 +0000 | ||
diff --git a/project/cmake/cpack/deb/copyright b/project/cmake/cpack/deb/copyright deleted file mode 100644 index a79cf54..0000000 --- a/project/cmake/cpack/deb/copyright +++ /dev/null | |||
| @@ -1,3126 +0,0 @@ | |||
| 1 | Kodi is downloaded from http://kodi.tv/. | ||
| 2 | Orig tarballs are generated from the script located at | ||
| 3 | https://github.com/Kodi/Kodi/tree/master/project/cmake. The | ||
| 4 | orig tarball is generated using the sources in https://github.com/Kodi/Kodi. | ||
| 5 | |||
| 6 | Main Contact: "Team-Kodi" <team at kodi dot tv> | ||
| 7 | |||
| 8 | Upstream Authors: | ||
| 9 | |||
| 10 | Andreas Setterlind [Gamester17] | ||
| 11 | Staffan Lindberg [pike] | ||
| 12 | Arne Morten Kvarving [cptspiff] | ||
| 13 | Anoop Menon [d4rk] | ||
| 14 | Joakim Plate [elupus] | ||
| 15 | Jonathan Marshall [jmarshall] | ||
| 16 | Tobias Arrskog [Topfs2] | ||
| 17 | Roee Vulkan [vulkanr] | ||
| 18 | Winfried Soltys [WiSo] | ||
| 19 | Yuval Tal [yuvalt] | ||
| 20 | John W Vanderbeck [agathorn] | ||
| 21 | Trent Nelson [AlTheKiller] | ||
| 22 | Andres Mejia [ceros] | ||
| 23 | Gunnar Norin [blittan] | ||
| 24 | Dean Ross Parry [C-Quel] | ||
| 25 | Sylvain Rebaud [c0diq] | ||
| 26 | Martin van Beurden [chadoe] | ||
| 27 | Scott Davilla [davilla] | ||
| 28 | Stephan Diederich [MaestroDD] | ||
| 29 | Benjamin Bertrand [Beenje] | ||
| 30 | Benjamin Dickgiesser [DonJ] | ||
| 31 | [GeminiServer] | ||
| 32 | Christian Granqvist [Granqvist] | ||
| 33 | Dave [kraqh3d] | ||
| 34 | Luigi Capriotti [l.capriotti] | ||
| 35 | Sean [malloc] | ||
| 36 | Kyle Hill [monkeyman] | ||
| 37 | [MrC] | ||
| 38 | [nad] | ||
| 39 | [nuka1195] | ||
| 40 | Vincent Blackwell-Price [Voinage] | ||
| 41 | Robert Parris [rwparris2] | ||
| 42 | Sigurdur H. Olafsson [sho] | ||
| 43 | Alasdair Campbell [Alcoheca] | ||
| 44 | Georgy Yunaev [oldnemesis] | ||
| 45 | Chris [phi2039] | ||
| 46 | Bob [bobo1on1] | ||
| 47 | David Allonby [motd2k] | ||
| 48 | Robert Rudd [Rudd] | ||
| 49 | Eric G [Tslayer] | ||
| 50 | Amund Scharning [tut-ankh-amon] | ||
| 51 | Matthias Kortstiege [VDRfan] | ||
| 52 | Daniel Mehrwald [AreaScout] | ||
| 53 | Oumar Aziz Outtara [wattazoum] | ||
| 54 | Chris Haley [CHI3f] | ||
| 55 | [Jezz_X] | ||
| 56 | [Smokehead] | ||
| 57 | Darren [Bizzeh] | ||
| 58 | Marc [Bobbin007] | ||
| 59 | Richard [Butcher] | ||
| 60 | Jan-Willem [Darkie] | ||
| 61 | Chris Branson [forza] | ||
| 62 | [Kreet] | ||
| 63 | [Ysbox] | ||
| 64 | Erwin Beckers [Frodo] | ||
| 65 | Albert Griscti-Soler [RUNTiME] | ||
| 66 | Phil Burr [d7o3g4q] (a.k.a. Duo Egaq) | ||
| 67 | Mathias Mahling [chokemaniac] | ||
| 68 | |||
| 69 | Credits: | ||
| 70 | |||
| 71 | Kodi - Cross-platform Media Center | ||
| 72 | <http://Kodi.org/> | ||
| 73 | |||
| 74 | Copyright © 2005-2016 Team Kodi http://kodi.tv | ||
| 75 | |||
| 76 | This program is free software; you can redistribute it and/or modify | ||
| 77 | it under the terms of the GNU General Public License as published by | ||
| 78 | the Free Software Foundation; either version 2 of the License, or | ||
| 79 | (at your option) any later version. | ||
| 80 | |||
| 81 | This program is distributed in the hope that it will be useful, | ||
| 82 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 83 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 84 | GNU General Public License for more details. | ||
| 85 | |||
| 86 | You should have received a copy of the GNU General Public License | ||
| 87 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 88 | |||
| 89 | Generic classes for raster images | ||
| 90 | |||
| 91 | Copyright © 2000, Juan Soulie <jsoulie@cplusplus.com> | ||
| 92 | |||
| 93 | Permission to use, copy, modify, distribute and sell this software or any | ||
| 94 | part thereof and/or its documentation for any purpose is granted without fee | ||
| 95 | provided that the above copyright notice and this permission notice appear | ||
| 96 | in all copies. | ||
| 97 | |||
| 98 | This software is provided "as is" without express or implied warranty of | ||
| 99 | any kind. The author shall have no liability with respect to the | ||
| 100 | infringement of copyrights or patents that any modification to the content | ||
| 101 | of this file or this file itself may incur. | ||
| 102 | |||
| 103 | The FreeType Project | ||
| 104 | <http://www.freetype.org/> | ||
| 105 | |||
| 106 | Copyright © 1996-2006, by David Turner, Robert Wilhelm, and Werner Lemberg | ||
| 107 | |||
| 108 | This file is part of the FreeType project, and may only be used, | ||
| 109 | modified, and distributed under the terms of the FreeType project | ||
| 110 | license, LICENSE.TXT. By continuing to use, modify, or distribute | ||
| 111 | this file you indicate that you have read the license and | ||
| 112 | understand and accept it fully. | ||
| 113 | |||
| 114 | A full copy of the FreeType License (FTL) is provided under section | ||
| 115 | "Licenses". | ||
| 116 | |||
| 117 | TinyXML - simple, small, C++ XML Parser | ||
| 118 | <http://www.grinninglizard.com/tinyxml/> | ||
| 119 | |||
| 120 | Copyright © 2000-2006 Lee Thomason (www.grinninglizard.com) | ||
| 121 | Copyright © 2005 Tyge Lovset | ||
| 122 | |||
| 123 | This software is provided 'as-is', without any express or implied | ||
| 124 | warranty. In no event will the authors be held liable for any damages | ||
| 125 | arising from the use of this software. | ||
| 126 | |||
| 127 | Permission is granted to anyone to use this software for any purpose, | ||
| 128 | including commercial applications, and to alter it and redistribute it | ||
| 129 | freely, subject to the following restrictions: | ||
| 130 | |||
| 131 | 1. The origin of this software must not be misrepresented; you must not | ||
| 132 | claim that you wrote the original software. If you use this software | ||
| 133 | in a product, an acknowledgment in the product documentation would be | ||
| 134 | appreciated but is not required. | ||
| 135 | 2. Altered source versions must be plainly marked as such, and must not be | ||
| 136 | misrepresented as being the original software. | ||
| 137 | 3. This notice may not be removed or altered from any source distribution. | ||
| 138 | |||
| 139 | CString Class in guilib/StdString.h | ||
| 140 | |||
| 141 | Copyright © 2002 Joseph M. O'Leary | ||
| 142 | |||
| 143 | This code is 100% free. Use it anywhere you want. Rewrite it, restructure | ||
| 144 | it, whatever. If you can write software that makes money off of it, good for | ||
| 145 | you. I kinda like capitalism. Please don't blame me if it causes your $30 | ||
| 146 | billion dollar satellite explode in orbit. If you redistribute it in any | ||
| 147 | form, I'd appreciate it if you would leave this notice here. | ||
| 148 | |||
| 149 | Mach-O library symbol mapping Ruby Scripts | ||
| 150 | |||
| 151 | Copyright © 2008 Elan Feingold (elan at bluemandrill dot com) | ||
| 152 | |||
| 153 | This program is free software; you can redistribute it and/or modify | ||
| 154 | it under the terms of the GNU General Public License as published by | ||
| 155 | the Free Software Foundation; either version 2 of the License, or | ||
| 156 | (at your option) any later version. | ||
| 157 | |||
| 158 | This program is distributed in the hope that it will be useful, | ||
| 159 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 160 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 161 | GNU General Public License for more details. | ||
| 162 | |||
| 163 | You should have received a copy of the GNU General Public License | ||
| 164 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 165 | |||
| 166 | Wiimote C Library | ||
| 167 | <http://www.wiiuse.net/> | ||
| 168 | |||
| 169 | Copyright © Michael Laforest < para > | ||
| 170 | < thepara (--AT--) g m a i l [--DOT--] com > | ||
| 171 | |||
| 172 | This program is free software: you can redistribute it and/or modify | ||
| 173 | it under the terms of the GNU General Public License as published by | ||
| 174 | the Free Software Foundation, either version 3 of the License, or | ||
| 175 | (at your option) any later version. | ||
| 176 | |||
| 177 | This program is distributed in the hope that it will be useful, | ||
| 178 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 179 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 180 | GNU General Public License for more details. | ||
| 181 | |||
| 182 | You should have received a copy of the GNU General Public License | ||
| 183 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 184 | |||
| 185 | Wiiuse Class for Kodi | ||
| 186 | |||
| 187 | Copyright © 2009 by Cory Fields | ||
| 188 | |||
| 189 | This program is free software: you can redistribute it and/or modify | ||
| 190 | it under the terms of the GNU General Public License as published by | ||
| 191 | the Free Software Foundation, either version 3 of the License, or | ||
| 192 | (at your option) any later version. | ||
| 193 | |||
| 194 | This program is distributed in the hope that it will be useful, | ||
| 195 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 196 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 197 | GNU General Public License for more details. | ||
| 198 | |||
| 199 | You should have received a copy of the GNU General Public License | ||
| 200 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 201 | |||
| 202 | Apple Remote Control Wrapper Classes | ||
| 203 | |||
| 204 | Copyright © 2006 Martin Kahr martinkahr.com. All rights reserved. | ||
| 205 | |||
| 206 | Permission is hereby granted, free of charge, to any person obtaining a | ||
| 207 | copy of this software and associated documentation files (the "Software"), | ||
| 208 | to deal in the Software without restriction, including without limitation | ||
| 209 | the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
| 210 | and/or sell copies of the Software, and to permit persons to whom the | ||
| 211 | Software is furnished to do so, subject to the following conditions: | ||
| 212 | |||
| 213 | The above copyright notice and this permission notice shall be included | ||
| 214 | in all copies or substantial portions of the Software. | ||
| 215 | |||
| 216 | THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 217 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 218 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
| 219 | THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 220 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 221 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
| 222 | IN THE SOFTWARE. | ||
| 223 | |||
| 224 | Class to Display events received from the Apple Infrared Remote. | ||
| 225 | |||
| 226 | Copyright © 2006-2008 Amit Singh. All Rights Reserved. | ||
| 227 | |||
| 228 | Redistribution and use in source and binary forms, with or without | ||
| 229 | modification, are permitted provided that the following conditions | ||
| 230 | are met: | ||
| 231 | 1. Redistributions of source code must retain the above copyright | ||
| 232 | notice, this list of conditions and the following disclaimer. | ||
| 233 | 2. Redistributions in binary form must reproduce the above copyright | ||
| 234 | notice, this list of conditions and the following disclaimer in the | ||
| 235 | documentation and/or other materials provided with the distribution. | ||
| 236 | |||
| 237 | THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND | ||
| 238 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 239 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 240 | ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE | ||
| 241 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 242 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 243 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 244 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 245 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 246 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 247 | SUCH DAMAGE. | ||
| 248 | |||
| 249 | ISO C9x compliant stdint.h and inttypes.h for Microsoft Visual Studio | ||
| 250 | |||
| 251 | Copyright © 2006 Alexander Chemeris | ||
| 252 | |||
| 253 | Redistribution and use in source and binary forms, with or without | ||
| 254 | modification, are permitted provided that the following conditions are met: | ||
| 255 | |||
| 256 | 1. Redistributions of source code must retain the above copyright notice, | ||
| 257 | this list of conditions and the following disclaimer. | ||
| 258 | |||
| 259 | 2. Redistributions in binary form must reproduce the above copyright | ||
| 260 | notice, this list of conditions and the following disclaimer in the | ||
| 261 | documentation and/or other materials provided with the distribution. | ||
| 262 | |||
| 263 | 3. The name of the author may be used to endorse or promote products | ||
| 264 | derived from this software without specific prior written permission. | ||
| 265 | |||
| 266 | THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
| 267 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
| 268 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||
| 269 | EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| 270 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | ||
| 271 | PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; | ||
| 272 | OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
| 273 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR | ||
| 274 | OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | ||
| 275 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 276 | |||
| 277 | cURL - library and command line tool for transferring files with URL syntax | ||
| 278 | <http://curl.haxx.se/> | ||
| 279 | |||
| 280 | Copyright © 1998 - 2006, Daniel Stenberg, <daniel@haxx.se>, et al. | ||
| 281 | |||
| 282 | Permission to use, copy, modify, and distribute this software for any | ||
| 283 | purpose with or without fee is hereby granted, provided that the above | ||
| 284 | copyright notice and this permission notice appear in all copies. | ||
| 285 | |||
| 286 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 287 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 288 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. | ||
| 289 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, | ||
| 290 | DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | ||
| 291 | OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
| 292 | USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 293 | |||
| 294 | Except as contained in this notice, the name of a copyright holder shall not | ||
| 295 | be used in advertising or otherwise to promote the sale, use or other | ||
| 296 | dealings in this Software without prior written authorization of the | ||
| 297 | copyright holder. | ||
| 298 | |||
| 299 | RegExp.h | ||
| 300 | |||
| 301 | Copyright © 1986, 1993, 1995 by University of Toronto. | ||
| 302 | |||
| 303 | Permission is granted to anyone to use this software for any | ||
| 304 | purpose on any computer system, and to redistribute it in any way, | ||
| 305 | subject to the following restrictions: | ||
| 306 | |||
| 307 | 1. The author is not responsible for the consequences of use of | ||
| 308 | this software, no matter how awful, even if they arise | ||
| 309 | from defects in it. | ||
| 310 | |||
| 311 | 2. The origin of this software must not be misrepresented, either | ||
| 312 | by explicit claim or by omission. | ||
| 313 | |||
| 314 | 3. Altered versions must be plainly marked as such, and must not | ||
| 315 | be misrepresented (by explicit claim or omission) as being | ||
| 316 | the original software. | ||
| 317 | |||
| 318 | 4. This notice must not be removed or altered. | ||
| 319 | |||
| 320 | GNU gettext - internationalization aids | ||
| 321 | <http://www.gnu.org/software/gettext/> | ||
| 322 | |||
| 323 | Copyright © 1988, 1989, 1992, 1993, 1995 Free Software Foundation, Inc. | ||
| 324 | |||
| 325 | This program is free software; you can redistribute it and/or modify | ||
| 326 | it under the terms of the GNU General Public License as published by | ||
| 327 | the Free Software Foundation; either version 2 of the License, or | ||
| 328 | (at your option) any later version. | ||
| 329 | |||
| 330 | This program is distributed in the hope that it will be useful, | ||
| 331 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 332 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 333 | GNU General Public License for more details. | ||
| 334 | |||
| 335 | You should have received a copy of the GNU General Public License | ||
| 336 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 337 | |||
| 338 | DBUSServer Class | ||
| 339 | <http://www.azurdigitalnetworks.net/> | ||
| 340 | |||
| 341 | Copyright © 2009 Azur Digital Networks | ||
| 342 | |||
| 343 | This program is free software; you can redistribute it and/or modify | ||
| 344 | it under the terms of the GNU General Public License as published by | ||
| 345 | the Free Software Foundation; either version 2 of the License, or | ||
| 346 | (at your option) any later version. | ||
| 347 | |||
| 348 | This program is distributed in the hope that it will be useful, | ||
| 349 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 350 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 351 | GNU General Public License for more details. | ||
| 352 | |||
| 353 | You should have received a copy of the GNU General Public License | ||
| 354 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 355 | |||
| 356 | Really Slick X Screensavers | ||
| 357 | <http://www.reallyslick.com/> | ||
| 358 | |||
| 359 | Copyright © 2002-2006 Michael Chapman | ||
| 360 | Copyright © 2002 Terence M. Welsh | ||
| 361 | |||
| 362 | This program is free software; you can redistribute it and/or modify | ||
| 363 | it under the terms of the GNU General Public License as published by | ||
| 364 | the Free Software Foundation; either version 2 of the License, or | ||
| 365 | (at your option) any later version. | ||
| 366 | |||
| 367 | This program is distributed in the hope that it will be useful, | ||
| 368 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 369 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 370 | GNU General Public License for more details. | ||
| 371 | |||
| 372 | You should have received a copy of the GNU General Public License | ||
| 373 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 374 | |||
| 375 | SDLMain.h | ||
| 376 | |||
| 377 | Copyright © Darrell Walisser <dwaliss1@purdue.edu> | ||
| 378 | Copyright © Max Horn <max@quendi.de> | ||
| 379 | |||
| 380 | Feel free to customize this file to suit your needs. | ||
| 381 | |||
| 382 | XKGeneral.h - General Utility and Helper function Class' Header | ||
| 383 | |||
| 384 | Copyright © TEAM ASSEMBLY www.team-assembly.com | ||
| 385 | |||
| 386 | This program is free software; you can redistribute it and/or modify | ||
| 387 | it under the terms of the GNU General Public License as published by | ||
| 388 | the Free Software Foundation; either version 2 of the License, or | ||
| 389 | (at your option) any later version. | ||
| 390 | |||
| 391 | This program is distributed in the hope that it will be useful, | ||
| 392 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 393 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 394 | GNU General Public License for more details. | ||
| 395 | |||
| 396 | You should have received a copy of the GNU General Public License | ||
| 397 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 398 | |||
| 399 | Goom 2k4 | ||
| 400 | <http://www.ios-software.com/index.php3?page=projet&quoi=1&lg=AN> | ||
| 401 | |||
| 402 | Copyright © 2000-2004, Jean-Christophe Hoelt <jeko@ios-software.com> | ||
| 403 | Copyright © 2000-2004, Guillaume Borios <gyom@ios-software.com> | ||
| 404 | |||
| 405 | This library is free software; you can redistribute it and/or | ||
| 406 | modify it under the terms of the GNU Lesser General Public | ||
| 407 | License as published by the Free Software Foundation; either | ||
| 408 | version 2.1 of the License, or (at your option) any later version. | ||
| 409 | |||
| 410 | This library is distributed in the hope that it will be useful, | ||
| 411 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 412 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 413 | Lesser General Public License for more details. | ||
| 414 | |||
| 415 | You should have received a copy of the GNU Lesser General Public License | ||
| 416 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 417 | |||
| 418 | iTunes Visualizer Plug-In SDK files included in Goom 2k4 are under the | ||
| 419 | following license. | ||
| 420 | |||
| 421 | Copyright (c) 2003 Apple Computer, Inc. All rights reserved. | ||
| 422 | |||
| 423 | This Apple software is supplied to you by Apple Computer, Inc. in | ||
| 424 | consideration of your agreement to the following terms, and your use, | ||
| 425 | installation, modification or redistribution of this Apple software | ||
| 426 | constitutes acceptance of these terms. If you do not agree with these terms, | ||
| 427 | please do not use, install, modify or redistribute this Apple software. | ||
| 428 | |||
| 429 | In consideration of your agreement to abide by the following terms, and | ||
| 430 | subject to these terms, Apple grants you a personal, non-exclusive license, | ||
| 431 | under Apple's intellectual property rights in this Apple Software (the | ||
| 432 | "Apple Software"), to use, reproduce, modify and distribute the Apple | ||
| 433 | Software; provided that no license is granted herein under any patents that | ||
| 434 | may be infringed by your modifications, derivative works or by other works | ||
| 435 | in which the Apple Software may be incorporated. No names, trademarks, | ||
| 436 | service marks or logos of Apple Computer, Inc. may be used to endorse or | ||
| 437 | promote products derived from the Apple Software without specific prior | ||
| 438 | written permission from Apple. Except as expressly stated herein, no other | ||
| 439 | rights or licenses, express or implied, are granted by Apple and nothing | ||
| 440 | herein grants any license under any patents except claims of Apple patents | ||
| 441 | that cover this Apple Software as originally provided by Apple, and only to | ||
| 442 | the extent necessary to use and distribute this Apple Software as originally | ||
| 443 | provided by Apple. | ||
| 444 | |||
| 445 | The Apple Software is provided by Apple on an "AS IS" basis. APPLE MAKES NO | ||
| 446 | WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION THE IMPLIED | ||
| 447 | WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
| 448 | PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND OPERATION ALONE OR IN | ||
| 449 | COMBINATION WITH ANY PRODUCT. | ||
| 450 | |||
| 451 | IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL OR | ||
| 452 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
| 453 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
| 454 | INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION, MODIFICATION | ||
| 455 | AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED AND WHETHER UNDER | ||
| 456 | THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY OR | ||
| 457 | OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 458 | |||
| 459 | XAnalyser, frequence spectrum analyser for X Window | ||
| 460 | <http://arvin.schnell-web.net/xanalyser/> | ||
| 461 | |||
| 462 | Copyright © 1998 Arvin Schnell | ||
| 463 | |||
| 464 | This program is free software; you can redistribute it and/or modify | ||
| 465 | it under the terms of the GNU General Public License as published by | ||
| 466 | the Free Software Foundation; either version 2 of the License, or | ||
| 467 | (at your option) any later version. | ||
| 468 | |||
| 469 | This program is distributed in the hope that it will be useful, | ||
| 470 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 471 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 472 | GNU General Public License for more details. | ||
| 473 | |||
| 474 | You should have received a copy of the GNU General Public License | ||
| 475 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 476 | |||
| 477 | XMMS - Cross-platform multimedia player | ||
| 478 | <http://www.xmms.org/> | ||
| 479 | |||
| 480 | Copyright © 1998-2000 Peter Alm, Mikael Alm, Olle Hallnas, Thomas Nilsson | ||
| 481 | and 4Front Technologies | ||
| 482 | |||
| 483 | This program is free software; you can redistribute it and/or modify | ||
| 484 | it under the terms of the GNU General Public License as published by | ||
| 485 | the Free Software Foundation; either version 2 of the License, or | ||
| 486 | (at your option) any later version. | ||
| 487 | |||
| 488 | This program is distributed in the hope that it will be useful, | ||
| 489 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 490 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 491 | GNU General Public License for more details. | ||
| 492 | |||
| 493 | You should have received a copy of the GNU General Public License | ||
| 494 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 495 | |||
| 496 | Pthreads-win32 - POSIX Threads Library for Win32 | ||
| 497 | <http://sourceware.org/pthreads-win32/> | ||
| 498 | |||
| 499 | Copyright © 1998 John E. Bossom | ||
| 500 | |||
| 501 | This library is free software; you can redistribute it and/or | ||
| 502 | modify it under the terms of the GNU Library General Public | ||
| 503 | License as published by the Free Software Foundation; either | ||
| 504 | version 2 of the License, or (at your option) any later version. | ||
| 505 | |||
| 506 | This library is distributed in the hope that it will be useful, | ||
| 507 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 508 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 509 | Library General Public License for more details. | ||
| 510 | |||
| 511 | You should have received a copy of the GNU Library General Public License | ||
| 512 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 513 | |||
| 514 | projectM - OpenGL based advanced music visualization program | ||
| 515 | <http://projectm.sourceforge.net/> | ||
| 516 | |||
| 517 | Copyright © 2003-2007 projectM Team | ||
| 518 | |||
| 519 | This library is free software; you can redistribute it and/or | ||
| 520 | modify it under the terms of the GNU Lesser General Public | ||
| 521 | License as published by the Free Software Foundation; either | ||
| 522 | version 2.1 of the License, or (at your option) any later version. | ||
| 523 | |||
| 524 | This library is distributed in the hope that it will be useful, | ||
| 525 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 526 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 527 | Lesser General Public License for more details. | ||
| 528 | |||
| 529 | You should have received a copy of the GNU Lesser General Public License | ||
| 530 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 531 | |||
| 532 | OpenDAAP | ||
| 533 | <http://www.opendaap.org/> | ||
| 534 | |||
| 535 | Copyright © 2004 Forza (Chris Barnett) | ||
| 536 | Copyright © the authors of libOpenDAAP | ||
| 537 | |||
| 538 | This program is free software; you can redistribute it and/or modify | ||
| 539 | it under the terms of the GNU General Public License as published by | ||
| 540 | the Free Software Foundation; either version 2 of the License, or | ||
| 541 | (at your option) any later version. | ||
| 542 | |||
| 543 | This program is distributed in the hope that it will be useful, | ||
| 544 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 545 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 546 | GNU General Public License for more details. | ||
| 547 | |||
| 548 | You should have received a copy of the GNU General Public License | ||
| 549 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 550 | |||
| 551 | zlib - A Massively Spiffy Yet Delicately Unobtrusive Compression Library | ||
| 552 | <http://www.zlib.net/> | ||
| 553 | |||
| 554 | Copyright © 1995-2002 Jean-loup Gailly and Mark Adler. | ||
| 555 | |||
| 556 | This software is provided 'as-is', without any express or implied | ||
| 557 | warranty. In no event will the authors be held liable for any damages | ||
| 558 | arising from the use of this software. | ||
| 559 | |||
| 560 | Permission is granted to anyone to use this software for any purpose, | ||
| 561 | including commercial applications, and to alter it and redistribute it | ||
| 562 | freely, subject to the following restrictions: | ||
| 563 | |||
| 564 | 1. The origin of this software must not be misrepresented; you must not | ||
| 565 | claim that you wrote the original software. If you use this software | ||
| 566 | in a product, an acknowledgment in the product documentation would be | ||
| 567 | appreciated but is not required. | ||
| 568 | 2. Altered source versions must be plainly marked as such, and must not be | ||
| 569 | misrepresented as being the original software. | ||
| 570 | 3. This notice may not be removed or altered from any source distribution. | ||
| 571 | |||
| 572 | iso9660.h | ||
| 573 | |||
| 574 | Copyright © The Joker / Avalaunch team | ||
| 575 | |||
| 576 | This program is free software; you can redistribute it and/or modify | ||
| 577 | it under the terms of the GNU General Public License as published by | ||
| 578 | the Free Software Foundation; either version 2 of the License, or | ||
| 579 | (at your option) any later version. | ||
| 580 | |||
| 581 | This program is distributed in the hope that it will be useful, | ||
| 582 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 583 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 584 | GNU General Public License for more details. | ||
| 585 | |||
| 586 | You should have received a copy of the GNU General Public License | ||
| 587 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 588 | |||
| 589 | Neptune Portable C++ Runtime Library | ||
| 590 | <http://neptune.sourceforge.net/> | ||
| 591 | |||
| 592 | Copyright © 2001-2006 Gilles Boccon-Gibod | ||
| 593 | Copyright © 2002-2008, Axiomatic Systems, LLC. | ||
| 594 | All rights reserved. | ||
| 595 | |||
| 596 | Redistribution and use in source and binary forms, with or without | ||
| 597 | modification, are permitted provided that the following conditions are met: | ||
| 598 | * Redistributions of source code must retain the above copyright | ||
| 599 | notice, this list of conditions and the following disclaimer. | ||
| 600 | * Redistributions in binary form must reproduce the above copyright | ||
| 601 | notice, this list of conditions and the following disclaimer in the | ||
| 602 | documentation and/or other materials provided with the distribution. | ||
| 603 | * Neither the name of the <organization> nor the | ||
| 604 | names of its contributors may be used to endorse or promote products | ||
| 605 | derived from this software without specific prior written permission. | ||
| 606 | |||
| 607 | THIS SOFTWARE IS PROVIDED BY AXIOMATIC SYSTEMS ''AS IS'' AND ANY | ||
| 608 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
| 609 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
| 610 | DISCLAIMED. IN NO EVENT SHALL AXIOMATIC SYSTEMS BE LIABLE FOR ANY | ||
| 611 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
| 612 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
| 613 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
| 614 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| 615 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
| 616 | THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 617 | |||
| 618 | MMST implementation taken from the xine-mms plugin made by Major MMS | ||
| 619 | (http://geocities.com/majormms/). | ||
| 620 | |||
| 621 | Copyright © 2005-2008 Team Kodi | ||
| 622 | Copyright © 2002 Abhijeet Phatak <abhijeetphatak@yahoo.com> | ||
| 623 | Copyright © 2002 the xine project | ||
| 624 | Copyright © 2000-2001 major mms | ||
| 625 | |||
| 626 | This program is free software; you can redistribute it and/or modify | ||
| 627 | it under the terms of the GNU General Public License as published by | ||
| 628 | the Free Software Foundation; either version 2 of the License, or | ||
| 629 | (at your option) any later version. | ||
| 630 | |||
| 631 | This program is distributed in the hope that it will be useful, | ||
| 632 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 633 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 634 | GNU General Public License for more details. | ||
| 635 | |||
| 636 | You should have received a copy of the GNU General Public License | ||
| 637 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 638 | |||
| 639 | Ogg Bitstream Library | ||
| 640 | <http://www.xiph.org/> | ||
| 641 | |||
| 642 | Copyright © 1994-2002 Xiph.Org Foundation http://www.xiph.org/ | ||
| 643 | |||
| 644 | Redistribution and use in source and binary forms, with or without | ||
| 645 | modification, are permitted provided that the following conditions are met: | ||
| 646 | |||
| 647 | * Redistributions of source code must retain the above copyright notice, | ||
| 648 | this list of conditions and the following disclaimer. | ||
| 649 | * Redistributions in binary form must reproduce the above copyright | ||
| 650 | notice, this list of conditions and the following disclaimer in the | ||
| 651 | documentation and/or other materials provided with the distribution. | ||
| 652 | * Neither the name of the Xiph.org Foundation nor the names of its | ||
| 653 | contributors may be used to endorse or promote products derived from | ||
| 654 | this software without specific prior written permission. | ||
| 655 | |||
| 656 | This software is provided by the copyright holders and contributors “as is” | ||
| 657 | and any express or implied warranties, including, but not limited to, the | ||
| 658 | implied warranties of merchantability and fitness for a particular purpose | ||
| 659 | are disclaimed. In no event shall the foundation or contributors be liable | ||
| 660 | for any direct, indirect, incidental, special, exemplary, or consequential | ||
| 661 | damages (including, but not limited to, procurement of substitute goods or | ||
| 662 | services; loss of use, data, or profits; or business interruption) however | ||
| 663 | caused and on any theory of liability, whether in contract, strict | ||
| 664 | liability, or tort (including negligence or otherwise) arising in any way | ||
| 665 | out of the use of this software, even if advised of the possibility of such | ||
| 666 | damage. | ||
| 667 | |||
| 668 | The Vorbis General Audio Compression Codec | ||
| 669 | <http://www.xiph.org/> | ||
| 670 | |||
| 671 | Copyright © 2002, Xiph.org Foundation | ||
| 672 | |||
| 673 | Redistribution and use in source and binary forms, with or without | ||
| 674 | modification, are permitted provided that the following conditions are met: | ||
| 675 | |||
| 676 | * Redistributions of source code must retain the above copyright notice, | ||
| 677 | this list of conditions and the following disclaimer. | ||
| 678 | * Redistributions in binary form must reproduce the above copyright | ||
| 679 | notice, this list of conditions and the following disclaimer in the | ||
| 680 | documentation and/or other materials provided with the distribution. | ||
| 681 | * Neither the name of the Xiph.org Foundation nor the names of its | ||
| 682 | contributors may be used to endorse or promote products derived from | ||
| 683 | this software without specific prior written permission. | ||
| 684 | |||
| 685 | This software is provided by the copyright holders and contributors “as is” | ||
| 686 | and any express or implied warranties, including, but not limited to, the | ||
| 687 | implied warranties of merchantability and fitness for a particular purpose | ||
| 688 | are disclaimed. In no event shall the foundation or contributors be liable | ||
| 689 | for any direct, indirect, incidental, special, exemplary, or consequential | ||
| 690 | damages (including, but not limited to, procurement of substitute goods or | ||
| 691 | services; loss of use, data, or profits; or business interruption) however | ||
| 692 | caused and on any theory of liability, whether in contract, strict | ||
| 693 | liability, or tort (including negligence or otherwise) arising in any way | ||
| 694 | out of the use of this software, even if advised of the possibility of such | ||
| 695 | damage. | ||
| 696 | |||
| 697 | LAME Ain't an Mp3 Encoder | ||
| 698 | <http://lame.sourceforge.net/> | ||
| 699 | |||
| 700 | Copyright © 1999 Mark Taylor | ||
| 701 | |||
| 702 | This program is free software; you can redistribute it and/or modify | ||
| 703 | it under the terms of the GNU General Public License as published by | ||
| 704 | the Free Software Foundation; either version 2 of the License, or | ||
| 705 | (at your option) any later version. | ||
| 706 | |||
| 707 | This program is distributed in the hope that it will be useful, | ||
| 708 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 709 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 710 | GNU General Public License for more details. | ||
| 711 | |||
| 712 | You should have received a copy of the GNU General Public License | ||
| 713 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 714 | |||
| 715 | GNU libmicrohttpd | ||
| 716 | <http://www.gnu.org/software/libmicrohttpd/> | ||
| 717 | |||
| 718 | (C) 2006, 2007, 2008, 2009 Christian Grothoff (and other contributing | ||
| 719 | authors) | ||
| 720 | |||
| 721 | This library is free software; you can redistribute it and/or | ||
| 722 | modify it under the terms of the GNU Lesser General Public | ||
| 723 | License as published by the Free Software Foundation; either | ||
| 724 | version 2.1 of the License, or (at your option) any later version. | ||
| 725 | |||
| 726 | This library is distributed in the hope that it will be useful, | ||
| 727 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 728 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 729 | Lesser General Public License for more details. | ||
| 730 | |||
| 731 | You should have received a copy of the GNU Lesser General Public License | ||
| 732 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 733 | |||
| 734 | Python Programming Language | ||
| 735 | <http://www.python.org/> | ||
| 736 | |||
| 737 | Copyright © 2001-2008 Python Software Foundation. All rights reserved. | ||
| 738 | Copyright © 2000 BeOpen.com. All rights reserved. | ||
| 739 | Copyright © 1995-2001 Corporation for National Research Initiatives. All | ||
| 740 | rights reserved. | ||
| 741 | Copyright © 1991-1995 Stichting Mathematisch Centrum. All rights reserved. | ||
| 742 | |||
| 743 | Python is distributed under the Python Software Foundation License | ||
| 744 | version 2. A copy of the license may be retrieved from | ||
| 745 | http://www.python.org/psf/license/ and is repeated below under the section | ||
| 746 | "License: PSF License for Python 2.4". | ||
| 747 | |||
| 748 | libopendaap - library which enables applications to discover, and connect to, | ||
| 749 | iTunes music shares. | ||
| 750 | <http://craz.net/programs/itunes/libopendaap.html> | ||
| 751 | |||
| 752 | Copyright © 2004 David Hammerton. | ||
| 753 | |||
| 754 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 755 | of this software and associated documentation files (the "Software"), to | ||
| 756 | deal in the Software without restriction, including without limitation the | ||
| 757 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||
| 758 | sell copies of the Software, and to permit persons to whom the Software is | ||
| 759 | furnished to do so, subject to the following conditions: | ||
| 760 | |||
| 761 | The above copyright notice and this permission notice shall be included in | ||
| 762 | all copies or substantial portions of the Software. | ||
| 763 | |||
| 764 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 765 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 766 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 767 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 768 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 769 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
| 770 | IN THE SOFTWARE. | ||
| 771 | |||
| 772 | libsamplerate - audio rate conversion library | ||
| 773 | <http://www.mega-nerd.com/SRC/> | ||
| 774 | |||
| 775 | Copyright © 2002-2008 Erik de Castro Lopo <erikd@mega-nerd.com> | ||
| 776 | |||
| 777 | This program is free software; you can redistribute it and/or modify | ||
| 778 | it under the terms of the GNU General Public License as published by | ||
| 779 | the Free Software Foundation; either version 2 of the License, or | ||
| 780 | (at your option) any later version. | ||
| 781 | |||
| 782 | This program is distributed in the hope that it will be useful, | ||
| 783 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 784 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 785 | GNU General Public License for more details. | ||
| 786 | |||
| 787 | You should have received a copy of the GNU General Public License | ||
| 788 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 789 | |||
| 790 | MediaMVP Media Center | ||
| 791 | <http://www.mvpmc.org/> | ||
| 792 | |||
| 793 | Copyright © 2004-2006, Eric Lund, Jon Gettler, Sergio Slobodrian | ||
| 794 | http://www.mvpmc.org/ | ||
| 795 | |||
| 796 | This library is free software; you can redistribute it and/or | ||
| 797 | modify it under the terms of the GNU Lesser General Public | ||
| 798 | License as published by the Free Software Foundation; either | ||
| 799 | version 2.1 of the License, or (at your option) any later version. | ||
| 800 | |||
| 801 | This library is distributed in the hope that it will be useful, | ||
| 802 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 803 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 804 | Lesser General Public License for more details. | ||
| 805 | |||
| 806 | You should have received a copy of the GNU Lesser General Public License | ||
| 807 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 808 | |||
| 809 | MySQL | ||
| 810 | <http://www.mysql.com/> | ||
| 811 | |||
| 812 | Copyright © 2000-2003 MySQL AB | ||
| 813 | |||
| 814 | This program is free software; you can redistribute it and/or modify | ||
| 815 | it under the terms of the GNU General Public License as published by | ||
| 816 | the Free Software Foundation; either version 2 of the License. | ||
| 817 | |||
| 818 | This program is distributed in the hope that it will be useful, | ||
| 819 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 820 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 821 | GNU General Public License for more details. | ||
| 822 | |||
| 823 | You should have received a copy of the GNU General Public License | ||
| 824 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 825 | |||
| 826 | libid3tag - ID3 tag manipulation library | ||
| 827 | <http://www.underbit.com/products/mad/> | ||
| 828 | |||
| 829 | Copyright © 2000-2004 Underbit Technologies, Inc. | ||
| 830 | |||
| 831 | This program is free software; you can redistribute it and/or modify | ||
| 832 | it under the terms of the GNU General Public License as published by | ||
| 833 | the Free Software Foundation; either version 2 of the License, or | ||
| 834 | (at your option) any later version. | ||
| 835 | |||
| 836 | This program is distributed in the hope that it will be useful, | ||
| 837 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 838 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 839 | GNU General Public License for more details. | ||
| 840 | |||
| 841 | You should have received a copy of the GNU General Public License | ||
| 842 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 843 | |||
| 844 | Simple DirectMedia Layer | ||
| 845 | <http://www.libsdl.org/> | ||
| 846 | |||
| 847 | Copyright © 1997-2006 Sam Lantinga | ||
| 848 | |||
| 849 | This library is free software; you can redistribute it and/or | ||
| 850 | modify it under the terms of the GNU Lesser General Public | ||
| 851 | License as published by the Free Software Foundation; either | ||
| 852 | version 2.1 of the License, or (at your option) any later version. | ||
| 853 | |||
| 854 | This library is distributed in the hope that it will be useful, | ||
| 855 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 856 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 857 | Lesser General Public License for more details. | ||
| 858 | |||
| 859 | You should have received a copy of the GNU Lesser General Public License | ||
| 860 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 861 | |||
| 862 | libfribidi - Free Implementation of the Unicode BiDi algorithm | ||
| 863 | <http://www.fribidi.org/> | ||
| 864 | |||
| 865 | Copyright © 1999,2000 Dov Grobgeld | ||
| 866 | Copyright © 2001,2002 Behdad Esfahbod | ||
| 867 | |||
| 868 | This library is free software; you can redistribute it and/or | ||
| 869 | modify it under the terms of the GNU Lesser General Public | ||
| 870 | License as published by the Free Software Foundation; either | ||
| 871 | version 2.1 of the License, or (at your option) any later version. | ||
| 872 | |||
| 873 | This library is distributed in the hope that it will be useful, | ||
| 874 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 875 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 876 | Lesser General Public License for more details. | ||
| 877 | |||
| 878 | You should have received a copy of the GNU Lesser General Public License | ||
| 879 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 880 | |||
| 881 | CDRip - library that provides methods for extracting data from audio CDs | ||
| 882 | <http://libcdrip.sourceforge.net/> | ||
| 883 | |||
| 884 | Copyright © 1999 - 2002 Albert L. Faber | ||
| 885 | |||
| 886 | This program is free software; you can redistribute it and/or modify | ||
| 887 | it under the terms of the GNU General Public License as published by | ||
| 888 | the Free Software Foundation; either version 2 of the License, or | ||
| 889 | (at your option) any later version. | ||
| 890 | |||
| 891 | This program is distributed in the hope that it will be useful, | ||
| 892 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 893 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 894 | GNU General Public License for more details. | ||
| 895 | |||
| 896 | You should have received a copy of the GNU General Public License | ||
| 897 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 898 | |||
| 899 | Platinum - UPnP library | ||
| 900 | <http://www.plutinosoft.com/> | ||
| 901 | |||
| 902 | Copyright © 2004-2008, Plutinosoft, LLC. All rights reserved. | ||
| 903 | |||
| 904 | This program is free software; you can redistribute it and/or modify | ||
| 905 | it under the terms of the GNU General Public License as published by | ||
| 906 | the Free Software Foundation; either version 2 of the License, or | ||
| 907 | (at your option) any later version. | ||
| 908 | |||
| 909 | This program is distributed in the hope that it will be useful, | ||
| 910 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 911 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 912 | GNU General Public License for more details. | ||
| 913 | |||
| 914 | You should have received a copy of the GNU General Public License | ||
| 915 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 916 | |||
| 917 | SQLite - library that implements a self-contained, serverless, | ||
| 918 | zero-configuration, transactional SQL database engine. | ||
| 919 | <http://www.sqlite.org/> | ||
| 920 | |||
| 921 | Copyright © 2004, Leo Seib, Hannover | ||
| 922 | |||
| 923 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 924 | of this software and associated documentation files (the "Software"), to | ||
| 925 | deal in the Software without restriction, including without limitation the | ||
| 926 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||
| 927 | sell copies of the Software, and to permit persons to whom the Software is | ||
| 928 | furnished to do so, subject to the following conditions: | ||
| 929 | |||
| 930 | The above copyright notice and this permission notice shall be included in | ||
| 931 | all copies or substantial portions of the Software. | ||
| 932 | |||
| 933 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 934 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 935 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 936 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 937 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 938 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
| 939 | IN THE SOFTWARE. | ||
| 940 | |||
| 941 | CxImage - C++ image processing and conversion library | ||
| 942 | <http://www.xdp.it/cximage.htm> | ||
| 943 | |||
| 944 | Copyright © 2001 - 2008, Davide Pizzolato | ||
| 945 | |||
| 946 | Original CImage and CImageIterator implementation are: | ||
| 947 | Copyright © 1995, Alejandro Aguilar Sierra | ||
| 948 | (asierra(at)servidor(dot)unam(dot)mx) | ||
| 949 | |||
| 950 | Covered code is provided under this license on an "as is" basis, without | ||
| 951 | warranty of any kind, either expressed or implied, including, without | ||
| 952 | limitation, warranties that the covered code is free of defects, | ||
| 953 | merchantable, fit for a particular purpose or non-infringing. The entire | ||
| 954 | risk as to the quality and performance of the covered code is with you. | ||
| 955 | Should any covered code prove defective in any respect, you (not the initial | ||
| 956 | developer or any other contributor) assume the cost of any necessary | ||
| 957 | servicing, repair or correction. This disclaimer of warranty constitutes an | ||
| 958 | essential part of this license. No use of any covered code is authorized | ||
| 959 | hereunder except under this disclaimer. | ||
| 960 | |||
| 961 | Permission is hereby granted to use, copy, modify, and distribute this | ||
| 962 | source code, or portions hereof, for any purpose, including commercial | ||
| 963 | applications, freely and without fee, subject to the following restrictions: | ||
| 964 | |||
| 965 | 1. The origin of this software must not be misrepresented; you must not | ||
| 966 | claim that you wrote the original software. If you use this software | ||
| 967 | in a product, an acknowledgment in the product documentation would be | ||
| 968 | appreciated but is not required. | ||
| 969 | |||
| 970 | 2. Altered source versions must be plainly marked as such, and must not be | ||
| 971 | misrepresented as being the original software. | ||
| 972 | |||
| 973 | 3. This notice may not be removed or altered from any source distribution. | ||
| 974 | |||
| 975 | Portions of CxImage are under different copyright and under different | ||
| 976 | licenses. | ||
| 977 | |||
| 978 | JasPer | ||
| 979 | Copyright © 2001-2006 Michael David Adams | ||
| 980 | Copyright © 1999-2000 Image Power, Inc. | ||
| 981 | Copyright © 1999-2000 The University of British Columbia | ||
| 982 | All Rights Reserved. | ||
| 983 | |||
| 984 | Permission is hereby granted, free of charge, to any person (the | ||
| 985 | "User") obtaining a copy of this software and associated documentation | ||
| 986 | files (the "Software"), to deal in the Software without restriction, | ||
| 987 | including without limitation the rights to use, copy, modify, merge, | ||
| 988 | publish, distribute, and/or sell copies of the Software, and to permit | ||
| 989 | persons to whom the Software is furnished to do so, subject to the | ||
| 990 | following conditions: | ||
| 991 | |||
| 992 | 1. The above copyright notices and this permission notice (which | ||
| 993 | includes the disclaimer below) shall be included in all copies or | ||
| 994 | substantial portions of the Software. | ||
| 995 | |||
| 996 | 2. The name of a copyright holder shall not be used to endorse or | ||
| 997 | promote products derived from the Software without specific prior | ||
| 998 | written permission. | ||
| 999 | |||
| 1000 | THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS | ||
| 1001 | LICENSE. NO USE OF THE SOFTWARE IS AUTHORIZED HEREUNDER EXCEPT UNDER | ||
| 1002 | THIS DISCLAIMER. THE SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS | ||
| 1003 | "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING | ||
| 1004 | BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A | ||
| 1005 | PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. IN NO | ||
| 1006 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL | ||
| 1007 | INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING | ||
| 1008 | FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, | ||
| 1009 | NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION | ||
| 1010 | WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. NO ASSURANCES ARE | ||
| 1011 | PROVIDED BY THE COPYRIGHT HOLDERS THAT THE SOFTWARE DOES NOT INFRINGE | ||
| 1012 | THE PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OF ANY OTHER ENTITY. | ||
| 1013 | EACH COPYRIGHT HOLDER DISCLAIMS ANY LIABILITY TO THE USER FOR CLAIMS | ||
| 1014 | BROUGHT BY ANY OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL | ||
| 1015 | PROPERTY RIGHTS OR OTHERWISE. AS A CONDITION TO EXERCISING THE RIGHTS | ||
| 1016 | GRANTED HEREUNDER, EACH USER HEREBY ASSUMES SOLE RESPONSIBILITY TO SECURE | ||
| 1017 | ANY OTHER INTELLECTUAL PROPERTY RIGHTS NEEDED, IF ANY. THE SOFTWARE | ||
| 1018 | IS NOT FAULT-TOLERANT AND IS NOT INTENDED FOR USE IN MISSION-CRITICAL | ||
| 1019 | SYSTEMS, SUCH AS THOSE USED IN THE OPERATION OF NUCLEAR FACILITIES, | ||
| 1020 | AIRCRAFT NAVIGATION OR COMMUNICATION SYSTEMS, AIR TRAFFIC CONTROL | ||
| 1021 | SYSTEMS, DIRECT LIFE SUPPORT MACHINES, OR WEAPONS SYSTEMS, IN WHICH | ||
| 1022 | THE FAILURE OF THE SOFTWARE OR SYSTEM COULD LEAD DIRECTLY TO DEATH, | ||
| 1023 | PERSONAL INJURY, OR SEVERE PHYSICAL OR ENVIRONMENTAL DAMAGE ("HIGH | ||
| 1024 | RISK ACTIVITIES"). THE COPYRIGHT HOLDERS SPECIFICALLY DISCLAIM ANY | ||
| 1025 | EXPRESS OR IMPLIED WARRANTY OF FITNESS FOR HIGH RISK ACTIVITIES. | ||
| 1026 | |||
| 1027 | JBIG | ||
| 1028 | Copyright © Markus Kuhn -- http://www.cl.cam.ac.uk/~mgk25/ | ||
| 1029 | |||
| 1030 | This program is free software; you can redistribute it and/or modify | ||
| 1031 | it under the terms of the GNU General Public License as published by | ||
| 1032 | the Free Software Foundation; either version 2 of the License, or | ||
| 1033 | (at your option) any later version. | ||
| 1034 | |||
| 1035 | This program is distributed in the hope that it will be useful, | ||
| 1036 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1037 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1038 | GNU General Public License for more details. | ||
| 1039 | |||
| 1040 | You should have received a copy of the GNU General Public License | ||
| 1041 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1042 | |||
| 1043 | MNG | ||
| 1044 | Copyright © 2000-2007 Gerard Juyn (gerard@libmng.com) | ||
| 1045 | |||
| 1046 | For the purposes of this copyright and license, "Contributing Authors" | ||
| 1047 | is defined as the following set of individuals: | ||
| 1048 | |||
| 1049 | Gerard Juyn | ||
| 1050 | Glenn Randers-Pehrson | ||
| 1051 | |||
| 1052 | The MNG Library is supplied "AS IS". The Contributing Authors | ||
| 1053 | disclaim all warranties, expressed or implied, including, without | ||
| 1054 | limitation, the warranties of merchantability and of fitness for any | ||
| 1055 | purpose. The Contributing Authors assume no liability for direct, | ||
| 1056 | indirect, incidental, special, exemplary, or consequential damages, | ||
| 1057 | which may result from the use of the MNG Library, even if advised of | ||
| 1058 | the possibility of such damage. | ||
| 1059 | |||
| 1060 | Permission is hereby granted to use, copy, modify, and distribute this | ||
| 1061 | source code, or portions hereof, for any purpose, without fee, subject | ||
| 1062 | to the following restrictions: | ||
| 1063 | |||
| 1064 | 1. The origin of this source code must not be misrepresented; | ||
| 1065 | you must not claim that you wrote the original software. | ||
| 1066 | |||
| 1067 | 2. Altered versions must be plainly marked as such and must not be | ||
| 1068 | misrepresented as being the original source. | ||
| 1069 | |||
| 1070 | 3. This Copyright notice may not be removed or altered from any source | ||
| 1071 | or altered source distribution. | ||
| 1072 | |||
| 1073 | The Contributing Authors specifically permit, without fee, and | ||
| 1074 | encourage the use of this source code as a component to supporting | ||
| 1075 | MNG and JNG file format in commercial products. If you use this | ||
| 1076 | source code in a product, acknowledgment would be highly appreciated. | ||
| 1077 | |||
| 1078 | JPEG | ||
| 1079 | Copyright © 1994-1998, Thomas G. Lane. | ||
| 1080 | |||
| 1081 | JPEG code is under the Independent JPEG Group License which can be found at | ||
| 1082 | http://dev.w3.org/cvsweb/Amaya/libjpeg/Attic/README?rev=1.2 and is repeated | ||
| 1083 | under the section "License: IJG License". | ||
| 1084 | |||
| 1085 | TIFF | ||
| 1086 | Copyright © 1988-1997 Sam Leffler | ||
| 1087 | Copyright © 1991-1997 Silicon Graphics, Inc. | ||
| 1088 | |||
| 1089 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 1090 | of this software and associated documentation files (the "Software"), to | ||
| 1091 | deal in the Software without restriction, including without limitation the | ||
| 1092 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||
| 1093 | sell copies of the Software, and to permit persons to whom the Software is | ||
| 1094 | furnished to do so, subject to the following conditions: | ||
| 1095 | |||
| 1096 | The above copyright notice and this permission notice shall be included in | ||
| 1097 | all copies or substantial portions of the Software. | ||
| 1098 | |||
| 1099 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 1100 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 1101 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 1102 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 1103 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 1104 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
| 1105 | IN THE SOFTWARE. | ||
| 1106 | |||
| 1107 | PNG | ||
| 1108 | Copyright © 1998, 1999 Glenn Randers-Pehrson | ||
| 1109 | |||
| 1110 | This software is provided 'as-is', without any express or implied | ||
| 1111 | warranty. In no event will the authors be held liable for any damages | ||
| 1112 | arising from the use of this software. | ||
| 1113 | |||
| 1114 | Permission is granted to anyone to use this software for any purpose, | ||
| 1115 | including commercial applications, and to alter it and redistribute it | ||
| 1116 | freely, subject to the following restrictions: | ||
| 1117 | |||
| 1118 | 1. The origin of this software must not be misrepresented; you must not | ||
| 1119 | claim that you wrote the original software. If you use this software | ||
| 1120 | in a product, an acknowledgment in the product documentation would be | ||
| 1121 | appreciated but is not required. | ||
| 1122 | 2. Altered source versions must be plainly marked as such, and must not be | ||
| 1123 | misrepresented as being the original software. | ||
| 1124 | 3. This notice may not be removed or altered from any source distribution. | ||
| 1125 | |||
| 1126 | Dave Coffin's raw photo decoder | ||
| 1127 | Copyright © 1997-2009 by Dave Coffin, dcoffin a cybercom o net | ||
| 1128 | |||
| 1129 | Covered code is provided under this license on an "as is" basis, without | ||
| 1130 | warranty of any kind, either expressed or implied, including, without | ||
| 1131 | limitation, warranties that the covered code is free of defects, | ||
| 1132 | merchantable, fit for a particular purpose or non-infringing. The entire | ||
| 1133 | risk as to the quality and performance of the covered code is with you. | ||
| 1134 | Should any covered code prove defective in any respect, you (not the initial | ||
| 1135 | developer or any other contributor) assume the cost of any necessary | ||
| 1136 | servicing, repair or correction. This disclaimer of warranty constitutes an | ||
| 1137 | essential part of this license. No use of any covered code is authorized | ||
| 1138 | hereunder except under this disclaimer. | ||
| 1139 | |||
| 1140 | No license is required to download and use libdcr. However, | ||
| 1141 | to lawfully redistribute libdcr, you must either (a) offer, at | ||
| 1142 | no extra charge, full source code for all executable files | ||
| 1143 | containing RESTRICTED functions, (b) distribute this code under | ||
| 1144 | the GPL Version 2 or later, (c) remove all RESTRICTED functions, | ||
| 1145 | re-implement them, or copy them from an earlier, unrestricted | ||
| 1146 | revision of dcraw.c, or (d) purchase a license from the author | ||
| 1147 | of dcraw.c. | ||
| 1148 | |||
| 1149 | PortAudio - portable cross-platform Audio API | ||
| 1150 | <http://www.portaudio.com/> | ||
| 1151 | |||
| 1152 | Copyright © 1999-2002 Ross Bencina and Phil Burk | ||
| 1153 | |||
| 1154 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 1155 | of this software and associated documentation files (the "Software"), to | ||
| 1156 | deal in the Software without restriction, including without limitation the | ||
| 1157 | rights to use, copy, modify, merge, publish, distribute, sublicense, and/or | ||
| 1158 | sell copies of the Software, and to permit persons to whom the Software is | ||
| 1159 | furnished to do so, subject to the following conditions: | ||
| 1160 | |||
| 1161 | The above copyright notice and this permission notice shall be included in | ||
| 1162 | all copies or substantial portions of the Software. | ||
| 1163 | |||
| 1164 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 1165 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 1166 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||
| 1167 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
| 1168 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 1169 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
| 1170 | IN THE SOFTWARE. | ||
| 1171 | |||
| 1172 | Audioscrobbler - The Social Music Technology Playground | ||
| 1173 | <http://www.audioscrobbler.net/> | ||
| 1174 | |||
| 1175 | Copyright © 2003 Russell Garrett (russ-scrobbler@garrett.co.uk) | ||
| 1176 | |||
| 1177 | This program is free software; you can redistribute it and/or modify | ||
| 1178 | it under the terms of the GNU General Public License as published by | ||
| 1179 | the Free Software Foundation; either version 2 of the License, or | ||
| 1180 | (at your option) any later version. | ||
| 1181 | |||
| 1182 | This program is distributed in the hope that it will be useful, | ||
| 1183 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1184 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1185 | GNU General Public License for more details. | ||
| 1186 | |||
| 1187 | You should have received a copy of the GNU General Public License | ||
| 1188 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1189 | |||
| 1190 | Samba - Opening Windows to a Wider World | ||
| 1191 | <http://www.samba.org/> | ||
| 1192 | |||
| 1193 | Copyright © Andrew Tridgell 1998 | ||
| 1194 | Copyright © Richard Sharpe 2000 | ||
| 1195 | Copyright © John Terpsra 2000 | ||
| 1196 | Copyright © Tom Jansen (Ninja ISD) 2002 | ||
| 1197 | Copyright © Derrell Lipman 2003 | ||
| 1198 | |||
| 1199 | This program is free software; you can redistribute it and/or modify | ||
| 1200 | it under the terms of the GNU General Public License as published by | ||
| 1201 | the Free Software Foundation; either version 2 of the License, or | ||
| 1202 | (at your option) any later version. | ||
| 1203 | |||
| 1204 | This program is distributed in the hope that it will be useful, | ||
| 1205 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1206 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1207 | GNU General Public License for more details. | ||
| 1208 | |||
| 1209 | You should have received a copy of the GNU General Public License | ||
| 1210 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1211 | |||
| 1212 | PCRE - Perl Compatible Regular Expressions | ||
| 1213 | <http://www.pcre.org/> | ||
| 1214 | |||
| 1215 | Copyright © 1997-2007 University of Cambridge | ||
| 1216 | |||
| 1217 | Redistribution and use in source and binary forms, with or without | ||
| 1218 | modification, are permitted provided that the following conditions are met: | ||
| 1219 | |||
| 1220 | * Redistributions of source code must retain the above copyright notice, | ||
| 1221 | this list of conditions and the following disclaimer. | ||
| 1222 | |||
| 1223 | * Redistributions in binary form must reproduce the above copyright | ||
| 1224 | notice, this list of conditions and the following disclaimer in the | ||
| 1225 | documentation and/or other materials provided with the distribution. | ||
| 1226 | |||
| 1227 | * Neither the name of the University of Cambridge nor the names of its | ||
| 1228 | contributors may be used to endorse or promote products derived from | ||
| 1229 | this software without specific prior written permission. | ||
| 1230 | |||
| 1231 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
| 1232 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 1233 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 1234 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE | ||
| 1235 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
| 1236 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
| 1237 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
| 1238 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
| 1239 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
| 1240 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
| 1241 | POSSIBILITY OF SUCH DAMAGE. | ||
| 1242 | |||
| 1243 | HDHomeRun - Networked Digital Tuner | ||
| 1244 | <http://www.silicondust.com/> | ||
| 1245 | |||
| 1246 | Copyright © 2006-2008 Silicondust Engineering Ltd. <www.silicondust.com> | ||
| 1247 | |||
| 1248 | This library is free software; you can redistribute it and/or | ||
| 1249 | modify it under the terms of the GNU Lesser General Public | ||
| 1250 | License as published by the Free Software Foundation; either | ||
| 1251 | version 3 of the License, or (at your option) any later version. | ||
| 1252 | |||
| 1253 | This library is distributed in the hope that it will be useful, | ||
| 1254 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1255 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 1256 | Lesser General Public License for more details. | ||
| 1257 | |||
| 1258 | You should have received a copy of the GNU Lesser General Public | ||
| 1259 | License along with this library. If not, see | ||
| 1260 | <http://www.gnu.org/licenses/>. | ||
| 1261 | |||
| 1262 | As a special exception to the GNU Lesser General Public License, | ||
| 1263 | you may link, statically or dynamically, an application with a | ||
| 1264 | publicly distributed version of the Library to produce an | ||
| 1265 | executable file containing portions of the Library, and | ||
| 1266 | distribute that executable file under terms of your choice, | ||
| 1267 | without any of the additional requirements listed in clause 4 of | ||
| 1268 | the GNU Lesser General Public License. | ||
| 1269 | |||
| 1270 | By "a publicly distributed version of the Library", we mean | ||
| 1271 | either the unmodified Library as distributed by Silicondust, or a | ||
| 1272 | modified version of the Library that is distributed under the | ||
| 1273 | conditions defined in the GNU Lesser General Public License. | ||
| 1274 | |||
| 1275 | LibASS - portable library for SSA/ASS subtitles rendering | ||
| 1276 | <http://sourceforge.net/projects/libass/> | ||
| 1277 | |||
| 1278 | Copyright © 2006 Evgeniy Stepanov <eugeni.stepanov@gmail.com> | ||
| 1279 | |||
| 1280 | This program is free software; you can redistribute it and/or modify | ||
| 1281 | it under the terms of the GNU General Public License as published by | ||
| 1282 | the Free Software Foundation; either version 2 of the License, or | ||
| 1283 | (at your option) any later version. | ||
| 1284 | |||
| 1285 | This program is distributed in the hope that it will be useful, | ||
| 1286 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1287 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1288 | GNU General Public License for more details. | ||
| 1289 | |||
| 1290 | You should have received a copy of the GNU General Public License | ||
| 1291 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1292 | |||
| 1293 | libRTV - ReplayTV library | ||
| 1294 | |||
| 1295 | Copyright © 2002 John Todd Larason <jtl@molehill.org> | ||
| 1296 | |||
| 1297 | This program is free software; you can redistribute it and/or modify | ||
| 1298 | it under the terms of the GNU General Public License as published by | ||
| 1299 | the Free Software Foundation; either version 2 of the License, or | ||
| 1300 | (at your option) any later version. | ||
| 1301 | |||
| 1302 | This program is distributed in the hope that it will be useful, | ||
| 1303 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1304 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1305 | GNU General Public License for more details. | ||
| 1306 | |||
| 1307 | You should have received a copy of the GNU General Public License | ||
| 1308 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1309 | |||
| 1310 | libiconv - iconv() implementation | ||
| 1311 | <http://www.gnu.org/software/libiconv/> | ||
| 1312 | |||
| 1313 | Copyright © 1999-2003 Free Software Foundation, Inc. | ||
| 1314 | |||
| 1315 | This library is free software; you can redistribute it and/or | ||
| 1316 | modify it under the terms of the GNU Library General Public | ||
| 1317 | License as published by the Free Software Foundation; either | ||
| 1318 | version 2 of the License, or (at your option) any later version. | ||
| 1319 | |||
| 1320 | This library is distributed in the hope that it will be useful, | ||
| 1321 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1322 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 1323 | Library General Public License for more details. | ||
| 1324 | |||
| 1325 | You should have received a copy of the GNU Library General Public License | ||
| 1326 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1327 | |||
| 1328 | Boost C++ Libraries | ||
| 1329 | <http://www.boost.org/> | ||
| 1330 | |||
| 1331 | Copyright © 2001, 2002 Peter Dimov and Multi Media Ltd. | ||
| 1332 | Copyright © 2007 Peter Dimov | ||
| 1333 | |||
| 1334 | Permission is hereby granted, free of charge, to any person or organization | ||
| 1335 | obtaining a copy of the software and accompanying documentation covered by | ||
| 1336 | this license (the "Software") to use, reproduce, display, distribute, | ||
| 1337 | execute, and transmit the Software, and to prepare derivative works of the | ||
| 1338 | Software, and to permit third-parties to whom the Software is furnished to | ||
| 1339 | do so, all subject to the following: | ||
| 1340 | |||
| 1341 | The copyright notices in the Software and this entire statement, including | ||
| 1342 | the above license grant, this restriction and the following disclaimer, | ||
| 1343 | must be included in all copies of the Software, in whole or in part, and | ||
| 1344 | all derivative works of the Software, unless such copies or derivative | ||
| 1345 | works are solely in the form of machine-executable object code generated by | ||
| 1346 | a source language processor. | ||
| 1347 | |||
| 1348 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
| 1349 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
| 1350 | FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT | ||
| 1351 | SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE | ||
| 1352 | FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE, | ||
| 1353 | ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
| 1354 | DEALINGS IN THE SOFTWARE. | ||
| 1355 | |||
| 1356 | HTS Tvheadend - Combined DVB receiver, Digital Video Recorder and Showtime | ||
| 1357 | streaming server for Linux. | ||
| 1358 | <http://www.lonelycoder.com/hts/> | ||
| 1359 | |||
| 1360 | Copyright © 2008 Andreas Öman | ||
| 1361 | |||
| 1362 | This program is free software: you can redistribute it and/or modify | ||
| 1363 | it under the terms of the GNU General Public License as published by | ||
| 1364 | the Free Software Foundation, either version 3 of the License, or | ||
| 1365 | (at your option) any later version. | ||
| 1366 | |||
| 1367 | This program is distributed in the hope that it will be useful, | ||
| 1368 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1369 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1370 | GNU General Public License for more details. | ||
| 1371 | |||
| 1372 | You should have received a copy of the GNU General Public License | ||
| 1373 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1374 | |||
| 1375 | GNU Compact Disc Input and Control Library | ||
| 1376 | <http://www.gnu.org/software/libcdio/index.html> | ||
| 1377 | |||
| 1378 | Copyright © 2001 Herbert Valerio Riedel <hvr@gnu.org> | ||
| 1379 | Copyright © 2003, 2004, 2005 Rocky Bernstein <rocky@panix.com> | ||
| 1380 | |||
| 1381 | This program is free software; you can redistribute it and/or modify | ||
| 1382 | it under the terms of the GNU General Public License as published by | ||
| 1383 | the Free Software Foundation; either version 2 of the License, or | ||
| 1384 | (at your option) any later version. | ||
| 1385 | |||
| 1386 | This program is distributed in the hope that it will be useful, | ||
| 1387 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1388 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1389 | GNU General Public License for more details. | ||
| 1390 | |||
| 1391 | You should have received a copy of the GNU General Public License | ||
| 1392 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1393 | |||
| 1394 | SNESAPU - SNES APU emulator library | ||
| 1395 | <http://www.alpha-ii.com/> | ||
| 1396 | |||
| 1397 | Copyright © 2001-2006 Alpha-II | ||
| 1398 | |||
| 1399 | This library is free software; you can redistribute it and/or | ||
| 1400 | modify it under the terms of the GNU Lesser General Public | ||
| 1401 | License as published by the Free Software Foundation; either | ||
| 1402 | version 2.1 of the License, or (at your option) any later version. | ||
| 1403 | |||
| 1404 | This library is distributed in the hope that it will be useful, | ||
| 1405 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1406 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 1407 | Lesser General Public License for more details. | ||
| 1408 | |||
| 1409 | You should have received a copy of the GNU Lesser General Public License | ||
| 1410 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1411 | |||
| 1412 | Musepack Decoder Library | ||
| 1413 | <http://www.musepack.net/> | ||
| 1414 | |||
| 1415 | Copyright © 2005, The Musepack Development Team. All rights reserved. | ||
| 1416 | |||
| 1417 | Redistribution and use in source and binary forms, with or without | ||
| 1418 | modification, are permitted provided that the following conditions are | ||
| 1419 | met: | ||
| 1420 | |||
| 1421 | * Redistributions of source code must retain the above copyrig | ||
| 1422 | notice, this list of conditions and the following disclaimer. | ||
| 1423 | |||
| 1424 | * Redistributions in binary form must reproduce the above | ||
| 1425 | copyright notice, this list of conditions and the following | ||
| 1426 | disclaimer in the documentation and/or other materials provided | ||
| 1427 | with the distribution. | ||
| 1428 | |||
| 1429 | * Neither the name of the The Musepack Development Team nor the | ||
| 1430 | names of its contributors may be used to endorse or promote | ||
| 1431 | products derived from this software without specific prior | ||
| 1432 | written permission. | ||
| 1433 | |||
| 1434 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
| 1435 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
| 1436 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||
| 1437 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT | ||
| 1438 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, | ||
| 1439 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||
| 1440 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| 1441 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| 1442 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| 1443 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE | ||
| 1444 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 1445 | |||
| 1446 | FLAC - Free Lossless Audio Codec | ||
| 1447 | |||
| 1448 | Copyright © 2000,2001,2002,2003,2004,2005,2006,2007 Josh Coalson | ||
| 1449 | |||
| 1450 | This program is free software; you can redistribute it and/or modify | ||
| 1451 | it under the terms of the GNU General Public License as published by | ||
| 1452 | the Free Software Foundation; either version 2 of the License, or | ||
| 1453 | (at your option) any later version. | ||
| 1454 | |||
| 1455 | This program is distributed in the hope that it will be useful, | ||
| 1456 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1457 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1458 | GNU General Public License for more details. | ||
| 1459 | |||
| 1460 | You should have received a copy of the GNU General Public License | ||
| 1461 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1462 | |||
| 1463 | Gens APU from Gens | ||
| 1464 | <http://info.sonicretro.org/Gens/GS> | ||
| 1465 | |||
| 1466 | Copyright © 2002 by Stéphane Dallongeville | ||
| 1467 | |||
| 1468 | This program is free software; you can redistribute it and/or modify | ||
| 1469 | it under the terms of the GNU General Public License as published by | ||
| 1470 | the Free Software Foundation; either version 2 of the License, or | ||
| 1471 | (at your option) any later version. | ||
| 1472 | |||
| 1473 | This program is distributed in the hope that it will be useful, | ||
| 1474 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1475 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1476 | GNU General Public License for more details. | ||
| 1477 | |||
| 1478 | You should have received a copy of the GNU General Public License | ||
| 1479 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1480 | |||
| 1481 | vgmstream - library for playback of various video game audio formats | ||
| 1482 | <http://vgmstream.sourceforge.net/> | ||
| 1483 | |||
| 1484 | Copyright © 2008-2009 Adam Gashlin, Fastelbja, Ronny Elfert | ||
| 1485 | |||
| 1486 | Permission to use, copy, modify, and/or distribute this software for any | ||
| 1487 | purpose with or without fee is hereby granted, provided that the above | ||
| 1488 | copyright notice and this permission notice appear in all copies. | ||
| 1489 | |||
| 1490 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||
| 1491 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||
| 1492 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY | ||
| 1493 | SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 1494 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION | ||
| 1495 | OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN | ||
| 1496 | CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 1497 | |||
| 1498 | nosefart - NES sound format player | ||
| 1499 | <http://nosefart.sourceforge.net/> | ||
| 1500 | |||
| 1501 | Copyright © 1998-2000 Matthew Conte (matt@conte.com) | ||
| 1502 | |||
| 1503 | This program is free software; you can redistribute it and/or modify | ||
| 1504 | it under the terms of the GNU General Public License as published by | ||
| 1505 | the Free Software Foundation; either version 2 of the License, or | ||
| 1506 | (at your option) any later version. | ||
| 1507 | |||
| 1508 | This program is distributed in the hope that it will be useful, | ||
| 1509 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1510 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1511 | GNU General Public License for more details. | ||
| 1512 | |||
| 1513 | You should have received a copy of the GNU General Public License | ||
| 1514 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1515 | |||
| 1516 | MAD - MPEG Audio Decoder | ||
| 1517 | <http://www.underbit.com/products/mad/> | ||
| 1518 | |||
| 1519 | Copyright © 2000-2004 Underbit Technologies, Inc | ||
| 1520 | |||
| 1521 | This program is free software; you can redistribute it and/or modify | ||
| 1522 | it under the terms of the GNU General Public License as published by | ||
| 1523 | the Free Software Foundation; either version 2 of the License, or | ||
| 1524 | (at your option) any later version. | ||
| 1525 | |||
| 1526 | This program is distributed in the hope that it will be useful, | ||
| 1527 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1528 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1529 | GNU General Public License for more details. | ||
| 1530 | |||
| 1531 | You should have received a copy of the GNU General Public License | ||
| 1532 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1533 | |||
| 1534 | SID Player Music Library V2 | ||
| 1535 | <http://sidplay2.sourceforge.net/> | ||
| 1536 | |||
| 1537 | Copyright © Michael Schwendt <mschwendt@yahoo.com> | ||
| 1538 | Copyright © 2000 by Simon White | ||
| 1539 | Copyright © 2001-2002 by Jarno Paananen | ||
| 1540 | Copyright © 2004 Dag Lem <resid@nimrod.no> | ||
| 1541 | |||
| 1542 | This program is free software; you can redistribute it and/or modify | ||
| 1543 | it under the terms of the GNU General Public License as published by | ||
| 1544 | the Free Software Foundation; either version 2 of the License, or | ||
| 1545 | (at your option) any later version. | ||
| 1546 | |||
| 1547 | This program is distributed in the hope that it will be useful, | ||
| 1548 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1549 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1550 | GNU General Public License for more details. | ||
| 1551 | |||
| 1552 | You should have received a copy of the GNU General Public License | ||
| 1553 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1554 | |||
| 1555 | Xbox ADPCM audio codec | ||
| 1556 | <http://www.winamp.com/plugins/details/147392> | ||
| 1557 | |||
| 1558 | Copyright © Luigi Auriemma | ||
| 1559 | |||
| 1560 | This program is free software; you can redistribute it and/or modify | ||
| 1561 | it under the terms of the GNU General Public License as published by | ||
| 1562 | the Free Software Foundation; either version 2 of the License, or | ||
| 1563 | (at your option) any later version. | ||
| 1564 | |||
| 1565 | This program is distributed in the hope that it will be useful, | ||
| 1566 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1567 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1568 | GNU General Public License for more details. | ||
| 1569 | |||
| 1570 | You should have received a copy of the GNU General Public License | ||
| 1571 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1572 | |||
| 1573 | ST-Sound - general "Nostalgic" Computer Sound Emulator | ||
| 1574 | <http://leonard.oxg.free.fr> | ||
| 1575 | |||
| 1576 | Copyright © 1995-1999 Arnaud Carré ( http://leonard.oxg.free.fr ) | ||
| 1577 | |||
| 1578 | This program is free software; you can redistribute it and/or modify | ||
| 1579 | it under the terms of the GNU General Public License as published by | ||
| 1580 | the Free Software Foundation; either version 2 of the License, or | ||
| 1581 | (at your option) any later version. | ||
| 1582 | |||
| 1583 | This program is distributed in the hope that it will be useful, | ||
| 1584 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1585 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1586 | GNU General Public License for more details. | ||
| 1587 | |||
| 1588 | You should have received a copy of the GNU General Public License | ||
| 1589 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1590 | |||
| 1591 | TiMidity++ - software synthesizer | ||
| 1592 | <http://timidity.sourceforge.net/> | ||
| 1593 | |||
| 1594 | Copyright © 1999-2002 Masanao Izumo <mo@goice.co.jp> | ||
| 1595 | Copyright © 1995 Tuukka Toivonen <tt@cgs.fi> | ||
| 1596 | |||
| 1597 | This program is free software; you can redistribute it and/or modify | ||
| 1598 | it under the terms of the GNU General Public License as published by | ||
| 1599 | the Free Software Foundation; either version 2 of the License, or | ||
| 1600 | (at your option) any later version. | ||
| 1601 | |||
| 1602 | This program is distributed in the hope that it will be useful, | ||
| 1603 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1604 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1605 | GNU General Public License for more details. | ||
| 1606 | |||
| 1607 | You should have received a copy of the GNU General Public License | ||
| 1608 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1609 | |||
| 1610 | FFmpeg - complete, cross-platform solution to record, convert and stream audio | ||
| 1611 | and video | ||
| 1612 | <http://www.ffmpeg.org/> | ||
| 1613 | |||
| 1614 | Copyright © Fabrice Bellard | ||
| 1615 | Copyright © Alex Beregszaszi | ||
| 1616 | Copyright © BERO | ||
| 1617 | Copyright © Mario Brito | ||
| 1618 | Copyright © Ronald Bultje | ||
| 1619 | Copyright © Tim Ferguson | ||
| 1620 | Copyright © Brian Foley | ||
| 1621 | Copyright © Arpad Gereoffy | ||
| 1622 | Copyright © Philip Gladstone | ||
| 1623 | Copyright © Vladimir Gneushev | ||
| 1624 | Copyright © Wolfgang Hesseler | ||
| 1625 | Copyright © Falk Hueffner | ||
| 1626 | Copyright © Zdenek Kabelac | ||
| 1627 | Copyright © Robin Kay | ||
| 1628 | Copyright © Todd Kirby | ||
| 1629 | Copyright © Nick Kurshev | ||
| 1630 | Copyright © Mike Melanson | ||
| 1631 | Copyright © Michael Niedermayer | ||
| 1632 | Copyright © François Revol | ||
| 1633 | Copyright © Roman Shaposhnik | ||
| 1634 | Copyright © Dieter Shirley | ||
| 1635 | Copyright © Juan J. Sierralta | ||
| 1636 | Copyright © Ewald Snel | ||
| 1637 | Copyright © Leon van Stuivenberg | ||
| 1638 | Copyright © Roberto Togni | ||
| 1639 | Copyright © Lionel Ulmer | ||
| 1640 | |||
| 1641 | Falls under two licenses, the LGPL-2.1 and GPL-2. | ||
| 1642 | |||
| 1643 | LGPL-2.1 | ||
| 1644 | |||
| 1645 | This library is free software; you can redistribute it and/or | ||
| 1646 | modify it under the terms of the GNU Lesser General Public | ||
| 1647 | License as published by the Free Software Foundation; either | ||
| 1648 | version 2.1 of the License, or (at your option) any later version. | ||
| 1649 | |||
| 1650 | This library is distributed in the hope that it will be useful, | ||
| 1651 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1652 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 1653 | Lesser General Public License for more details. | ||
| 1654 | |||
| 1655 | You should have received a copy of the GNU Lesser General Public License | ||
| 1656 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1657 | |||
| 1658 | GPL-2 | ||
| 1659 | |||
| 1660 | This program is free software; you can redistribute it and/or modify | ||
| 1661 | it under the terms of the GNU General Public License as published by | ||
| 1662 | the Free Software Foundation; either version 2 of the License, or | ||
| 1663 | (at your option) any later version. | ||
| 1664 | |||
| 1665 | This program is distributed in the hope that it will be useful, | ||
| 1666 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1667 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1668 | GNU General Public License for more details. | ||
| 1669 | |||
| 1670 | You should have received a copy of the GNU General Public License | ||
| 1671 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1672 | |||
| 1673 | nuttcp - TCP/UDP network testing tool | ||
| 1674 | <http://www.lcp.nrl.navy.mil/nuttcp/> | ||
| 1675 | |||
| 1676 | Copyright © 1995-1999 WIDE Project. | ||
| 1677 | |||
| 1678 | Redistribution and use in source and binary forms, with or without | ||
| 1679 | modification, are permitted provided that the following conditions | ||
| 1680 | are met: | ||
| 1681 | 1. Redistributions of source code must retain the above copyright | ||
| 1682 | notice, this list of conditions and the following disclaimer. | ||
| 1683 | 2. Redistributions in binary form must reproduce the above copyright | ||
| 1684 | notice, this list of conditions and the following disclaimer in the | ||
| 1685 | documentation and/or other materials provided with the distribution. | ||
| 1686 | 3. Neither the name of the project nor the names of its contributors | ||
| 1687 | may be used to endorse or promote products derived from this software | ||
| 1688 | without specific prior written permission. | ||
| 1689 | |||
| 1690 | THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND | ||
| 1691 | ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 1692 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 1693 | ARE DISCLAIMED. IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS BE LIABLE | ||
| 1694 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 1695 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||
| 1696 | OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||
| 1697 | HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
| 1698 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
| 1699 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||
| 1700 | SUCH DAMAGE. | ||
| 1701 | |||
| 1702 | libdvdnav and libdvdread - libraries to read DVDs and navigate DVD menus | ||
| 1703 | <http://www.mplayerhq.hu/> | ||
| 1704 | |||
| 1705 | Copyright © 2001-2004 Rich Wareham <richwareham@users.sourceforge.net> | ||
| 1706 | Copyright © 2000, 2001, 2002 H�kan Hjort <d95hjort@dtek.chalmers.se> | ||
| 1707 | Copyright © 1998, 1999 Eric Smith <eric@brouhaha.com> | ||
| 1708 | Copyright © 2001, 2002 Billy Biggs <vektor@dumbterm.net> | ||
| 1709 | Copyright © 2000, 2001 Martin Norb�ck | ||
| 1710 | Copyright © 2000, 2001 Bj�rn Englund | ||
| 1711 | |||
| 1712 | This program is free software; you can redistribute it and/or modify | ||
| 1713 | it under the terms of the GNU General Public License as published by | ||
| 1714 | the Free Software Foundation; either version 2 of the License, or | ||
| 1715 | (at your option) any later version. | ||
| 1716 | |||
| 1717 | This program is distributed in the hope that it will be useful, | ||
| 1718 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1719 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1720 | GNU General Public License for more details. | ||
| 1721 | |||
| 1722 | You should have received a copy of the GNU General Public License | ||
| 1723 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1724 | |||
| 1725 | libdca - free library for decoding DTS Coherent Acoustics streams | ||
| 1726 | <http://www.videolan.org/developers/libdca.html> | ||
| 1727 | |||
| 1728 | Copyright © 2004 Gildas Bazin <gbazin@videolan.org> | ||
| 1729 | |||
| 1730 | This program is free software; you can redistribute it and/or modify | ||
| 1731 | it under the terms of the GNU General Public License as published by | ||
| 1732 | the Free Software Foundation; either version 2 of the License, or | ||
| 1733 | (at your option) any later version. | ||
| 1734 | |||
| 1735 | This program is distributed in the hope that it will be useful, | ||
| 1736 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1737 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1738 | GNU General Public License for more details. | ||
| 1739 | |||
| 1740 | You should have received a copy of the GNU General Public License | ||
| 1741 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1742 | |||
| 1743 | libspucc - library that's part of the Xine project | ||
| 1744 | <http://www.xine-project.org/home> | ||
| 1745 | |||
| 1746 | Copyright © 2000-2008 the xine project | ||
| 1747 | Copyright © Christian Vogler cvogler@gradient.cis.upenn.edu - December 2001 | ||
| 1748 | |||
| 1749 | This program is free software; you can redistribute it and/or modify | ||
| 1750 | it under the terms of the GNU General Public License as published by | ||
| 1751 | the Free Software Foundation; either version 2 of the License, or | ||
| 1752 | (at your option) any later version. | ||
| 1753 | |||
| 1754 | This program is distributed in the hope that it will be useful, | ||
| 1755 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1756 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1757 | GNU General Public License for more details. | ||
| 1758 | |||
| 1759 | You should have received a copy of the GNU General Public License | ||
| 1760 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1761 | |||
| 1762 | libmpeg2 - a free MPEG-2 video stream decoder | ||
| 1763 | <http://libmpeg2.sourceforge.net/> | ||
| 1764 | |||
| 1765 | Copyright © 2000-2004 Michel Lespinasse <walken@zoy.org> | ||
| 1766 | Copyright © 1999-2000 Aaron Holtzman <aholtzma@ess.engr.uvic.ca> | ||
| 1767 | |||
| 1768 | This program is free software; you can redistribute it and/or modify | ||
| 1769 | it under the terms of the GNU General Public License as published by | ||
| 1770 | the Free Software Foundation; either version 2 of the License, or | ||
| 1771 | (at your option) any later version. | ||
| 1772 | |||
| 1773 | This program is distributed in the hope that it will be useful, | ||
| 1774 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1775 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1776 | GNU General Public License for more details. | ||
| 1777 | |||
| 1778 | You should have received a copy of the GNU General Public License | ||
| 1779 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1780 | |||
| 1781 | libdvdcss - library designed for accessing encrypted DVDs | ||
| 1782 | <http://www.videolan.org/developers/libdvdcss.html> | ||
| 1783 | |||
| 1784 | Copyright © 1999-2001 VideoLAN | ||
| 1785 | |||
| 1786 | This program is free software; you can redistribute it and/or modify | ||
| 1787 | it under the terms of the GNU General Public License as published by | ||
| 1788 | the Free Software Foundation; either version 2 of the License, or | ||
| 1789 | (at your option) any later version. | ||
| 1790 | |||
| 1791 | This program is distributed in the hope that it will be useful, | ||
| 1792 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1793 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1794 | GNU General Public License for more details. | ||
| 1795 | |||
| 1796 | You should have received a copy of the GNU General Public License | ||
| 1797 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1798 | |||
| 1799 | Sample frequency change classes | ||
| 1800 | |||
| 1801 | Copyright © Spoon (www.dbpoweramp.com) March 2002 dbpoweramp@dbpoweramp.com | ||
| 1802 | |||
| 1803 | The code is based on original SSRC by Naoki Shibata | ||
| 1804 | <http://shibatch.sourceforge.net/ | ||
| 1805 | |||
| 1806 | This library is free software; you can redistribute it and/or | ||
| 1807 | modify it under the terms of the GNU Lesser General Public | ||
| 1808 | License as published by the Free Software Foundation; either | ||
| 1809 | version 2.1 of the License, or (at your option) any later version. | ||
| 1810 | |||
| 1811 | This library is distributed in the hope that it will be useful, | ||
| 1812 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1813 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 1814 | Lesser General Public License for more details. | ||
| 1815 | |||
| 1816 | You should have received a copy of the GNU Lesser General Public License | ||
| 1817 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1818 | |||
| 1819 | Kodi-xrandr.c | ||
| 1820 | |||
| 1821 | Copyright © 2001 Keith Packard, member of The XFree86 Project, Inc. | ||
| 1822 | Copyright © 2002 Hewlett Packard Company, Inc. | ||
| 1823 | Copyright © 2006 Intel Corporation | ||
| 1824 | |||
| 1825 | Permission to use, copy, modify, distribute, and sell this software and its | ||
| 1826 | documentation for any purpose is hereby granted without fee, provided that | ||
| 1827 | the above copyright notice appear in all copies and that both that copyright | ||
| 1828 | notice and this permission notice appear in supporting documentation, and | ||
| 1829 | that the name of the copyright holders not be used in advertising or | ||
| 1830 | publicity pertaining to distribution of the software without specific, | ||
| 1831 | written prior permission. The copyright holders make no representations | ||
| 1832 | about the suitability of this software for any purpose. It is provided "as | ||
| 1833 | is" without express or implied warranty. | ||
| 1834 | |||
| 1835 | THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, | ||
| 1836 | INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO | ||
| 1837 | EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY SPECIAL, INDIRECT OR | ||
| 1838 | CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, | ||
| 1839 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER | ||
| 1840 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE | ||
| 1841 | OF THIS SOFTWARE. | ||
| 1842 | |||
| 1843 | Kodi/Crc32.cpp and Kodi/Crc32.h | ||
| 1844 | |||
| 1845 | Copyright (C) 2005-2009 Team Kodi | ||
| 1846 | http://kodi.tv | ||
| 1847 | |||
| 1848 | This program is free software; you can redistribute it and/or modify | ||
| 1849 | it under the terms of the GNU General Public License as published by | ||
| 1850 | the Free Software Foundation; either version 2 of the License, or | ||
| 1851 | (at your option) any later version. | ||
| 1852 | |||
| 1853 | This program is distributed in the hope that it will be useful, | ||
| 1854 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1855 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1856 | GNU General Public License for more details. | ||
| 1857 | |||
| 1858 | You should have received a copy of the GNU General Public License | ||
| 1859 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1860 | |||
| 1861 | Portion of this code was taken from efone. | ||
| 1862 | efone - Distributed internet phone system. | ||
| 1863 | |||
| 1864 | (c) 1999,2000 Krzysztof Dabrowski | ||
| 1865 | (c) 1999,2000 ElysiuM deeZine | ||
| 1866 | |||
| 1867 | This program is free software; you can redistribute it and/or | ||
| 1868 | modify it under the terms of the GNU General Public License | ||
| 1869 | as published by the Free Software Foundation; either version | ||
| 1870 | 2 of the License, or (at your option) any later version. | ||
| 1871 | |||
| 1872 | based on implementation by Finn Yannick Jacobs | ||
| 1873 | |||
| 1874 | guilib/AnimatedGif.cpp and guilib/AnimatedGif.h | ||
| 1875 | |||
| 1876 | Copyright (c) 2000, Juan Soulie <jsoulie@cplusplus.com> | ||
| 1877 | |||
| 1878 | Permission to use, copy, modify, distribute and sell this software or any | ||
| 1879 | part thereof and/or its documentation for any purpose is granted without fee | ||
| 1880 | provided that the above copyright notice and this permission notice appear | ||
| 1881 | in all copies. | ||
| 1882 | |||
| 1883 | This software is provided "as is" without express or implied warranty of | ||
| 1884 | any kind. The author shall have no liability with respect to the | ||
| 1885 | infringement of copyrights or patents that any modification to the content | ||
| 1886 | of this file or this file itself may incur. | ||
| 1887 | |||
| 1888 | json-cpp - lightweight data-interchange format | ||
| 1889 | <http://jsoncpp.sourceforge.net/> | ||
| 1890 | |||
| 1891 | Author is Baptiste Lepilleur <blep@users.sourceforge.net> | ||
| 1892 | |||
| 1893 | The json-cpp library and this documentation are in Public Domain. | ||
| 1894 | |||
| 1895 | Crystal HD | ||
| 1896 | <http://www.broadcom.com/support/crystal_hd/> | ||
| 1897 | |||
| 1898 | Copyright(c) 2006-2009 Broadcom Corporation. | ||
| 1899 | |||
| 1900 | The Crystal HD library is free software: you can redistribute it and/or | ||
| 1901 | modify it under the terms of the GNU Lesser General Public License as | ||
| 1902 | published by the Free Software Foundation, version 2.1 of the License. | ||
| 1903 | |||
| 1904 | The Crystal HD library is distributed in the hope that it will be useful, | ||
| 1905 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1906 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1907 | GNU Lesser General Public License for more details. | ||
| 1908 | You should have received a copy of the GNU Lesser General Public License | ||
| 1909 | along with this header. If not, see <http://www.gnu.org/licenses/>. | ||
| 1910 | |||
| 1911 | The Crystal HD driver is free software; you can redistribute it and/or | ||
| 1912 | modify it under the terms of the GNU General Public License as published by | ||
| 1913 | the Free Software Foundation, version 2 of the License. | ||
| 1914 | |||
| 1915 | The Crystal HD driver is distributed in the hope that it will be useful, | ||
| 1916 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 1917 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 1918 | GNU General Public License for more details. | ||
| 1919 | |||
| 1920 | You should have received a copy of the GNU General Public License | ||
| 1921 | along with this driver. If not, see <http://www.gnu.org/licenses/>. | ||
| 1922 | |||
| 1923 | OpenSSH | ||
| 1924 | <http://www.openssh.org/> | ||
| 1925 | |||
| 1926 | Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
| 1927 | All rights reserved. | ||
| 1928 | |||
| 1929 | See the section 'License: OpenSSH' for full license terms. | ||
| 1930 | |||
| 1931 | Enca - Extremely Naive Charset Analyser | ||
| 1932 | <http://freshmeat.net/projects/enca/> | ||
| 1933 | |||
| 1934 | Copyright (C) 2000-2003 David Necas (Yeti) <yeti@physics.muni.cz> | ||
| 1935 | Copyright (C) 2009 Michal Cihar <michal@cihar.com> | ||
| 1936 | |||
| 1937 | This program is free software; you can redistribute it and/or modify it | ||
| 1938 | under the terms of version 2 of the GNU General Public License as published | ||
| 1939 | by the Free Software Foundation. | ||
| 1940 | |||
| 1941 | This program is distributed in the hope that it will be useful, but WITHOUT | ||
| 1942 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
| 1943 | FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
| 1944 | more details. | ||
| 1945 | |||
| 1946 | You should have received a copy of the GNU General Public License | ||
| 1947 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 1948 | |||
| 1949 | C-Pluff - a plug-in framework for C | ||
| 1950 | <http://www.c-pluff.org/> | ||
| 1951 | |||
| 1952 | Copyright 2007 Johannes Lehtinen | ||
| 1953 | |||
| 1954 | Permission is hereby granted, free of charge, to any person obtaining a | ||
| 1955 | copy of this software and associated documentation files (the "Software"), | ||
| 1956 | to deal in the Software without restriction, including without limitation | ||
| 1957 | the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
| 1958 | and/or sell copies of the Software, and to permit persons to whom the | ||
| 1959 | Software is furnished to do so, subject to the following conditions: | ||
| 1960 | |||
| 1961 | The above copyright notice and this permission notice shall be included | ||
| 1962 | in all copies or substantial portions of the Software. | ||
| 1963 | |||
| 1964 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
| 1965 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 1966 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
| 1967 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||
| 1968 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
| 1969 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
| 1970 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 1971 | |||
| 1972 | C-Pluff uses data structure implementations from Kazlib library. | ||
| 1973 | |||
| 1974 | KazLib copyright and license | ||
| 1975 | ---------------------------- | ||
| 1976 | |||
| 1977 | Hash Table Data Type | ||
| 1978 | List Abstract Data Type | ||
| 1979 | Copyright (C) 1997 Kaz Kylheku <kaz@ashi.footprints.net> | ||
| 1980 | |||
| 1981 | Free Software License: | ||
| 1982 | |||
| 1983 | All rights are reserved by the author, with the following exceptions: | ||
| 1984 | Permission is granted to freely reproduce and distribute this software, | ||
| 1985 | possibly in exchange for a fee, provided that this copyright notice appears | ||
| 1986 | intact. Permission is also granted to adapt this software to produce | ||
| 1987 | derivative works, as long as the modified versions carry this copyright | ||
| 1988 | notice and additional notices stating that the work has been modified. | ||
| 1989 | This source code may be translated into executable form and incorporated | ||
| 1990 | into proprietary software; there is no requirement for such software to | ||
| 1991 | contain a copyright notice related to this source. | ||
| 1992 | |||
| 1993 | J2ME Event Client | ||
| 1994 | |||
| 1995 | Copyright (c) 2008 topfs2 | ||
| 1996 | |||
| 1997 | This program is free software; you can redistribute it and/or modify | ||
| 1998 | it under the terms of the GNU General Public License as published by | ||
| 1999 | the Free Software Foundation; either version 2 of the License, or | ||
| 2000 | (at your option) any later version. | ||
| 2001 | |||
| 2002 | This program is distributed in the hope that it will be useful, | ||
| 2003 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2004 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 2005 | GNU General Public License for more details. | ||
| 2006 | |||
| 2007 | You should have received a copy of the GNU General Public License | ||
| 2008 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 2009 | |||
| 2010 | OSXRemote Client | ||
| 2011 | |||
| 2012 | Created by Stephan Diederich. | ||
| 2013 | Copyright 2008 University Heidelberg. All rights reserved. | ||
| 2014 | |||
| 2015 | This program is free software: you can redistribute it and/or modify | ||
| 2016 | it under the terms of the GNU General Public License as published by | ||
| 2017 | the Free Software Foundation, either version 3 of the License, or | ||
| 2018 | (at your option) any later version. | ||
| 2019 | |||
| 2020 | This program is distributed in the hope that it will be useful, | ||
| 2021 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2022 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 2023 | GNU General Public License for more details. | ||
| 2024 | |||
| 2025 | You should have received a copy of the GNU General Public License | ||
| 2026 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 2027 | |||
| 2028 | HIDRemote Classes used by OSXRemote Client | ||
| 2029 | |||
| 2030 | Copyright (c) 2007-2009 IOSPIRIT GmbH (http://www.iospirit.com/) | ||
| 2031 | All rights reserved. | ||
| 2032 | |||
| 2033 | Redistribution and use in source and binary forms, with or without | ||
| 2034 | modification, are permitted provided that the following conditions are met: | ||
| 2035 | |||
| 2036 | * Redistributions of source code must retain the above copyright notice, | ||
| 2037 | this list of conditions and the following disclaimer. | ||
| 2038 | |||
| 2039 | * Redistributions in binary form must reproduce the above copyright notice, | ||
| 2040 | this list of conditions and the following disclaimer in the documentation | ||
| 2041 | and/or other materials provided with the distribution. | ||
| 2042 | |||
| 2043 | * Neither the name of IOSPIRIT GmbH nor the names of its contributors may be | ||
| 2044 | used to endorse or promote products derived from this software without | ||
| 2045 | specific prior written permission. | ||
| 2046 | |||
| 2047 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" | ||
| 2048 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 2049 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 2050 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE | ||
| 2051 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
| 2052 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
| 2053 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
| 2054 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
| 2055 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
| 2056 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
| 2057 | POSSIBILITY OF SUCH DAMAGE. | ||
| 2058 | |||
| 2059 | Implementation of POSIX directory browsing functions and types for Win32. | ||
| 2060 | |||
| 2061 | Copyright Kevlin Henney, 1997, 2003. All rights reserved. | ||
| 2062 | |||
| 2063 | Permission to use, copy, modify, and distribute this software and its | ||
| 2064 | documentation for any purpose is hereby granted without fee, provided | ||
| 2065 | that this copyright and permissions notice appear in all copies and | ||
| 2066 | derivatives. | ||
| 2067 | |||
| 2068 | This software is supplied "as is" without express or implied warranty. | ||
| 2069 | |||
| 2070 | But that said, if there are any problems please get in touch. | ||
| 2071 | |||
| 2072 | Bitstream Vera Fonts | ||
| 2073 | |||
| 2074 | Copyright (C) 2003 Bitstream, Inc. | ||
| 2075 | All Rights Reserved. Bitstream Vera is a trademark of Bitstream, Inc. | ||
| 2076 | |||
| 2077 | Permission is hereby granted, free of charge, to any person obtaining a | ||
| 2078 | copy of the fonts accompanying this license ("Fonts") and associated | ||
| 2079 | documentation files (the "Font Software"), to reproduce and distribute | ||
| 2080 | the Font Software, including without limitation the rights to use, copy, | ||
| 2081 | merge, publish, distribute, and/or sell copies of the Font Software, and | ||
| 2082 | to permit persons to whom the Font Software is furnished to do so, | ||
| 2083 | subject to the following conditions: | ||
| 2084 | |||
| 2085 | The above copyright and trademark notices and this permission notice | ||
| 2086 | shall be included in all copies of one or more of the Font Software | ||
| 2087 | typefaces. | ||
| 2088 | |||
| 2089 | The Font Software may be modified, altered, or added to, and in | ||
| 2090 | particular the designs of glyphs or characters in the Fonts may be | ||
| 2091 | modified and additional glyphs or characters may be added to the Fonts, | ||
| 2092 | only if the fonts are renamed to names not containing either the words | ||
| 2093 | "Bitstream" or the word "Vera". | ||
| 2094 | |||
| 2095 | This License becomes null and void to the extent applicable to Fonts or | ||
| 2096 | Font Software that has been modified and is distributed under the | ||
| 2097 | "Bitstream Vera" names. | ||
| 2098 | |||
| 2099 | The Font Software may be sold as part of a larger software package but | ||
| 2100 | no copy of one or more of the Font Software typefaces may be sold by | ||
| 2101 | itself. | ||
| 2102 | |||
| 2103 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 2104 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF | ||
| 2105 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF | ||
| 2106 | COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL | ||
| 2107 | BITSTREAM OR THE GNOME FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
| 2108 | OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, | ||
| 2109 | OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR | ||
| 2110 | OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT | ||
| 2111 | SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE. | ||
| 2112 | |||
| 2113 | Except as contained in this notice, the names of Gnome, the Gnome | ||
| 2114 | Foundation, and Bitstream Inc., shall not be used in advertising or | ||
| 2115 | otherwise to promote the sale, use or other dealings in this Font | ||
| 2116 | Software without prior written authorization from the Gnome Foundation | ||
| 2117 | or Bitstream Inc., respectively. For further information, contact: | ||
| 2118 | <fonts@gnome.org>. | ||
| 2119 | |||
| 2120 | DejaVu Fonts | ||
| 2121 | |||
| 2122 | Fonts are (c) Bitstream (see below). DejaVu changes are in public domain. | ||
| 2123 | Glyphs imported from Arev fonts are (c) Tavmjung Bah (see below) | ||
| 2124 | Bitstream Vera Fonts Copyright | ||
| 2125 | ------------------------------ | ||
| 2126 | Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream Vera is | ||
| 2127 | a trademark of Bitstream, Inc. | ||
| 2128 | Permission is hereby granted, free of charge, to any person obtaining a copy | ||
| 2129 | of the fonts accompanying this license ("Fonts") and associated | ||
| 2130 | documentation files (the "Font Software"), to reproduce and distribute the | ||
| 2131 | Font Software, including without limitation the rights to use, copy, merge, | ||
| 2132 | publish, distribute, and/or sell copies of the Font Software, and to permit | ||
| 2133 | persons to whom the Font Software is furnished to do so, subject to the | ||
| 2134 | following conditions: | ||
| 2135 | The above copyright and trademark notices and this permission notice shall | ||
| 2136 | be included in all copies of one or more of the Font Software typefaces. | ||
| 2137 | The Font Software may be modified, altered, or added to, and in particular | ||
| 2138 | the designs of glyphs or characters in the Fonts may be modified and | ||
| 2139 | additional glyphs or characters may be added to the Fonts, only if the fonts | ||
| 2140 | are renamed to names not containing either the words "Bitstream" or the word | ||
| 2141 | "Vera". | ||
| 2142 | This License becomes null and void to the extent applicable to Fonts or Font | ||
| 2143 | Software that has been modified and is distributed under the "Bitstream | ||
| 2144 | Vera" names. | ||
| 2145 | The Font Software may be sold as part of a larger software package but no | ||
| 2146 | copy of one or more of the Font Software typefaces may be sold by itself. | ||
| 2147 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
| 2148 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, | ||
| 2149 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, | ||
| 2150 | TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL BITSTREAM OR THE GNOME | ||
| 2151 | FOUNDATION BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING | ||
| 2152 | ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, | ||
| 2153 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF | ||
| 2154 | THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE | ||
| 2155 | FONT SOFTWARE. | ||
| 2156 | Except as contained in this notice, the names of Gnome, the Gnome | ||
| 2157 | Foundation, and Bitstream Inc., shall not be used in advertising or | ||
| 2158 | otherwise to promote the sale, use or other dealings in this Font Software | ||
| 2159 | without prior written authorization from the Gnome Foundation or Bitstream | ||
| 2160 | Inc., respectively. For further information, contact: fonts at gnome dot | ||
| 2161 | org. | ||
| 2162 | Arev Fonts Copyright | ||
| 2163 | ------------------------------ | ||
| 2164 | Copyright (c) 2006 by Tavmjong Bah. All Rights Reserved. | ||
| 2165 | Permission is hereby granted, free of charge, to any person obtaining | ||
| 2166 | a copy of the fonts accompanying this license ("Fonts") and | ||
| 2167 | associated documentation files (the "Font Software"), to reproduce | ||
| 2168 | and distribute the modifications to the Bitstream Vera Font Software, | ||
| 2169 | including without limitation the rights to use, copy, merge, publish, | ||
| 2170 | distribute, and/or sell copies of the Font Software, and to permit | ||
| 2171 | persons to whom the Font Software is furnished to do so, subject to | ||
| 2172 | the following conditions: | ||
| 2173 | The above copyright and trademark notices and this permission notice | ||
| 2174 | shall be included in all copies of one or more of the Font Software | ||
| 2175 | typefaces. | ||
| 2176 | The Font Software may be modified, altered, or added to, and in | ||
| 2177 | particular the designs of glyphs or characters in the Fonts may be | ||
| 2178 | modified and additional glyphs or characters may be added to the | ||
| 2179 | Fonts, only if the fonts are renamed to names not containing either | ||
| 2180 | the words "Tavmjong Bah" or the word "Arev". | ||
| 2181 | This License becomes null and void to the extent applicable to Fonts | ||
| 2182 | or Font Software that has been modified and is distributed under the | ||
| 2183 | "Tavmjong Bah Arev" names. | ||
| 2184 | The Font Software may be sold as part of a larger software package but | ||
| 2185 | no copy of one or more of the Font Software typefaces may be sold by | ||
| 2186 | itself. | ||
| 2187 | THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
| 2188 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF | ||
| 2189 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT | ||
| 2190 | OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL | ||
| 2191 | TAVMJONG BAH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, | ||
| 2192 | INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL | ||
| 2193 | DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
| 2194 | FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM | ||
| 2195 | OTHER DEALINGS IN THE FONT SOFTWARE. | ||
| 2196 | Except as contained in this notice, the name of Tavmjong Bah shall not | ||
| 2197 | be used in advertising or otherwise to promote the sale, use or other | ||
| 2198 | dealings in this Font Software without prior written authorization | ||
| 2199 | from Tavmjong Bah. For further information, contact: tavmjong @ free | ||
| 2200 | |||
| 2201 | SlingboxLib - Library to communicate with Slingbox devices | ||
| 2202 | <http://www.stonyx.com> | ||
| 2203 | |||
| 2204 | Copyright (C) 2010-2011 Stonyx | ||
| 2205 | |||
| 2206 | This library is free software. You can redistribute it and/or modify it | ||
| 2207 | under the terms of the GNU General Public License Version 2 (or at your | ||
| 2208 | option any later version) as published by The Free Software Foundation. | ||
| 2209 | |||
| 2210 | This library is distributed in the hope that it will be useful, but | ||
| 2211 | WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2212 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 2213 | General Public License for more details. | ||
| 2214 | |||
| 2215 | You should have received a copy of the GNU General Public License | ||
| 2216 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 2217 | |||
| 2218 | ASAP (Another Slight Atari Player) | ||
| 2219 | <http://asap.sourceforge.net> | ||
| 2220 | |||
| 2221 | Copyright (C) 2005-2009 Piotr Fusik | ||
| 2222 | |||
| 2223 | ASAP is free software; you can redistribute it and/or modify it | ||
| 2224 | under the terms of the GNU General Public License as published | ||
| 2225 | by the Free Software Foundation; either version 2 of the License, | ||
| 2226 | or (at your option) any later version. | ||
| 2227 | |||
| 2228 | ASAP is distributed in the hope that it will be useful, | ||
| 2229 | but WITHOUT ANY WARRANTY; without even the implied warranty | ||
| 2230 | of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
| 2231 | See the GNU General Public License for more details. | ||
| 2232 | |||
| 2233 | You should have received a copy of the GNU General Public License | ||
| 2234 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 2235 | |||
| 2236 | CMyth - C library for communicating with MythTv server | ||
| 2237 | <http://www.mvpmc.org> | ||
| 2238 | |||
| 2239 | Copyright (C) 2004-2006, Eric Lund, Jon Gettler | ||
| 2240 | |||
| 2241 | This library is free software; you can redistribute it and/or | ||
| 2242 | modify it under the terms of the GNU Lesser General Public | ||
| 2243 | License as published by the Free Software Foundation; either | ||
| 2244 | version 2.1 of the License, or (at your option) any later version. | ||
| 2245 | |||
| 2246 | This library is distributed in the hope that it will be useful, | ||
| 2247 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2248 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 2249 | Lesser General Public License for more details. | ||
| 2250 | |||
| 2251 | You should have received a copy of the GNU Lesser General Public License | ||
| 2252 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 2253 | |||
| 2254 | libapetag - Library for manipulating APE tags. | ||
| 2255 | <http://src.gnu-darwin.org/ports/audio/easytag/work/easytag-2.1/src/libapetag/> | ||
| 2256 | |||
| 2257 | Copyright (c) 2002 Artur Polaczynski (Ar't) All rights reserved. | ||
| 2258 | |||
| 2259 | This program is free software; you can redistribute it and/or modify | ||
| 2260 | it under the terms of the GNU Lesser General Public License as | ||
| 2261 | published by the Free Software Foundation; either version 2.1 | ||
| 2262 | of the License, or (at your option) any later version. | ||
| 2263 | |||
| 2264 | This program is distributed in the hope that it will be useful, | ||
| 2265 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2266 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 2267 | GNU Lesser General Public License for more details. | ||
| 2268 | |||
| 2269 | You should have received a copy of the GNU Lesser General Public License | ||
| 2270 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 2271 | |||
| 2272 | libbluray - Blu-ray disc playback support library | ||
| 2273 | |||
| 2274 | Copyright (C) 2010, hpi1 | ||
| 2275 | Copyright (C) 2010, fraxinas | ||
| 2276 | Copyright (C) 2010, John Stebbins | ||
| 2277 | Copyright (C) 2010, Joakim | ||
| 2278 | Copyright (C) 2010, Obliter0n | ||
| 2279 | Copyright (C) 2010, William Hahne | ||
| 2280 | |||
| 2281 | This library is free software; you can redistribute it and/or | ||
| 2282 | modify it under the terms of the GNU Lesser General Public | ||
| 2283 | License as published by the Free Software Foundation; either | ||
| 2284 | version 2.1 of the License, or (at your option) any later version. | ||
| 2285 | |||
| 2286 | This library is distributed in the hope that it will be useful, | ||
| 2287 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2288 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 2289 | Lesser General Public License for more details. | ||
| 2290 | |||
| 2291 | You should have received a copy of the GNU Lesser General Public License | ||
| 2292 | along with this library. If not, see <http://www.gnu.org/licenses/>. | ||
| 2293 | |||
| 2294 | libexif - library to parse EXIF files | ||
| 2295 | |||
| 2296 | Copyright (C) 2001-2009, Lutz Müller <urc8@rz.uni-karlsruhe.de> | ||
| 2297 | Copyright (C) 2004-2009, Jan Patera <patera@users.sourceforge.net> | ||
| 2298 | Copyright (C) 2004, Joerg Hoh<joerg@devone.org> | ||
| 2299 | Copyright (C) 2005-2006, Hubert Figuiere <hub@figuiere.net> | ||
| 2300 | Copyright (C) 2002-2005, Hans Ulrich Niedermann <gp@n-dimensional.de> | ||
| 2301 | Copyright (C) 2007-2010, Dan Fandrich <dan@coneharvesters.com> | ||
| 2302 | |||
| 2303 | This library is free software; you can redistribute it and/or | ||
| 2304 | modify it under the terms of the GNU Lesser General Public | ||
| 2305 | License as published by the Free Software Foundation; either | ||
| 2306 | version 2.1 of the License, or (at your option) any later version. | ||
| 2307 | |||
| 2308 | This library is distributed in the hope that it will be useful, | ||
| 2309 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2310 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 2311 | Lesser General Public License for more details. | ||
| 2312 | |||
| 2313 | You should have received a copy of the GNU Lesser General Public License | ||
| 2314 | along with this library. If not, see <http://www.gnu.org/licenses/>. | ||
| 2315 | |||
| 2316 | libnfs - NFS client library | ||
| 2317 | |||
| 2318 | Copyright (C) 2010-2011 Ronnie Sahlberg <ronniesahlberg@gmail.com> | ||
| 2319 | |||
| 2320 | This library is free software; you can redistribute it and/or | ||
| 2321 | modify it under the terms of the GNU Lesser General Public | ||
| 2322 | License as published by the Free Software Foundation; either | ||
| 2323 | version 2.1 of the License, or (at your option) any later version. | ||
| 2324 | |||
| 2325 | This library is distributed in the hope that it will be useful, | ||
| 2326 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2327 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 2328 | Lesser General Public License for more details. | ||
| 2329 | |||
| 2330 | You should have received a copy of the GNU Lesser General Public License | ||
| 2331 | along with this library. If not, see <http://www.gnu.org/licenses/>. | ||
| 2332 | |||
| 2333 | libsquish - Open source DXT compression library | ||
| 2334 | |||
| 2335 | Copyright (C) 2006 Simon Brown <si@sjbrown.co.uk> | ||
| 2336 | |||
| 2337 | Permission is hereby granted, free of charge, to any person obtaining | ||
| 2338 | a copy of this software and associated documentation files (the | ||
| 2339 | "Software"), to deal in the Software without restriction, including | ||
| 2340 | without limitation the rights to use, copy, modify, merge, publish, | ||
| 2341 | distribute, sublicense, and/or sell copies of the Software, and to | ||
| 2342 | permit persons to whom the Software is furnished to do so, subject to | ||
| 2343 | the following conditions: | ||
| 2344 | |||
| 2345 | The above copyright notice and this permission notice shall be included | ||
| 2346 | in all copies or substantial portions of the Software. | ||
| 2347 | |||
| 2348 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
| 2349 | OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
| 2350 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. | ||
| 2351 | IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY | ||
| 2352 | CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
| 2353 | TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
| 2354 | SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
| 2355 | |||
| 2356 | LZO Library - LZO real-time data compression library | ||
| 2357 | |||
| 2358 | Copyright (C) 1996-1997 Markus Franz Xaver Johannes Oberhumer | ||
| 2359 | |||
| 2360 | The LZO library is free software; you can redistribute it and/or | ||
| 2361 | modify it under the terms of the GNU General Public License as | ||
| 2362 | published by the Free Software Foundation; either version 2 of | ||
| 2363 | the License, or (at your option) any later version. | ||
| 2364 | |||
| 2365 | The LZO library is distributed in the hope that it will be useful, | ||
| 2366 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 2367 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 2368 | GNU General Public License for more details. | ||
| 2369 | |||
| 2370 | You should have received a copy of the GNU General Public License | ||
| 2371 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 2372 | |||
| 2373 | Licenses: | ||
| 2374 | |||
| 2375 | License: GPL | ||
| 2376 | |||
| 2377 | A copy of the GPL can be found on Debian systems at | ||
| 2378 | /usr/share/common-licenses/GPL. | ||
| 2379 | |||
| 2380 | License: LGPL | ||
| 2381 | |||
| 2382 | A copy of the LGPL can be found on Debian systems at | ||
| 2383 | /usr/share/common-licenses/LGPL. | ||
| 2384 | |||
| 2385 | License: FTL | ||
| 2386 | The FreeType Project LICENSE | ||
| 2387 | ---------------------------- | ||
| 2388 | |||
| 2389 | 2006-Jan-27 | ||
| 2390 | |||
| 2391 | Copyright 1996-2002, 2006 by | ||
| 2392 | David Turner, Robert Wilhelm, and Werner Lemberg | ||
| 2393 | |||
| 2394 | |||
| 2395 | |||
| 2396 | Introduction | ||
| 2397 | ============ | ||
| 2398 | |||
| 2399 | The FreeType Project is distributed in several archive packages; | ||
| 2400 | some of them may contain, in addition to the FreeType font engine, | ||
| 2401 | various tools and contributions which rely on, or relate to, the | ||
| 2402 | FreeType Project. | ||
| 2403 | |||
| 2404 | This license applies to all files found in such packages, and | ||
| 2405 | which do not fall under their own explicit license. The license | ||
| 2406 | affects thus the FreeType font engine, the test programs, | ||
| 2407 | documentation and makefiles, at the very least. | ||
| 2408 | |||
| 2409 | This license was inspired by the BSD, Artistic, and IJG | ||
| 2410 | (Independent JPEG Group) licenses, which all encourage inclusion | ||
| 2411 | and use of free software in commercial and freeware products | ||
| 2412 | alike. As a consequence, its main points are that: | ||
| 2413 | |||
| 2414 | o We don't promise that this software works. However, we will be | ||
| 2415 | interested in any kind of bug reports. (`as is' distribution) | ||
| 2416 | |||
| 2417 | o You can use this software for whatever you want, in parts or | ||
| 2418 | full form, without having to pay us. (`royalty-free' usage) | ||
| 2419 | |||
| 2420 | o You may not pretend that you wrote this software. If you use | ||
| 2421 | it, or only parts of it, in a program, you must acknowledge | ||
| 2422 | somewhere in your documentation that you have used the | ||
| 2423 | FreeType code. (`credits') | ||
| 2424 | |||
| 2425 | We specifically permit and encourage the inclusion of this | ||
| 2426 | software, with or without modifications, in commercial products. | ||
| 2427 | We disclaim all warranties covering The FreeType Project and | ||
| 2428 | assume no liability related to The FreeType Project. | ||
| 2429 | |||
| 2430 | |||
| 2431 | Finally, many people asked us for a preferred form for a | ||
| 2432 | credit/disclaimer to use in compliance with this license. We thus | ||
| 2433 | encourage you to use the following text: | ||
| 2434 | |||
| 2435 | """ | ||
| 2436 | Portions of this software are copyright © <year> The FreeType | ||
| 2437 | Project (www.freetype.org). All rights reserved. | ||
| 2438 | """ | ||
| 2439 | |||
| 2440 | Please replace <year> with the value from the FreeType version you | ||
| 2441 | actually use. | ||
| 2442 | |||
| 2443 | |||
| 2444 | Legal Terms | ||
| 2445 | =========== | ||
| 2446 | |||
| 2447 | 0. Definitions | ||
| 2448 | -------------- | ||
| 2449 | |||
| 2450 | Throughout this license, the terms `package', `FreeType Project', | ||
| 2451 | and `FreeType archive' refer to the set of files originally | ||
| 2452 | distributed by the authors (David Turner, Robert Wilhelm, and | ||
| 2453 | Werner Lemberg) as the `FreeType Project', be they named as alpha, | ||
| 2454 | beta or final release. | ||
| 2455 | |||
| 2456 | `You' refers to the licensee, or person using the project, where | ||
| 2457 | `using' is a generic term including compiling the project's source | ||
| 2458 | code as well as linking it to form a `program' or `executable'. | ||
| 2459 | This program is referred to as `a program using the FreeType | ||
| 2460 | engine'. | ||
| 2461 | |||
| 2462 | This license applies to all files distributed in the original | ||
| 2463 | FreeType Project, including all source code, binaries and | ||
| 2464 | documentation, unless otherwise stated in the file in its | ||
| 2465 | original, unmodified form as distributed in the original archive. | ||
| 2466 | If you are unsure whether or not a particular file is covered by | ||
| 2467 | this license, you must contact us to verify this. | ||
| 2468 | |||
| 2469 | The FreeType Project is copyright (C) 1996-2000 by David Turner, | ||
| 2470 | Robert Wilhelm, and Werner Lemberg. All rights reserved except as | ||
| 2471 | specified below. | ||
| 2472 | |||
| 2473 | 1. No Warranty | ||
| 2474 | -------------- | ||
| 2475 | |||
| 2476 | THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY | ||
| 2477 | KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, | ||
| 2478 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
| 2479 | PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS | ||
| 2480 | BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO | ||
| 2481 | USE, OF THE FREETYPE PROJECT. | ||
| 2482 | |||
| 2483 | 2. Redistribution | ||
| 2484 | ----------------- | ||
| 2485 | |||
| 2486 | This license grants a worldwide, royalty-free, perpetual and | ||
| 2487 | irrevocable right and license to use, execute, perform, compile, | ||
| 2488 | display, copy, create derivative works of, distribute and | ||
| 2489 | sublicense the FreeType Project (in both source and object code | ||
| 2490 | forms) and derivative works thereof for any purpose; and to | ||
| 2491 | authorize others to exercise some or all of the rights granted | ||
| 2492 | herein, subject to the following conditions: | ||
| 2493 | |||
| 2494 | o Redistribution of source code must retain this license file | ||
| 2495 | (`FTL.TXT') unaltered; any additions, deletions or changes to | ||
| 2496 | the original files must be clearly indicated in accompanying | ||
| 2497 | documentation. The copyright notices of the unaltered, | ||
| 2498 | original files must be preserved in all copies of source | ||
| 2499 | files. | ||
| 2500 | |||
| 2501 | o Redistribution in binary form must provide a disclaimer that | ||
| 2502 | states that the software is based in part of the work of the | ||
| 2503 | FreeType Team, in the distribution documentation. We also | ||
| 2504 | encourage you to put an URL to the FreeType web page in your | ||
| 2505 | documentation, though this isn't mandatory. | ||
| 2506 | |||
| 2507 | These conditions apply to any software derived from or based on | ||
| 2508 | the FreeType Project, not just the unmodified files. If you use | ||
| 2509 | our work, you must acknowledge us. However, no fee need be paid | ||
| 2510 | to us. | ||
| 2511 | |||
| 2512 | 3. Advertising | ||
| 2513 | -------------- | ||
| 2514 | |||
| 2515 | Neither the FreeType authors and contributors nor you shall use | ||
| 2516 | the name of the other for commercial, advertising, or promotional | ||
| 2517 | purposes without specific prior written permission. | ||
| 2518 | |||
| 2519 | We suggest, but do not require, that you use one or more of the | ||
| 2520 | following phrases to refer to this software in your documentation | ||
| 2521 | or advertising materials: `FreeType Project', `FreeType Engine', | ||
| 2522 | `FreeType library', or `FreeType Distribution'. | ||
| 2523 | |||
| 2524 | As you have not signed this license, you are not required to | ||
| 2525 | accept it. However, as the FreeType Project is copyrighted | ||
| 2526 | material, only this license, or another one contracted with the | ||
| 2527 | authors, grants you the right to use, distribute, and modify it. | ||
| 2528 | Therefore, by using, distributing, or modifying the FreeType | ||
| 2529 | Project, you indicate that you understand and accept all the terms | ||
| 2530 | of this license. | ||
| 2531 | |||
| 2532 | 4. Contacts | ||
| 2533 | ----------- | ||
| 2534 | |||
| 2535 | There are two mailing lists related to FreeType: | ||
| 2536 | |||
| 2537 | o freetype@nongnu.org | ||
| 2538 | |||
| 2539 | Discusses general use and applications of FreeType, as well as | ||
| 2540 | future and wanted additions to the library and distribution. | ||
| 2541 | If you are looking for support, start in this list if you | ||
| 2542 | haven't found anything to help you in the documentation. | ||
| 2543 | |||
| 2544 | o freetype-devel@nongnu.org | ||
| 2545 | |||
| 2546 | Discusses bugs, as well as engine internals, design issues, | ||
| 2547 | specific licenses, porting, etc. | ||
| 2548 | |||
| 2549 | Our home page can be found at | ||
| 2550 | |||
| 2551 | http://www.freetype.org | ||
| 2552 | |||
| 2553 | |||
| 2554 | --- end of FTL --- | ||
| 2555 | |||
| 2556 | License: PSF License for Python 2.4 | ||
| 2557 | |||
| 2558 | A. HISTORY OF THE SOFTWARE | ||
| 2559 | ========================== | ||
| 2560 | |||
| 2561 | Python was created in the early 1990s by Guido van Rossum at Stichting | ||
| 2562 | Mathematisch Centrum (CWI, see http://www.cwi.nl) in the Netherlands | ||
| 2563 | as a successor of a language called ABC. Guido remains Python's | ||
| 2564 | principal author, although it includes many contributions from others. | ||
| 2565 | |||
| 2566 | In 1995, Guido continued his work on Python at the Corporation for | ||
| 2567 | National Research Initiatives (CNRI, see http://www.cnri.reston.va.us) | ||
| 2568 | in Reston, Virginia where he released several versions of the | ||
| 2569 | software. | ||
| 2570 | |||
| 2571 | In May 2000, Guido and the Python core development team moved to | ||
| 2572 | BeOpen.com to form the BeOpen PythonLabs team. In October of the same | ||
| 2573 | year, the PythonLabs team moved to Digital Creations (now Zope | ||
| 2574 | Corporation, see http://www.zope.com). In 2001, the Python Software | ||
| 2575 | Foundation (PSF, see http://www.python.org/psf/) was formed, a | ||
| 2576 | non-profit organization created specifically to own Python-related | ||
| 2577 | Intellectual Property. Zope Corporation is a sponsoring member of | ||
| 2578 | the PSF. | ||
| 2579 | |||
| 2580 | All Python releases are Open Source (see http://www.opensource.org for | ||
| 2581 | the Open Source Definition). Historically, most, but not all, Python | ||
| 2582 | releases have also been GPL-compatible; the table below summarizes | ||
| 2583 | the various releases. | ||
| 2584 | |||
| 2585 | Release Derived Year Owner GPL- | ||
| 2586 | from compatible? (1) | ||
| 2587 | |||
| 2588 | 0.9.0 thru 1.2 1991-1995 CWI yes | ||
| 2589 | 1.3 thru 1.5.2 1.2 1995-1999 CNRI yes | ||
| 2590 | 1.6 1.5.2 2000 CNRI no | ||
| 2591 | 2.0 1.6 2000 BeOpen.com no | ||
| 2592 | 1.6.1 1.6 2001 CNRI yes (2) | ||
| 2593 | 2.1 2.0+1.6.1 2001 PSF no | ||
| 2594 | 2.0.1 2.0+1.6.1 2001 PSF yes | ||
| 2595 | 2.1.1 2.1+2.0.1 2001 PSF yes | ||
| 2596 | 2.2 2.1.1 2001 PSF yes | ||
| 2597 | 2.1.2 2.1.1 2002 PSF yes | ||
| 2598 | 2.1.3 2.1.2 2002 PSF yes | ||
| 2599 | 2.2.1 2.2 2002 PSF yes | ||
| 2600 | 2.2.2 2.2.1 2002 PSF yes | ||
| 2601 | 2.2.3 2.2.2 2003 PSF yes | ||
| 2602 | 2.3 2.2.2 2002-2003 PSF yes | ||
| 2603 | 2.3.1 2.3 2002-2003 PSF yes | ||
| 2604 | 2.3.2 2.3.1 2002-2003 PSF yes | ||
| 2605 | 2.3.3 2.3.2 2002-2003 PSF yes | ||
| 2606 | 2.3.4 2.3.3 2004 PSF yes | ||
| 2607 | 2.3.5 2.3.4 2005 PSF yes | ||
| 2608 | 2.4 2.3 2004 PSF yes | ||
| 2609 | 2.4.1 2.4 2005 PSF yes | ||
| 2610 | 2.4.2 2.4.1 2005 PSF yes | ||
| 2611 | 2.4.3 2.4.2 2006 PSF yes | ||
| 2612 | 2.4.4 2.4.3 2006 PSF yes | ||
| 2613 | |||
| 2614 | Footnotes: | ||
| 2615 | |||
| 2616 | (1) GPL-compatible doesn't mean that we're distributing Python under | ||
| 2617 | the GPL. All Python licenses, unlike the GPL, let you distribute | ||
| 2618 | a modified version without making your changes open source. The | ||
| 2619 | GPL-compatible licenses make it possible to combine Python with | ||
| 2620 | other software that is released under the GPL; the others don't. | ||
| 2621 | |||
| 2622 | (2) According to Richard Stallman, 1.6.1 is not GPL-compatible, | ||
| 2623 | because its license has a choice of law clause. According to | ||
| 2624 | CNRI, however, Stallman's lawyer has told CNRI's lawyer that 1.6.1 | ||
| 2625 | is "not incompatible" with the GPL. | ||
| 2626 | |||
| 2627 | Thanks to the many outside volunteers who have worked under Guido's | ||
| 2628 | direction to make these releases possible. | ||
| 2629 | |||
| 2630 | |||
| 2631 | B. TERMS AND CONDITIONS FOR ACCESSING OR OTHERWISE USING PYTHON | ||
| 2632 | =============================================================== | ||
| 2633 | |||
| 2634 | PSF LICENSE AGREEMENT FOR PYTHON 2.4 | ||
| 2635 | ------------------------------------ | ||
| 2636 | |||
| 2637 | 1. This LICENSE AGREEMENT is between the Python Software Foundation | ||
| 2638 | ("PSF"), and the Individual or Organization ("Licensee") accessing and | ||
| 2639 | otherwise using Python 2.4 software in source or binary form and its | ||
| 2640 | associated documentation. | ||
| 2641 | |||
| 2642 | 2. Subject to the terms and conditions of this License Agreement, PSF | ||
| 2643 | hereby grants Licensee a nonexclusive, royalty-free, world-wide | ||
| 2644 | license to reproduce, analyze, test, perform and/or display publicly, | ||
| 2645 | prepare derivative works, distribute, and otherwise use Python 2.4 | ||
| 2646 | alone or in any derivative version, provided, however, that PSF's | ||
| 2647 | License Agreement and PSF's notice of copyright, i.e., "Copyright (c) | ||
| 2648 | 2001, 2002, 2003, 2004 Python Software Foundation; All Rights Reserved" | ||
| 2649 | are retained in Python 2.4 alone or in any derivative version prepared | ||
| 2650 | by Licensee. | ||
| 2651 | |||
| 2652 | 3. In the event Licensee prepares a derivative work that is based on | ||
| 2653 | or incorporates Python 2.4 or any part thereof, and wants to make | ||
| 2654 | the derivative work available to others as provided herein, then | ||
| 2655 | Licensee hereby agrees to include in any such work a brief summary of | ||
| 2656 | the changes made to Python 2.4. | ||
| 2657 | |||
| 2658 | 4. PSF is making Python 2.4 available to Licensee on an "AS IS" | ||
| 2659 | basis. PSF MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR | ||
| 2660 | IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, PSF MAKES NO AND | ||
| 2661 | DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS | ||
| 2662 | FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 2.4 WILL NOT | ||
| 2663 | INFRINGE ANY THIRD PARTY RIGHTS. | ||
| 2664 | |||
| 2665 | 5. PSF SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON | ||
| 2666 | 2.4 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS | ||
| 2667 | A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 2.4, | ||
| 2668 | OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. | ||
| 2669 | |||
| 2670 | 6. This License Agreement will automatically terminate upon a material | ||
| 2671 | breach of its terms and conditions. | ||
| 2672 | |||
| 2673 | 7. Nothing in this License Agreement shall be deemed to create any | ||
| 2674 | relationship of agency, partnership, or joint venture between PSF and | ||
| 2675 | Licensee. This License Agreement does not grant permission to use PSF | ||
| 2676 | trademarks or trade name in a trademark sense to endorse or promote | ||
| 2677 | products or services of Licensee, or any third party. | ||
| 2678 | |||
| 2679 | 8. By copying, installing or otherwise using Python 2.4, Licensee | ||
| 2680 | agrees to be bound by the terms and conditions of this License | ||
| 2681 | Agreement. | ||
| 2682 | |||
| 2683 | |||
| 2684 | BEOPEN.COM LICENSE AGREEMENT FOR PYTHON 2.0 | ||
| 2685 | ------------------------------------------- | ||
| 2686 | |||
| 2687 | BEOPEN PYTHON OPEN SOURCE LICENSE AGREEMENT VERSION 1 | ||
| 2688 | |||
| 2689 | 1. This LICENSE AGREEMENT is between BeOpen.com ("BeOpen"), having an | ||
| 2690 | office at 160 Saratoga Avenue, Santa Clara, CA 95051, and the | ||
| 2691 | Individual or Organization ("Licensee") accessing and otherwise using | ||
| 2692 | this software in source or binary form and its associated | ||
| 2693 | documentation ("the Software"). | ||
| 2694 | |||
| 2695 | 2. Subject to the terms and conditions of this BeOpen Python License | ||
| 2696 | Agreement, BeOpen hereby grants Licensee a non-exclusive, | ||
| 2697 | royalty-free, world-wide license to reproduce, analyze, test, perform | ||
| 2698 | and/or display publicly, prepare derivative works, distribute, and | ||
| 2699 | otherwise use the Software alone or in any derivative version, | ||
| 2700 | provided, however, that the BeOpen Python License is retained in the | ||
| 2701 | Software, alone or in any derivative version prepared by Licensee. | ||
| 2702 | |||
| 2703 | 3. BeOpen is making the Software available to Licensee on an "AS IS" | ||
| 2704 | basis. BEOPEN MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR | ||
| 2705 | IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, BEOPEN MAKES NO AND | ||
| 2706 | DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS | ||
| 2707 | FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE WILL NOT | ||
| 2708 | INFRINGE ANY THIRD PARTY RIGHTS. | ||
| 2709 | |||
| 2710 | 4. BEOPEN SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF THE | ||
| 2711 | SOFTWARE FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS | ||
| 2712 | AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THE SOFTWARE, OR ANY | ||
| 2713 | DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. | ||
| 2714 | |||
| 2715 | 5. This License Agreement will automatically terminate upon a material | ||
| 2716 | breach of its terms and conditions. | ||
| 2717 | |||
| 2718 | 6. This License Agreement shall be governed by and interpreted in all | ||
| 2719 | respects by the law of the State of California, excluding conflict of | ||
| 2720 | law provisions. Nothing in this License Agreement shall be deemed to | ||
| 2721 | create any relationship of agency, partnership, or joint venture | ||
| 2722 | between BeOpen and Licensee. This License Agreement does not grant | ||
| 2723 | permission to use BeOpen trademarks or trade names in a trademark | ||
| 2724 | sense to endorse or promote products or services of Licensee, or any | ||
| 2725 | third party. As an exception, the "BeOpen Python" logos available at | ||
| 2726 | http://www.pythonlabs.com/logos.html may be used according to the | ||
| 2727 | permissions granted on that web page. | ||
| 2728 | |||
| 2729 | 7. By copying, installing or otherwise using the software, Licensee | ||
| 2730 | agrees to be bound by the terms and conditions of this License | ||
| 2731 | Agreement. | ||
| 2732 | |||
| 2733 | |||
| 2734 | CNRI LICENSE AGREEMENT FOR PYTHON 1.6.1 | ||
| 2735 | --------------------------------------- | ||
| 2736 | |||
| 2737 | 1. This LICENSE AGREEMENT is between the Corporation for National | ||
| 2738 | Research Initiatives, having an office at 1895 Preston White Drive, | ||
| 2739 | Reston, VA 20191 ("CNRI"), and the Individual or Organization | ||
| 2740 | ("Licensee") accessing and otherwise using Python 1.6.1 software in | ||
| 2741 | source or binary form and its associated documentation. | ||
| 2742 | |||
| 2743 | 2. Subject to the terms and conditions of this License Agreement, CNRI | ||
| 2744 | hereby grants Licensee a nonexclusive, royalty-free, world-wide | ||
| 2745 | license to reproduce, analyze, test, perform and/or display publicly, | ||
| 2746 | prepare derivative works, distribute, and otherwise use Python 1.6.1 | ||
| 2747 | alone or in any derivative version, provided, however, that CNRI's | ||
| 2748 | License Agreement and CNRI's notice of copyright, i.e., "Copyright (c) | ||
| 2749 | 1995-2001 Corporation for National Research Initiatives; All Rights | ||
| 2750 | Reserved" are retained in Python 1.6.1 alone or in any derivative | ||
| 2751 | version prepared by Licensee. Alternately, in lieu of CNRI's License | ||
| 2752 | Agreement, Licensee may substitute the following text (omitting the | ||
| 2753 | quotes): "Python 1.6.1 is made available subject to the terms and | ||
| 2754 | conditions in CNRI's License Agreement. This Agreement together with | ||
| 2755 | Python 1.6.1 may be located on the Internet using the following | ||
| 2756 | unique, persistent identifier (known as a handle): 1895.22/1013. This | ||
| 2757 | Agreement may also be obtained from a proxy server on the Internet | ||
| 2758 | using the following URL: http://hdl.handle.net/1895.22/1013". | ||
| 2759 | |||
| 2760 | 3. In the event Licensee prepares a derivative work that is based on | ||
| 2761 | or incorporates Python 1.6.1 or any part thereof, and wants to make | ||
| 2762 | the derivative work available to others as provided herein, then | ||
| 2763 | Licensee hereby agrees to include in any such work a brief summary of | ||
| 2764 | the changes made to Python 1.6.1. | ||
| 2765 | |||
| 2766 | 4. CNRI is making Python 1.6.1 available to Licensee on an "AS IS" | ||
| 2767 | basis. CNRI MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR | ||
| 2768 | IMPLIED. BY WAY OF EXAMPLE, BUT NOT LIMITATION, CNRI MAKES NO AND | ||
| 2769 | DISCLAIMS ANY REPRESENTATION OR WARRANTY OF MERCHANTABILITY OR FITNESS | ||
| 2770 | FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF PYTHON 1.6.1 WILL NOT | ||
| 2771 | INFRINGE ANY THIRD PARTY RIGHTS. | ||
| 2772 | |||
| 2773 | 5. CNRI SHALL NOT BE LIABLE TO LICENSEE OR ANY OTHER USERS OF PYTHON | ||
| 2774 | 1.6.1 FOR ANY INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES OR LOSS AS | ||
| 2775 | A RESULT OF MODIFYING, DISTRIBUTING, OR OTHERWISE USING PYTHON 1.6.1, | ||
| 2776 | OR ANY DERIVATIVE THEREOF, EVEN IF ADVISED OF THE POSSIBILITY THEREOF. | ||
| 2777 | |||
| 2778 | 6. This License Agreement will automatically terminate upon a material | ||
| 2779 | breach of its terms and conditions. | ||
| 2780 | |||
| 2781 | 7. This License Agreement shall be governed by the federal | ||
| 2782 | intellectual property law of the United States, including without | ||
| 2783 | limitation the federal copyright law, and, to the extent such | ||
| 2784 | U.S. federal law does not apply, by the law of the Commonwealth of | ||
| 2785 | Virginia, excluding Virginia's conflict of law provisions. | ||
| 2786 | Notwithstanding the foregoing, with regard to derivative works based | ||
| 2787 | on Python 1.6.1 that incorporate non-separable material that was | ||
| 2788 | previously distributed under the GNU General Public License (GPL), the | ||
| 2789 | law of the Commonwealth of Virginia shall govern this License | ||
| 2790 | Agreement only as to issues arising under or with respect to | ||
| 2791 | Paragraphs 4, 5, and 7 of this License Agreement. Nothing in this | ||
| 2792 | License Agreement shall be deemed to create any relationship of | ||
| 2793 | agency, partnership, or joint venture between CNRI and Licensee. This | ||
| 2794 | License Agreement does not grant permission to use CNRI trademarks or | ||
| 2795 | trade name in a trademark sense to endorse or promote products or | ||
| 2796 | services of Licensee, or any third party. | ||
| 2797 | |||
| 2798 | 8. By clicking on the "ACCEPT" button where indicated, or by copying, | ||
| 2799 | installing or otherwise using Python 1.6.1, Licensee agrees to be | ||
| 2800 | bound by the terms and conditions of this License Agreement. | ||
| 2801 | |||
| 2802 | ACCEPT | ||
| 2803 | |||
| 2804 | |||
| 2805 | CWI LICENSE AGREEMENT FOR PYTHON 0.9.0 THROUGH 1.2 | ||
| 2806 | -------------------------------------------------- | ||
| 2807 | |||
| 2808 | Copyright (c) 1991 - 1995, Stichting Mathematisch Centrum Amsterdam, | ||
| 2809 | The Netherlands. All rights reserved. | ||
| 2810 | |||
| 2811 | Permission to use, copy, modify, and distribute this software and its | ||
| 2812 | documentation for any purpose and without fee is hereby granted, | ||
| 2813 | provided that the above copyright notice appear in all copies and that | ||
| 2814 | both that copyright notice and this permission notice appear in | ||
| 2815 | supporting documentation, and that the name of Stichting Mathematisch | ||
| 2816 | Centrum or CWI not be used in advertising or publicity pertaining to | ||
| 2817 | distribution of the software without specific, written prior | ||
| 2818 | permission. | ||
| 2819 | |||
| 2820 | STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO | ||
| 2821 | THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND | ||
| 2822 | FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE | ||
| 2823 | FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||
| 2824 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||
| 2825 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT | ||
| 2826 | OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||
| 2827 | |||
| 2828 | -- End of PSF License for Python 2.4 -- | ||
| 2829 | |||
| 2830 | License: IJG License | ||
| 2831 | |||
| 2832 | LEGAL ISSUES | ||
| 2833 | ============ | ||
| 2834 | |||
| 2835 | In plain English: | ||
| 2836 | |||
| 2837 | 1. We don't promise that this software works. (But if you find any bugs, | ||
| 2838 | please let us know!) | ||
| 2839 | 2. You can use this software for whatever you want. You don't have to pay us. | ||
| 2840 | 3. You may not pretend that you wrote this software. If you use it in a | ||
| 2841 | program, you must acknowledge somewhere in your documentation that | ||
| 2842 | you've used the IJG code. | ||
| 2843 | |||
| 2844 | In legalese: | ||
| 2845 | |||
| 2846 | The authors make NO WARRANTY or representation, either express or implied, | ||
| 2847 | with respect to this software, its quality, accuracy, merchantability, or | ||
| 2848 | fitness for a particular purpose. This software is provided "AS IS", and you, | ||
| 2849 | its user, assume the entire risk as to its quality and accuracy. | ||
| 2850 | |||
| 2851 | This software is copyright (C) 1991-1998, Thomas G. Lane. | ||
| 2852 | All Rights Reserved except as specified below. | ||
| 2853 | |||
| 2854 | Permission is hereby granted to use, copy, modify, and distribute this | ||
| 2855 | software (or portions thereof) for any purpose, without fee, subject to these | ||
| 2856 | conditions: | ||
| 2857 | (1) If any part of the source code for this software is distributed, then this | ||
| 2858 | README file must be included, with this copyright and no-warranty notice | ||
| 2859 | unaltered; and any additions, deletions, or changes to the original files | ||
| 2860 | must be clearly indicated in accompanying documentation. | ||
| 2861 | (2) If only executable code is distributed, then the accompanying | ||
| 2862 | documentation must state that "this software is based in part on the work of | ||
| 2863 | the Independent JPEG Group". | ||
| 2864 | (3) Permission for use of this software is granted only if the user accepts | ||
| 2865 | full responsibility for any undesirable consequences; the authors accept | ||
| 2866 | NO LIABILITY for damages of any kind. | ||
| 2867 | |||
| 2868 | These conditions apply to any software derived from or based on the IJG code, | ||
| 2869 | not just to the unmodified library. If you use our work, you ought to | ||
| 2870 | acknowledge us. | ||
| 2871 | |||
| 2872 | Permission is NOT granted for the use of any IJG author's name or company name | ||
| 2873 | in advertising or publicity relating to this software or products derived from | ||
| 2874 | it. This software may be referred to only as "the Independent JPEG Group's | ||
| 2875 | software". | ||
| 2876 | |||
| 2877 | We specifically permit and encourage the use of this software as the basis of | ||
| 2878 | commercial products, provided that all warranty or liability claims are | ||
| 2879 | assumed by the product vendor. | ||
| 2880 | |||
| 2881 | |||
| 2882 | ansi2knr.c is included in this distribution by permission of L. Peter Deutsch, | ||
| 2883 | sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA. | ||
| 2884 | ansi2knr.c is NOT covered by the above copyright and conditions, but instead | ||
| 2885 | by the usual distribution terms of the Free Software Foundation; principally, | ||
| 2886 | that you must include source code if you redistribute it. (See the file | ||
| 2887 | ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part | ||
| 2888 | of any program generated from the IJG code, this does not limit you more than | ||
| 2889 | the foregoing paragraphs do. | ||
| 2890 | |||
| 2891 | The Unix configuration script "configure" was produced with GNU Autoconf. | ||
| 2892 | It is copyright by the Free Software Foundation but is freely distributable. | ||
| 2893 | The same holds for its supporting scripts (config.guess, config.sub, | ||
| 2894 | ltconfig, ltmain.sh). Another support script, install-sh, is copyright | ||
| 2895 | by M.I.T. but is also freely distributable. | ||
| 2896 | |||
| 2897 | It appears that the arithmetic coding option of the JPEG spec is covered by | ||
| 2898 | patents owned by IBM, AT&T, and Mitsubishi. Hence arithmetic coding cannot | ||
| 2899 | legally be used without obtaining one or more licenses. For this reason, | ||
| 2900 | support for arithmetic coding has been removed from the free JPEG software. | ||
| 2901 | (Since arithmetic coding provides only a marginal gain over the unpatented | ||
| 2902 | Huffman mode, it is unlikely that very many implementations will support it.) | ||
| 2903 | So far as we are aware, there are no patent restrictions on the remaining | ||
| 2904 | code. | ||
| 2905 | |||
| 2906 | The IJG distribution formerly included code to read and write GIF files. | ||
| 2907 | To avoid entanglement with the Unisys LZW patent, GIF reading support has | ||
| 2908 | been removed altogether, and the GIF writer has been simplified to produce | ||
| 2909 | "uncompressed GIFs". This technique does not use the LZW algorithm; the | ||
| 2910 | resulting GIF files are larger than usual, but are readable by all standard | ||
| 2911 | GIF decoders. | ||
| 2912 | |||
| 2913 | We are required to state that | ||
| 2914 | "The Graphics Interchange Format(c) is the Copyright property of | ||
| 2915 | CompuServe Incorporated. GIF(sm) is a Service Mark property of | ||
| 2916 | CompuServe Incorporated." | ||
| 2917 | |||
| 2918 | -- End of IJG License -- | ||
| 2919 | |||
| 2920 | License: OpenSSH | ||
| 2921 | |||
| 2922 | This file is part of the OpenSSH software. | ||
| 2923 | |||
| 2924 | The licences which components of this software fall under are as | ||
| 2925 | follows. First, we will summarize and say that all components | ||
| 2926 | are under a BSD licence, or a licence more free than that. | ||
| 2927 | |||
| 2928 | OpenSSH contains no GPL code. | ||
| 2929 | |||
| 2930 | 1) | ||
| 2931 | * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland | ||
| 2932 | * All rights reserved | ||
| 2933 | * | ||
| 2934 | * As far as I am concerned, the code I have written for this software | ||
| 2935 | * can be used freely for any purpose. Any derived versions of this | ||
| 2936 | * software must be clearly marked as such, and if the derived work is | ||
| 2937 | * incompatible with the protocol description in the RFC file, it must be | ||
| 2938 | * called by a name other than "ssh" or "Secure Shell". | ||
| 2939 | |||
| 2940 | [Tatu continues] | ||
| 2941 | * However, I am not implying to give any licenses to any patents or | ||
| 2942 | * copyrights held by third parties, and the software includes parts that | ||
| 2943 | * are not under my direct control. As far as I know, all included | ||
| 2944 | * source code is used in accordance with the relevant license agreements | ||
| 2945 | * and can be used freely for any purpose (the GNU license being the most | ||
| 2946 | * restrictive); see below for details. | ||
| 2947 | |||
| 2948 | [However, none of that term is relevant at this point in time. All of | ||
| 2949 | these restrictively licenced software components which he talks about | ||
| 2950 | have been removed from OpenSSH, i.e., | ||
| 2951 | |||
| 2952 | - RSA is no longer included, found in the OpenSSL library | ||
| 2953 | - IDEA is no longer included, its use is deprecated | ||
| 2954 | - DES is now external, in the OpenSSL library | ||
| 2955 | - GMP is no longer used, and instead we call BN code from OpenSSL | ||
| 2956 | - Zlib is now external, in a library | ||
| 2957 | - The make-ssh-known-hosts script is no longer included | ||
| 2958 | - TSS has been removed | ||
| 2959 | - MD5 is now external, in the OpenSSL library | ||
| 2960 | - RC4 support has been replaced with ARC4 support from OpenSSL | ||
| 2961 | - Blowfish is now external, in the OpenSSL library | ||
| 2962 | |||
| 2963 | [The licence continues] | ||
| 2964 | |||
| 2965 | Note that any information and cryptographic algorithms used in this | ||
| 2966 | software are publicly available on the Internet and at any major | ||
| 2967 | bookstore, scientific library, and patent office worldwide. More | ||
| 2968 | information can be found e.g. at "http://www.cs.hut.fi/crypto". | ||
| 2969 | |||
| 2970 | The legal status of this program is some combination of all these | ||
| 2971 | permissions and restrictions. Use only at your own responsibility. | ||
| 2972 | You will be responsible for any legal consequences yourself; I am not | ||
| 2973 | making any claims whether possessing or using this is legal or not in | ||
| 2974 | your country, and I am not taking any responsibility on your behalf. | ||
| 2975 | |||
| 2976 | |||
| 2977 | NO WARRANTY | ||
| 2978 | |||
| 2979 | BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
| 2980 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
| 2981 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
| 2982 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
| 2983 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
| 2984 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
| 2985 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
| 2986 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
| 2987 | REPAIR OR CORRECTION. | ||
| 2988 | |||
| 2989 | IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
| 2990 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
| 2991 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
| 2992 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
| 2993 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
| 2994 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
| 2995 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
| 2996 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
| 2997 | POSSIBILITY OF SUCH DAMAGES. | ||
| 2998 | |||
| 2999 | 2) | ||
| 3000 | The 32-bit CRC compensation attack detector in deattack.c was | ||
| 3001 | contributed by CORE SDI S.A. under a BSD-style license. | ||
| 3002 | |||
| 3003 | * Cryptographic attack detector for ssh - source code | ||
| 3004 | * | ||
| 3005 | * Copyright (c) 1998 CORE SDI S.A., Buenos Aires, Argentina. | ||
| 3006 | * | ||
| 3007 | * All rights reserved. Redistribution and use in source and binary | ||
| 3008 | * forms, with or without modification, are permitted provided that | ||
| 3009 | * this copyright notice is retained. | ||
| 3010 | * | ||
| 3011 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED | ||
| 3012 | * WARRANTIES ARE DISCLAIMED. IN NO EVENT SHALL CORE SDI S.A. BE | ||
| 3013 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY OR | ||
| 3014 | * CONSEQUENTIAL DAMAGES RESULTING FROM THE USE OR MISUSE OF THIS | ||
| 3015 | * SOFTWARE. | ||
| 3016 | * | ||
| 3017 | * Ariel Futoransky <futo@core-sdi.com> | ||
| 3018 | * <http://www.core-sdi.com> | ||
| 3019 | |||
| 3020 | 3) | ||
| 3021 | ssh-keyscan was contributed by David Mazieres under a BSD-style | ||
| 3022 | license. | ||
| 3023 | |||
| 3024 | * Copyright 1995, 1996 by David Mazieres <dm@lcs.mit.edu>. | ||
| 3025 | * | ||
| 3026 | * Modification and redistribution in source and binary forms is | ||
| 3027 | * permitted provided that due credit is given to the author and the | ||
| 3028 | * OpenBSD project by leaving this copyright notice intact. | ||
| 3029 | |||
| 3030 | 4) | ||
| 3031 | The Rijndael implementation by Vincent Rijmen, Antoon Bosselaers | ||
| 3032 | and Paulo Barreto is in the public domain and distributed | ||
| 3033 | with the following license: | ||
| 3034 | |||
| 3035 | * @version 3.0 (December 2000) | ||
| 3036 | * | ||
| 3037 | * Optimised ANSI C code for the Rijndael cipher (now AES) | ||
| 3038 | * | ||
| 3039 | * @author Vincent Rijmen <vincent.rijmen@esat.kuleuven.ac.be> | ||
| 3040 | * @author Antoon Bosselaers <antoon.bosselaers@esat.kuleuven.ac.be> | ||
| 3041 | * @author Paulo Barreto <paulo.barreto@terra.com.br> | ||
| 3042 | * | ||
| 3043 | * This code is hereby placed in the public domain. | ||
| 3044 | * | ||
| 3045 | * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ''AS IS'' AND ANY EXPRESS | ||
| 3046 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
| 3047 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 3048 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE | ||
| 3049 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
| 3050 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
| 3051 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR | ||
| 3052 | * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
| 3053 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | ||
| 3054 | * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, | ||
| 3055 | * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 3056 | |||
| 3057 | 5) | ||
| 3058 | One component of the ssh source code is under a 3-clause BSD license, | ||
| 3059 | held by the University of California, since we pulled these parts from | ||
| 3060 | original Berkeley code. | ||
| 3061 | |||
| 3062 | * Copyright (c) 1983, 1990, 1992, 1993, 1995 | ||
| 3063 | * The Regents of the University of California. All rights reserved. | ||
| 3064 | * | ||
| 3065 | * Redistribution and use in source and binary forms, with or without | ||
| 3066 | * modification, are permitted provided that the following conditions | ||
| 3067 | * are met: | ||
| 3068 | * 1. Redistributions of source code must retain the above copyright | ||
| 3069 | * notice, this list of conditions and the following disclaimer. | ||
| 3070 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 3071 | * notice, this list of conditions and the following disclaimer in the | ||
| 3072 | * documentation and/or other materials provided with the distribution. | ||
| 3073 | * 3. Neither the name of the University nor the names of its contributors | ||
| 3074 | * may be used to endorse or promote products derived from this software | ||
| 3075 | * without specific prior written permission. | ||
| 3076 | * | ||
| 3077 | * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND | ||
| 3078 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
| 3079 | * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
| 3080 | * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE | ||
| 3081 | * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||
| 3082 | * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||
| 3083 | * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
| 3084 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||
| 3085 | * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||
| 3086 | * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | ||
| 3087 | * THE POSSIBILITY OF SUCH DAMAGE. | ||
| 3088 | |||
| 3089 | 6) | ||
| 3090 | Remaining components of the software are provided under a standard | ||
| 3091 | 2-term BSD licence with the following names as copyright holders: | ||
| 3092 | |||
| 3093 | Markus Friedl | ||
| 3094 | Theo de Raadt | ||
| 3095 | Niels Provos | ||
| 3096 | Dug Song | ||
| 3097 | Aaron Campbell | ||
| 3098 | Damien Miller | ||
| 3099 | Kevin Steves | ||
| 3100 | Daniel Kouril | ||
| 3101 | Wesley Griffin | ||
| 3102 | Per Allansson | ||
| 3103 | Nils Nordman | ||
| 3104 | Simon Wilkinson | ||
| 3105 | |||
| 3106 | * Redistribution and use in source and binary forms, with or without | ||
| 3107 | * modification, are permitted provided that the following conditions | ||
| 3108 | * are met: | ||
| 3109 | * 1. Redistributions of source code must retain the above copyright | ||
| 3110 | * notice, this list of conditions and the following disclaimer. | ||
| 3111 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 3112 | * notice, this list of conditions and the following disclaimer in the | ||
| 3113 | * documentation and/or other materials provided with the distribution. | ||
| 3114 | * | ||
| 3115 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR | ||
| 3116 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES | ||
| 3117 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. | ||
| 3118 | * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
| 3119 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT | ||
| 3120 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
| 3121 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY | ||
| 3122 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
| 3123 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||
| 3124 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 3125 | |||
| 3126 | -- End of OpenSSH License -- | ||
diff --git a/project/cmake/cpack/deb/lintian/overrides/kodi b/project/cmake/cpack/deb/lintian/overrides/kodi deleted file mode 100644 index d9536c4..0000000 --- a/project/cmake/cpack/deb/lintian/overrides/kodi +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | kodi: description-starts-with-package-name | ||
diff --git a/project/cmake/cpack/deb/menu/kodi b/project/cmake/cpack/deb/menu/kodi deleted file mode 100644 index 0c221a4..0000000 --- a/project/cmake/cpack/deb/menu/kodi +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | ?package(kodi):needs="X11" section="Applications/Video" \ | ||
| 2 | title="kodi" command="/usr/bin/kodi" | ||
diff --git a/project/cmake/cpack/deb/package-description.txt b/project/cmake/cpack/deb/package-description.txt deleted file mode 100644 index 961e1c8..0000000 --- a/project/cmake/cpack/deb/package-description.txt +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | Kodi, formerly known as XBMC Media Center, is an award winning free and open | ||
| 2 | source software media-player and entertainment hub for all your digital media. | ||
| 3 | Kodi is available for Linux, Mac OS X (Leopard, Tiger and Apple TV) and | ||
| 4 | Microsoft Windows, as well as the original Xbox game console. Created in 2003 | ||
| 5 | by a group of like minded programmers, Kodi is a non-profit project run and | ||
| 6 | developed by volunteers located around the world. More than 50 software | ||
| 7 | developers have contributed to Kodi, and 100-plus translators have worked to | ||
| 8 | expand its reach, making it available in more than 30 languages. | ||
| 9 | . | ||
| 10 | While Kodi functions very well as a standard media player application for your | ||
| 11 | computer, it has been designed to be the perfect companion for your HTPC. | ||
| 12 | Supporting an almost endless range of remote controls, and combined with its | ||
| 13 | beautiful interface and powerful skinning engine, Kodi feels very natural to | ||
| 14 | use from the couch and is the ideal solution for your home theater. Once | ||
| 15 | installed, your computer will become a fully functional multimedia jukebox. | ||
| 16 | . \ No newline at end of file | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-addon-dev.txt.in b/project/cmake/cpack/deb/packages/kodi-addon-dev.txt.in deleted file mode 100644 index aebae7e..0000000 --- a/project/cmake/cpack/deb/packages/kodi-addon-dev.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-addon-dev debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-addon-dev | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION libdevel | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS | ||
| 19 | PACKAGE_RECOMMENDS @APP_NAME_LC@-audio-dev, @APP_NAME_LC@-inputstream-dev, @APP_NAME_LC@-pvr-dev, @APP_NAME_LC@-screensaver-dev, @APP_NAME_LC@-visualization-dev | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-addon-dev | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (general add-on dev package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the development package for @APP_NAME@'s add-ons. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-audio-dev.txt.in b/project/cmake/cpack/deb/packages/kodi-audio-dev.txt.in deleted file mode 100644 index f03a64d..0000000 --- a/project/cmake/cpack/deb/packages/kodi-audio-dev.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-audio-dev debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-audio-dev | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION libdevel | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-addon-dev | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-audio-dev | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (audio add-ons dev package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the development package for @APP_NAME@'s audio add-ons. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-bin.txt.in b/project/cmake/cpack/deb/packages/kodi-bin.txt.in deleted file mode 100644 index 8ee33d3..0000000 --- a/project/cmake/cpack/deb/packages/kodi-bin.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-bin debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-bin | ||
| 14 | PACKAGE_ARCHITECTURE | ||
| 15 | PACKAGE_SECTION video | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS libasound2 (>= 1.0.27), libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libbluetooth3 (>= 4.91), libbz2-1.0, libc6 (>= 2.15), libcdio13 (>= 0.83), libcrossguid1, libdbus-1-3 (>= 1.9.14), libdrm2 (>= 2.4.16), libegl1-mesa (>= 7.8.1) | libegl1-x11, libexpat1 (>= 2.0.1), libfreetype6 (>= 2.2.1), libfribidi0 (>= 0.19.2), libgcc1 (>= 1:3.0), libgl1-mesa-glx | libgl1, libgnutls30 (>= 3.4.2), liblzma5 (>= 5.1.1alpha+20120614), liblzo2-2, libmicrohttpd10 (>= 0.9.20), libmysqlclient20 (>= 5.7.11), libpcre3, libpcrecpp0v5 (>= 7.7), libpulse0 (>= 0.99.4), libpython2.7 (>= 2.7), libsmbclient (>= 2:4.0.3+dfsg1), libsqlite3-0 (>= 3.6.11), libssh-4 (>= 0.6.1), libstdc++6 (>= 5.2), libtag1v5 (>= 1.9.1-2.4ubuntu1), libtinyxml2.6.2v5, libudev1 (>= 183), libva-x11-1 (>= 1.0.3), libva1 (>= 1.4.0), libx11-6, libxext6, libxml2 (>= 2.7.4), libxrandr2 (>= 2:1.2.99.3), libxslt1.1 (>= 1.1.25), libyajl2 (>= 2.0.4), zlib1g (>= 1:1.2.0.2) | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS xbmc-bin (<< 2:14.0~git20141019), xbmc-common | ||
| 22 | PACKAGE_REPLACES xbmc-bin (<< 2:14.0~git20141019), xbmc-common | ||
| 23 | PACKAGE_PROVIDES @APP_NAME_LC@-bin, @APP_NAME_LC@-common, xbmc-bin, xbmc-common | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (binary data package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This package contains @APP_NAME@'s binary data. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-eventclients-common.txt.in b/project/cmake/cpack/deb/packages/kodi-eventclients-common.txt.in deleted file mode 100644 index 6559842..0000000 --- a/project/cmake/cpack/deb/packages/kodi-eventclients-common.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-eventclients-common debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-eventclients-common | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION video | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-eventclients-common | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (event client common package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the common package for @APP_NAME@'s event client. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-eventclients-dev.txt.in b/project/cmake/cpack/deb/packages/kodi-eventclients-dev.txt.in deleted file mode 100644 index 4b166b5..0000000 --- a/project/cmake/cpack/deb/packages/kodi-eventclients-dev.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-eventclients-dev debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-eventclients-dev | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION libdevel | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-eventclients-common (= @CPACK_DEBIAN_PACKAGE_VERSION@) | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-eventclients-dev | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (event client dev package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the development package for @APP_NAME@'s event client. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-eventclients-ps3.txt.in b/project/cmake/cpack/deb/packages/kodi-eventclients-ps3.txt.in deleted file mode 100644 index bd432a2..0000000 --- a/project/cmake/cpack/deb/packages/kodi-eventclients-ps3.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-eventclients-ps3 debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-eventclients-ps3 | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION video | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-eventclients-common (= @CPACK_DEBIAN_PACKAGE_VERSION@), python-bluez | python-lightblue | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-eventclients-ps3 | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (PS3 event client package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the PS3 package for @APP_NAME@'s event client. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-eventclients-wiiremote.txt.in b/project/cmake/cpack/deb/packages/kodi-eventclients-wiiremote.txt.in deleted file mode 100644 index 5973784..0000000 --- a/project/cmake/cpack/deb/packages/kodi-eventclients-wiiremote.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-eventclients-wiiremote debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-eventclients-wiiremote | ||
| 14 | PACKAGE_ARCHITECTURE | ||
| 15 | PACKAGE_SECTION video | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-eventclients-common (= @CPACK_DEBIAN_PACKAGE_VERSION@), libbluetooth3 (>= 4.91), libc6 (>= 2.14), libcwiid1 (>= 0.6.00+svn184), libgcc1 (>= 1:3.0), libstdc++6 (>= 5.2) | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-eventclients-wiiremote | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (Wii Remote event client package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the Wii Remote package for @APP_NAME@'s event client. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-eventclients-xbmc-send.txt.in b/project/cmake/cpack/deb/packages/kodi-eventclients-xbmc-send.txt.in deleted file mode 100644 index 0062479..0000000 --- a/project/cmake/cpack/deb/packages/kodi-eventclients-xbmc-send.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-eventclients-xbmc-send debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-eventclients-xbmc-send | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION video | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-eventclients-common (= @CPACK_DEBIAN_PACKAGE_VERSION@) | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-eventclients-xbmc-send | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (@APP_NAME@-send event client package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the Kodi-SEND package for @APP_NAME@'s event client. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-inputstream-dev.txt.in b/project/cmake/cpack/deb/packages/kodi-inputstream-dev.txt.in deleted file mode 100644 index 3b4c381..0000000 --- a/project/cmake/cpack/deb/packages/kodi-inputstream-dev.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-inputstream-dev debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-inputstream-dev | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION libdevel | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-addon-dev | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-inputstream-dev | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (inputstream add-ons dev package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the development package for @APP_NAME@'s inputstream add-ons. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-peripheral-dev.txt.in b/project/cmake/cpack/deb/packages/kodi-peripheral-dev.txt.in deleted file mode 100644 index 1c41c5f..0000000 --- a/project/cmake/cpack/deb/packages/kodi-peripheral-dev.txt.in +++ /dev/null | |||
| @@ -1,24 +0,0 @@ | |||
| 1 | # kodi-peripheral-dev debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-peripheral-dev | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION libdevel | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-addon-dev | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (peripheral add-ons dev package) | ||
| 24 | PACKAGE_DESCRIPTION_FOOTER This is the development package for @APP_NAME@'s peripheral add-ons. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-pvr-dev.txt.in b/project/cmake/cpack/deb/packages/kodi-pvr-dev.txt.in deleted file mode 100644 index 90e4a14..0000000 --- a/project/cmake/cpack/deb/packages/kodi-pvr-dev.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-pvr-dev debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-pvr-dev | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION libdevel | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-addon-dev | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-pvr-dev | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (PVR add-ons dev package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the development package for @APP_NAME@'s PVR add-ons. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-screensaver-dev.txt.in b/project/cmake/cpack/deb/packages/kodi-screensaver-dev.txt.in deleted file mode 100644 index 877c3ab..0000000 --- a/project/cmake/cpack/deb/packages/kodi-screensaver-dev.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-screensaver-dev debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-screensaver-dev | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION libdevel | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-addon-dev | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-screensaver-dev | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (screensaver add-ons dev package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the development package for @APP_NAME@'s screensaver add-ons. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-tools-texturepacker.txt.in b/project/cmake/cpack/deb/packages/kodi-tools-texturepacker.txt.in deleted file mode 100644 index c5c5f8d..0000000 --- a/project/cmake/cpack/deb/packages/kodi-tools-texturepacker.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-tools-texturepacker debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-tools-texturepacker | ||
| 14 | PACKAGE_ARCHITECTURE | ||
| 15 | PACKAGE_SECTION video | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (skin development - TexturePacker tool) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is @APP_NAME@'s TexturePacker tool for skin development. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi-visualization-dev.txt.in b/project/cmake/cpack/deb/packages/kodi-visualization-dev.txt.in deleted file mode 100644 index ecc5436..0000000 --- a/project/cmake/cpack/deb/packages/kodi-visualization-dev.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi-visualization-dev debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@-visualization-dev | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION libdevel | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 17 | PACKAGE_SHLIBDEPS | ||
| 18 | PACKAGE_DEPENDS @APP_NAME_LC@-addon-dev | ||
| 19 | PACKAGE_RECOMMENDS | ||
| 20 | PACKAGE_SUGGESTS | ||
| 21 | PACKAGE_BREAKS | ||
| 22 | PACKAGE_REPLACES | ||
| 23 | PACKAGE_PROVIDES xbmc-visualization-dev | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (visualization add-ons dev package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This is the development package for @APP_NAME@'s visualization add-ons. | ||
diff --git a/project/cmake/cpack/deb/packages/kodi.txt.in b/project/cmake/cpack/deb/packages/kodi.txt.in deleted file mode 100644 index 4ca417b..0000000 --- a/project/cmake/cpack/deb/packages/kodi.txt.in +++ /dev/null | |||
| @@ -1,25 +0,0 @@ | |||
| 1 | # kodi debian package metadata | ||
| 2 | # | ||
| 3 | # Setting PACKAGE_SHLIBDEPS to 'ON' will cause CPack to ignore PACKAGE_DEPENDS | ||
| 4 | # content and use dpkg-shlibdeps to automatically generate the package dependency | ||
| 5 | # list. Only useful for packages that contain binaries. | ||
| 6 | # | ||
| 7 | # PACKAGE_ARCHITECTURE should be set to 'all' only if package contains | ||
| 8 | # architecture agnostic data. CPack will set proper architecture (amd64/i386/etc) | ||
| 9 | # based on build options. | ||
| 10 | # | ||
| 11 | # Remaining settings are (hopefully) self-explanatory. | ||
| 12 | |||
| 13 | PACKAGE_NAME @APP_NAME_LC@ | ||
| 14 | PACKAGE_ARCHITECTURE all | ||
| 15 | PACKAGE_SECTION video | ||
| 16 | PACKAGE_PRIORITY optional | ||
| 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, libshairplay0, libvorbisfile3, libaacs0, libcec4, libgnutls30 | libgnutls-deb0-28 | libgnutls28 | libgnutls26, libxslt1.1, libyajl2 | ||
| 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 | ||
| 21 | PACKAGE_BREAKS xbmc (<< 2:14.0~git20141019), xbmc-data, xbmc-standalone | ||
| 22 | PACKAGE_REPLACES xbmc (<< 2:14.0~git20141019), xbmc-data, xbmc-standalone | ||
| 23 | PACKAGE_PROVIDES @APP_NAME_LC@-data, @APP_NAME_LC@-skin-estuary, @APP_NAME_LC@-standalone, xbmc, xbmc-data, xbmc-standalone | ||
| 24 | PACKAGE_DESCRIPTION_HEADER @APP_NAME@ Media Center (arch-independent data package) | ||
| 25 | PACKAGE_DESCRIPTION_FOOTER This package contains @APP_NAME@'s architecture independent data. | ||
diff --git a/project/cmake/cpack/deb/postinst b/project/cmake/cpack/deb/postinst deleted file mode 100755 index 318d280..0000000 --- a/project/cmake/cpack/deb/postinst +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | set -e | ||
| 3 | if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then | ||
| 4 | update-menus | ||
| 5 | fi | ||
diff --git a/project/cmake/cpack/deb/postrm b/project/cmake/cpack/deb/postrm deleted file mode 100755 index adc11fd..0000000 --- a/project/cmake/cpack/deb/postrm +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | #!/bin/sh | ||
| 2 | set -e | ||
| 3 | if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi | ||
diff --git a/project/cmake/installdata/common/addons.txt b/project/cmake/installdata/common/addons.txt deleted file mode 100644 index 5613ba7..0000000 --- a/project/cmake/installdata/common/addons.txt +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | addons/audioencoder.xbmc.builtin.aac/* | ||
| 2 | addons/audioencoder.xbmc.builtin.wav/* | ||
| 3 | addons/audioencoder.xbmc.builtin.wma/* | ||
| 4 | addons/game.controller.default/* | ||
| 5 | addons/kodi.adsp/* | ||
| 6 | addons/kodi.audiodecoder/* | ||
| 7 | addons/kodi.game/* | ||
| 8 | addons/kodi.inputstream/* | ||
| 9 | addons/kodi.peripheral/* | ||
| 10 | addons/kodi.resource/* | ||
| 11 | addons/xbmc.addon/metadata.xsd | ||
| 12 | addons/xbmc.addon/repository.xsd | ||
| 13 | addons/xbmc.audioencoder/* | ||
| 14 | addons/xbmc.codec/* | ||
| 15 | addons/xbmc.core/* | ||
| 16 | addons/xbmc.gui/* | ||
| 17 | addons/xbmc.metadata/* | ||
| 18 | addons/xbmc.pvr/* | ||
| 19 | addons/xbmc.python/* | ||
| 20 | addons/xbmc.webinterface/* | ||
| 21 | addons/library.kodi.adsp/* | ||
| 22 | addons/library.kodi.audioengine/* | ||
| 23 | addons/library.kodi.game/* | ||
| 24 | addons/library.kodi.guilib/* | ||
| 25 | addons/library.kodi.peripheral/* | ||
| 26 | addons/library.xbmc.addon/* | ||
| 27 | addons/library.xbmc.codec/* | ||
| 28 | addons/repository.xbmc.org/* | ||
| 29 | addons/webinterface.default/* | ||
| 30 | addons/screensaver.xbmc.builtin.dim/* | ||
| 31 | addons/screensaver.xbmc.builtin.black/* | ||
| 32 | addons/script.module.pil/* | ||
| 33 | addons/script.module.pysqlite/* | ||
| 34 | addons/resource.language.en_gb/* | ||
| 35 | addons/resource.uisounds.kodi/* | ||
| 36 | addons/resource.images.weathericons.default/* | ||
| 37 | addons/service.xbmc.versioncheck/* | ||
| 38 | addons/metadata.local/* | ||
| 39 | addons/metadata.album.universal/* | ||
| 40 | addons/metadata.artists.universal/* | ||
| 41 | addons/metadata.common.allmusic.com/* | ||
| 42 | addons/metadata.common.fanart.tv/* | ||
| 43 | addons/metadata.common.htbackdrops.com/* | ||
| 44 | addons/metadata.common.imdb.com/* | ||
| 45 | addons/metadata.common.musicbrainz.org/* | ||
| 46 | addons/metadata.common.theaudiodb.com/* | ||
| 47 | addons/metadata.common.themoviedb.org/* | ||
| 48 | addons/metadata.themoviedb.org/* | ||
| 49 | addons/metadata.tvdb.com/* | ||
diff --git a/project/cmake/installdata/common/common.txt b/project/cmake/installdata/common/common.txt deleted file mode 100644 index c1e52f0..0000000 --- a/project/cmake/installdata/common/common.txt +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | media/* | ||
| 2 | sounds/* | ||
| 3 | system/keymaps/* | ||
| 4 | system/library/* | ||
| 5 | system/players/VideoPlayer/etc/* | ||
| 6 | system/shaders/* | ||
| 7 | system/settings/* | ||
| 8 | userdata/* | ||
| 9 | system/addon-manifest.xml | ||
| 10 | system/colors.xml | ||
| 11 | system/peripherals.xml | ||
| 12 | system/playercorefactory.xml | ||
| 13 | system/keyboardlayouts/* | ||
diff --git a/project/cmake/installdata/ios/certificates.txt b/project/cmake/installdata/ios/certificates.txt deleted file mode 100644 index 14e74a7..0000000 --- a/project/cmake/installdata/ios/certificates.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | tools/depends/target/openssl/cacert.pem system/certs \ No newline at end of file | ||
diff --git a/project/cmake/installdata/ios/packaging.txt b/project/cmake/installdata/ios/packaging.txt deleted file mode 100644 index ce990b5..0000000 --- a/project/cmake/installdata/ios/packaging.txt +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | LICENSE.gpl | ||
| 2 | privacy-policy.txt | ||
| 3 | xbmc/platform/darwin/Credits.html | ||
diff --git a/project/cmake/installdata/ios/runtime.txt b/project/cmake/installdata/ios/runtime.txt deleted file mode 100644 index 3bb5467..0000000 --- a/project/cmake/installdata/ios/runtime.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | tools/darwin/runtime/preflight | ||
| 2 | tools/darwin/runtime/org.xbmc.helper.plist | ||
diff --git a/project/cmake/installdata/linux/lirc.txt b/project/cmake/installdata/linux/lirc.txt deleted file mode 100644 index 1b48478..0000000 --- a/project/cmake/installdata/linux/lirc.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | system/Lircmap.xml | ||
diff --git a/project/cmake/installdata/osx/certificates.txt b/project/cmake/installdata/osx/certificates.txt deleted file mode 100644 index 14e74a7..0000000 --- a/project/cmake/installdata/osx/certificates.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | tools/depends/target/openssl/cacert.pem system/certs \ No newline at end of file | ||
diff --git a/project/cmake/installdata/osx/packaging.txt b/project/cmake/installdata/osx/packaging.txt deleted file mode 100644 index f869e4c..0000000 --- a/project/cmake/installdata/osx/packaging.txt +++ /dev/null | |||
| @@ -1,4 +0,0 @@ | |||
| 1 | LICENSE.gpl | ||
| 2 | privacy-policy.txt | ||
| 3 | xbmc/platform/darwin/Credits.html | ||
| 4 | tools/darwin/packaging/media/osx/icon.iconset/* | ||
diff --git a/project/cmake/installdata/osx/runtime.txt b/project/cmake/installdata/osx/runtime.txt deleted file mode 100644 index 3bb5467..0000000 --- a/project/cmake/installdata/osx/runtime.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | tools/darwin/runtime/preflight | ||
| 2 | tools/darwin/runtime/org.xbmc.helper.plist | ||
diff --git a/project/cmake/installdata/rbpi/lirc.txt b/project/cmake/installdata/rbpi/lirc.txt deleted file mode 120000 index e89ae50..0000000 --- a/project/cmake/installdata/rbpi/lirc.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../linux/lirc.txt \ No newline at end of file | ||
diff --git a/project/cmake/installdata/test-reference-data.txt b/project/cmake/installdata/test-reference-data.txt deleted file mode 100644 index 895079a..0000000 --- a/project/cmake/installdata/test-reference-data.txt +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | xbmc/utils/test/CXBMCTinyXML-test.xml | ||
| 2 | xbmc/utils/test/data/language/Spanish/strings.po | ||
| 3 | xbmc/filesystem/test/reffile.txt | ||
| 4 | xbmc/filesystem/test/reffile.txt.rar | ||
| 5 | xbmc/filesystem/test/reffile.txt.zip | ||
| 6 | xbmc/filesystem/test/refRARnormal.rar | ||
| 7 | xbmc/filesystem/test/refRARstored.rar | ||
| 8 | xbmc/network/test/data/test.html | ||
| 9 | xbmc/network/test/data/test.png | ||
| 10 | xbmc/network/test/data/test-ranges.txt | ||
diff --git a/project/cmake/installdata/windows/addons.txt b/project/cmake/installdata/windows/addons.txt deleted file mode 100644 index 92bf9b3..0000000 --- a/project/cmake/installdata/windows/addons.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | addons/repository.pvr-win32.xbmc.org/* | ||
diff --git a/project/cmake/installdata/windows/dlls.txt b/project/cmake/installdata/windows/dlls.txt deleted file mode 100644 index 64d9756..0000000 --- a/project/cmake/installdata/windows/dlls.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | system/*.dll . | ||
| 2 | project/Win32BuildSetup/dependencies/python27.dll . \ No newline at end of file | ||
diff --git a/project/cmake/installdata/windows/irss.txt b/project/cmake/installdata/windows/irss.txt deleted file mode 100644 index 6fd8d48..0000000 --- a/project/cmake/installdata/windows/irss.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | system/IRSSmap.xml | ||
| 2 | system/X10-Lola-IRSSmap.xml | ||
diff --git a/project/cmake/installdata/windows/python.txt b/project/cmake/installdata/windows/python.txt deleted file mode 100644 index b805318..0000000 --- a/project/cmake/installdata/windows/python.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | system/python/* \ No newline at end of file | ||
diff --git a/project/cmake/modules/FindAML.cmake b/project/cmake/modules/FindAML.cmake deleted file mode 100644 index 5b9a859..0000000 --- a/project/cmake/modules/FindAML.cmake +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindAML | ||
| 3 | # ------- | ||
| 4 | # Finds the AML codec | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # AML_FOUND - system has AML | ||
| 9 | # AML_INCLUDE_DIRS - the AML include directory | ||
| 10 | # AML_DEFINITIONS - the AML definitions | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # AML::AML - The AML codec | ||
| 15 | |||
| 16 | find_path(AML_INCLUDE_DIR codec_error.h | ||
| 17 | PATH_SUFFIXES amcodec) | ||
| 18 | |||
| 19 | include(FindPackageHandleStandardArgs) | ||
| 20 | find_package_handle_standard_args(AML | ||
| 21 | REQUIRED_VARS AML_INCLUDE_DIR) | ||
| 22 | |||
| 23 | if(AML_FOUND) | ||
| 24 | set(AML_INCLUDE_DIRS ${AML_INCLUDE_DIR}) | ||
| 25 | set(AML_DEFINITIONS -DHAS_LIBAMCODEC=1) | ||
| 26 | |||
| 27 | if(NOT TARGET AML::AML) | ||
| 28 | add_library(AML::AML UNKNOWN IMPORTED) | ||
| 29 | set_target_properties(AML::AML PROPERTIES | ||
| 30 | INTERFACE_INCLUDE_DIRECTORIES "${AML_INCLUDE_DIR}" | ||
| 31 | INTERFACE_COMPILE_DEFINITIONS HAS_LIBAMCODEC=1) | ||
| 32 | endif() | ||
| 33 | endif() | ||
| 34 | |||
| 35 | mark_as_advanced(AMLCODEC_INCLUDE_DIR) | ||
diff --git a/project/cmake/modules/FindASS.cmake b/project/cmake/modules/FindASS.cmake deleted file mode 100644 index 2d592fa..0000000 --- a/project/cmake/modules/FindASS.cmake +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindASS | ||
| 3 | # ------- | ||
| 4 | # Finds the ASS library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # ASS_FOUND - system has ASS | ||
| 9 | # ASS_INCLUDE_DIRS - the ASS include directory | ||
| 10 | # ASS_LIBRARIES - the ASS libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # ASS::ASS - The ASS library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_ASS libass QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(ASS_INCLUDE_DIR NAMES ass/ass.h | ||
| 21 | PATHS ${PC_ASS_INCLUDEDIR}) | ||
| 22 | find_library(ASS_LIBRARY NAMES ass libass | ||
| 23 | PATHS ${PC_ASS_LIBDIR}) | ||
| 24 | |||
| 25 | set(ASS_VERSION ${PC_ASS_VERSION}) | ||
| 26 | |||
| 27 | include(FindPackageHandleStandardArgs) | ||
| 28 | find_package_handle_standard_args(ASS | ||
| 29 | REQUIRED_VARS ASS_LIBRARY ASS_INCLUDE_DIR | ||
| 30 | VERSION_VAR ASS_VERSION) | ||
| 31 | |||
| 32 | if(ASS_FOUND) | ||
| 33 | set(ASS_LIBRARIES ${ASS_LIBRARY}) | ||
| 34 | set(ASS_INCLUDE_DIRS ${ASS_INCLUDE_DIR}) | ||
| 35 | |||
| 36 | if(NOT TARGET ASS::ASS) | ||
| 37 | add_library(ASS::ASS UNKNOWN IMPORTED) | ||
| 38 | set_target_properties(ASS::ASS PROPERTIES | ||
| 39 | IMPORTED_LOCATION "${ASS_LIBRARY}" | ||
| 40 | INTERFACE_INCLUDE_DIRECTORIES "${ASS_INCLUDE_DIR}") | ||
| 41 | endif() | ||
| 42 | endif() | ||
| 43 | |||
| 44 | mark_as_advanced(ASS_INCLUDE_DIR ASS_LIBRARY) | ||
diff --git a/project/cmake/modules/FindAlsa.cmake b/project/cmake/modules/FindAlsa.cmake deleted file mode 100644 index a282243..0000000 --- a/project/cmake/modules/FindAlsa.cmake +++ /dev/null | |||
| @@ -1,46 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindAlsa | ||
| 3 | # -------- | ||
| 4 | # Finds the Alsa library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # ALSA_FOUND - system has Alsa | ||
| 9 | # ALSA_INCLUDE_DIRS - the Alsa include directory | ||
| 10 | # ALSA_LIBRARIES - the Alsa libraries | ||
| 11 | # ALSA_DEFINITIONS - the Alsa compile definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # ALSA::ALSA - The Alsa library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_ALSA alsa QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(ALSA_INCLUDE_DIR NAMES alsa/asoundlib.h | ||
| 22 | PATHS ${PC_ALSA_INCLUDEDIR}) | ||
| 23 | find_library(ALSA_LIBRARY NAMES asound | ||
| 24 | PATHS ${PC_ALSA_LIBDIR}) | ||
| 25 | |||
| 26 | set(ALSA_VERSION ${PC_ALSA_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(ALSA | ||
| 30 | REQUIRED_VARS ALSA_LIBRARY ALSA_INCLUDE_DIR | ||
| 31 | VERSION_VAR ALSA_VERSION) | ||
| 32 | |||
| 33 | if(ALSA_FOUND) | ||
| 34 | set(ALSA_INCLUDE_DIRS "") # Don't want these added as 'timer.h' is a dangerous file | ||
| 35 | set(ALSA_LIBRARIES ${ALSA_LIBRARY}) | ||
| 36 | set(ALSA_DEFINITIONS -DHAVE_ALSA=1 -DUSE_ALSA=1) | ||
| 37 | |||
| 38 | if(NOT TARGET ALSA::ALSA) | ||
| 39 | add_library(ALSA::ALSA UNKNOWN IMPORTED) | ||
| 40 | set_target_properties(ALSA::ALSA PROPERTIES | ||
| 41 | IMPORTED_LOCATION "${ALSA_LIBRARY}" | ||
| 42 | INTERFACE_COMPILE_DEFINITIONS "${ALSA_DEFINITIONS}") | ||
| 43 | endif() | ||
| 44 | endif() | ||
| 45 | |||
| 46 | mark_as_advanced(ALSA_INCLUDE_DIR ALSA_LIBRARY) | ||
diff --git a/project/cmake/modules/FindAvahi.cmake b/project/cmake/modules/FindAvahi.cmake deleted file mode 100644 index 77c3e4d..0000000 --- a/project/cmake/modules/FindAvahi.cmake +++ /dev/null | |||
| @@ -1,63 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindAvahi | ||
| 3 | # --------- | ||
| 4 | # Finds the avahi library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # AVAHI_FOUND - system has avahi | ||
| 9 | # AVAHI_INCLUDE_DIRS - the avahi include directory | ||
| 10 | # AVAHI_LIBRARIES - the avahi libraries | ||
| 11 | # AVAHI_DEFINITIONS - the avahi definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # Avahi::Avahi - The avahi library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_AVAHI avahi-client QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(AVAHI_CLIENT_INCLUDE_DIR NAMES avahi-client/client.h | ||
| 22 | PATHS ${PC_AVAHI_INCLUDEDIR}) | ||
| 23 | find_path(AVAHI_COMMON_INCLUDE_DIR NAMES avahi-common/defs.h | ||
| 24 | PATHS ${PC_AVAHI_INCLUDEDIR}) | ||
| 25 | find_library(AVAHI_CLIENT_LIBRARY NAMES avahi-client | ||
| 26 | PATHS ${PC_AVAHI_LIBDIR}) | ||
| 27 | find_library(AVAHI_COMMON_LIBRARY NAMES avahi-common | ||
| 28 | PATHS ${PC_AVAHI_LIBDIR}) | ||
| 29 | |||
| 30 | set(AVAHI_VERSION ${PC_AVAHI_VERSION}) | ||
| 31 | |||
| 32 | include(FindPackageHandleStandardArgs) | ||
| 33 | find_package_handle_standard_args(Avahi | ||
| 34 | REQUIRED_VARS AVAHI_CLIENT_LIBRARY AVAHI_COMMON_LIBRARY | ||
| 35 | AVAHI_CLIENT_INCLUDE_DIR AVAHI_COMMON_INCLUDE_DIR | ||
| 36 | VERSION_VAR AVAHI_VERSION) | ||
| 37 | |||
| 38 | if(AVAHI_FOUND) | ||
| 39 | set(AVAHI_INCLUDE_DIRS ${AVAHI_CLIENT_INCLUDE_DIR} | ||
| 40 | ${AVAHI_COMMON_INCLUDE_DIR}) | ||
| 41 | set(AVAHI_LIBRARIES ${AVAHI_CLIENT_LIBRARY} | ||
| 42 | ${AVAHI_COMMON_LIBRARY}) | ||
| 43 | set(AVAHI_DEFINITIONS -DHAVE_LIBAVAHI_CLIENT=1 -DHAVE_LIBAVAHI_COMMON=1) | ||
| 44 | |||
| 45 | if(NOT TARGET Avahi::Avahi) | ||
| 46 | add_library(Avahi::Avahi UNKNOWN IMPORTED) | ||
| 47 | set_target_properties(Avahi::Avahi PROPERTIES | ||
| 48 | IMPORTED_LOCATION "${AVAHI_CLIENT_LIBRARY}" | ||
| 49 | INTERFACE_INCLUDE_DIRECTORIES "${AVAHI_CLIENT_INCLUDE_DIR}" | ||
| 50 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBAVAHI_CLIENT=1) | ||
| 51 | endif() | ||
| 52 | if(NOT TARGET Avahi::AvahiCommon) | ||
| 53 | add_library(Avahi::AvahiCommon UNKNOWN IMPORTED) | ||
| 54 | set_target_properties(Avahi::AvahiCommon PROPERTIES | ||
| 55 | IMPORTED_LOCATION "${AVAHI_COMMON_LIBRARY}" | ||
| 56 | INTERFACE_INCLUDE_DIRECTORIES "${AVAHI_COMMON_INCLUDE_DIR}" | ||
| 57 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBAVAHI_COMMON=1 | ||
| 58 | INTERFACE_LINK_LIBRARIES Avahi::Avahi) | ||
| 59 | endif() | ||
| 60 | endif() | ||
| 61 | |||
| 62 | mark_as_advanced(AVAHI_CLIENT_INCLUDE_DIR AVAHI_COMMON_INCLUDE_DIR | ||
| 63 | AVAHI_CLIENT_LIBRARY AVAHI_COMMON_LIBRARY) | ||
diff --git a/project/cmake/modules/FindBluetooth.cmake b/project/cmake/modules/FindBluetooth.cmake deleted file mode 100644 index a69980d..0000000 --- a/project/cmake/modules/FindBluetooth.cmake +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindBluetooth | ||
| 3 | # --------- | ||
| 4 | # Finds the Bluetooth library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # BLUETOOTH_FOUND - system has Bluetooth | ||
| 9 | # BLUETOOTH_INCLUDE_DIRS - the Bluetooth include directory | ||
| 10 | # BLUETOOTH_LIBRARIES - the Bluetooth libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # Bluetooth::Bluetooth - The Bluetooth library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_BLUETOOTH bluez bluetooth QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(BLUETOOTH_INCLUDE_DIR NAMES bluetooth/bluetooth.h | ||
| 21 | PATHS ${PC_BLUETOOTH_INCLUDEDIR}) | ||
| 22 | find_library(BLUETOOTH_LIBRARY NAMES bluetooth libbluetooth | ||
| 23 | PATHS ${PC_BLUETOOTH_LIBDIR}) | ||
| 24 | |||
| 25 | set(BLUETOOTH_VERSION ${PC_BLUETOOTH_VERSION}) | ||
| 26 | |||
| 27 | include(FindPackageHandleStandardArgs) | ||
| 28 | find_package_handle_standard_args(Bluetooth | ||
| 29 | REQUIRED_VARS BLUETOOTH_LIBRARY BLUETOOTH_INCLUDE_DIR | ||
| 30 | VERSION_VAR BLUETOOTH_VERSION) | ||
| 31 | |||
| 32 | if(BLUETOOTH_FOUND) | ||
| 33 | set(BLUETOOTH_INCLUDE_DIRS ${BLUETOOTH_INCLUDE_DIR}) | ||
| 34 | set(BLUETOOTH_LIBRARIES ${BLUETOOTH_LIBRARY}) | ||
| 35 | |||
| 36 | if(NOT TARGET Bluetooth::Bluetooth) | ||
| 37 | add_library(Bluetooth::Bluetooth UNKNOWN IMPORTED) | ||
| 38 | set_target_properties(Bluetooth::Bluetooth PROPERTIES | ||
| 39 | IMPORTED_LOCATION "${BLUETOOTH_LIBRARY}" | ||
| 40 | INTERFACE_INCLUDE_DIRECTORIES "${BLUETOOTH_INCLUDE_DIR}") | ||
| 41 | endif() | ||
| 42 | endif() | ||
| 43 | |||
| 44 | mark_as_advanced(BLUETOOTH_INCLUDE_DIR BLUETOOTH_LIBRARY) | ||
diff --git a/project/cmake/modules/FindBluray.cmake b/project/cmake/modules/FindBluray.cmake deleted file mode 100644 index b8422ed..0000000 --- a/project/cmake/modules/FindBluray.cmake +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindBluray | ||
| 3 | # ---------- | ||
| 4 | # Finds the libbluray library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # BLURAY_FOUND - system has libbluray | ||
| 9 | # BLURAY_INCLUDE_DIRS - the libbluray include directory | ||
| 10 | # BLURAY_LIBRARIES - the libbluray libraries | ||
| 11 | # BLURAY_DEFINITIONS - the libbluray compile definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # Bluray::Bluray - The libblueray library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_BLURAY libbluray>=0.7.0 QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(BLURAY_INCLUDE_DIR libbluray/bluray.h | ||
| 22 | PATHS ${PC_BLURAY_INCLUDEDIR}) | ||
| 23 | |||
| 24 | set(BLURAY_VERSION ${PC_BLURAY_VERSION}) | ||
| 25 | |||
| 26 | include(FindPackageHandleStandardArgs) | ||
| 27 | if(NOT WIN32) | ||
| 28 | find_library(BLURAY_LIBRARY NAMES bluray | ||
| 29 | PATHS ${PC_BLURAY_LIBDIR}) | ||
| 30 | |||
| 31 | find_package_handle_standard_args(Bluray | ||
| 32 | REQUIRED_VARS BLURAY_LIBRARY BLURAY_INCLUDE_DIR | ||
| 33 | VERSION_VAR BLURAY_VERSION) | ||
| 34 | else() | ||
| 35 | # Dynamically loaded DLL | ||
| 36 | find_package_handle_standard_args(Bluray | ||
| 37 | REQUIRED_VARS BLURAY_INCLUDE_DIR | ||
| 38 | VERSION_VAR BLURAY_VERSION) | ||
| 39 | endif() | ||
| 40 | |||
| 41 | if(BLURAY_FOUND) | ||
| 42 | set(BLURAY_LIBRARIES ${BLURAY_LIBRARY}) | ||
| 43 | set(BLURAY_INCLUDE_DIRS ${BLURAY_INCLUDE_DIR}) | ||
| 44 | set(BLURAY_DEFINITIONS -DHAVE_LIBBLURAY=1) | ||
| 45 | |||
| 46 | if(NOT TARGET Bluray::Bluray) | ||
| 47 | add_library(Bluray::Bluray UNKNOWN IMPORTED) | ||
| 48 | if(BLURAY_LIBRARY) | ||
| 49 | set_target_properties(Bluray::Bluray PROPERTIES | ||
| 50 | IMPORTED_LOCATION "${BLURAY_LIBRARY}") | ||
| 51 | endif() | ||
| 52 | set_target_properties(Bluray::Bluray PROPERTIES | ||
| 53 | INTERFACE_INCLUDE_DIRECTORIES "${BLURAY_INCLUDE_DIR}" | ||
| 54 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBBLURAY=1) | ||
| 55 | endif() | ||
| 56 | endif() | ||
| 57 | |||
| 58 | mark_as_advanced(BLURAY_INCLUDE_DIR BLURAY_LIBRARY) | ||
diff --git a/project/cmake/modules/FindCAP.cmake b/project/cmake/modules/FindCAP.cmake deleted file mode 100644 index 04e8378..0000000 --- a/project/cmake/modules/FindCAP.cmake +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindCAP | ||
| 3 | # ----------- | ||
| 4 | # Finds the POSIX 1003.1e capabilities library | ||
| 5 | # | ||
| 6 | # This will define the following variables:: | ||
| 7 | # | ||
| 8 | # CAP_FOUND - system has LibCap | ||
| 9 | # CAP_INCLUDE_DIRS - the LibCap include directory | ||
| 10 | # CAP_LIBRARIES - the LibCap libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # CAP::CAP - The LibCap library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_CAP libcap QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(CAP_INCLUDE_DIR NAMES sys/capability.h | ||
| 21 | PATHS ${PC_CAP_INCLUDEDIR}) | ||
| 22 | find_library(CAP_LIBRARY NAMES cap libcap | ||
| 23 | PATHS ${PC_CAP_LIBDIR}) | ||
| 24 | |||
| 25 | set(CAP_VERSION ${PC_CAP_VERSION}) | ||
| 26 | |||
| 27 | include(FindPackageHandleStandardArgs) | ||
| 28 | find_package_handle_standard_args(CAP | ||
| 29 | REQUIRED_VARS CAP_LIBRARY CAP_INCLUDE_DIR | ||
| 30 | VERSION_VAR CAP_VERSION) | ||
| 31 | |||
| 32 | if(CAP_FOUND) | ||
| 33 | set(CAP_LIBRARIES ${CAP_LIBRARY}) | ||
| 34 | set(CAP_INCLUDE_DIRS ${CAP_INCLUDE_DIR}) | ||
| 35 | |||
| 36 | if(NOT TARGET CAP::CAP) | ||
| 37 | add_library(CAP::CAP UNKNOWN IMPORTED) | ||
| 38 | set_target_properties(CAP::CAP PROPERTIES | ||
| 39 | IMPORTED_LOCATION "${CAP_LIBRARY}" | ||
| 40 | INTERFACE_INCLUDE_DIRECTORIES "${CAP_INCLUDE_DIR}") | ||
| 41 | endif() | ||
| 42 | endif() | ||
| 43 | |||
| 44 | mark_as_advanced(CAP_INCLUDE_DIR CAP_LIBRARY) | ||
diff --git a/project/cmake/modules/FindCCache.cmake b/project/cmake/modules/FindCCache.cmake deleted file mode 100644 index a7fd29f..0000000 --- a/project/cmake/modules/FindCCache.cmake +++ /dev/null | |||
| @@ -1,18 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindCCache | ||
| 3 | # ---------- | ||
| 4 | # Finds ccache and sets it up as compiler wrapper. | ||
| 5 | # This should ideally be called before the call to project(). | ||
| 6 | # | ||
| 7 | # See: https://crascit.com/2016/04/09/using-ccache-with-cmake/ | ||
| 8 | |||
| 9 | find_program(CCACHE_PROGRAM ccache) | ||
| 10 | |||
| 11 | include(FindPackageHandleStandardArgs) | ||
| 12 | find_package_handle_standard_args(CCACHE REQUIRED_VARS CCACHE_PROGRAM) | ||
| 13 | |||
| 14 | if(CCACHE_FOUND) | ||
| 15 | # Supports Unix Makefiles and Ninja | ||
| 16 | set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}") | ||
| 17 | set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK "${CCACHE_PROGRAM}") | ||
| 18 | endif() | ||
diff --git a/project/cmake/modules/FindCEC.cmake b/project/cmake/modules/FindCEC.cmake deleted file mode 100644 index bd6fd1d..0000000 --- a/project/cmake/modules/FindCEC.cmake +++ /dev/null | |||
| @@ -1,68 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindCEC | ||
| 3 | # ------- | ||
| 4 | # Finds the libCEC library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # CEC_FOUND - system has libCEC | ||
| 9 | # CEC_INCLUDE_DIRS - the libCEC include directory | ||
| 10 | # CEC_LIBRARIES - the libCEC libraries | ||
| 11 | # CEC_DEFINITIONS - the libCEC compile definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # CEC::CEC - The libCEC library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_CEC libcec QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(CEC_INCLUDE_DIR NAMES libcec/cec.h libCEC/CEC.h | ||
| 22 | PATHS ${PC_CEC_INCLUDEDIR}) | ||
| 23 | |||
| 24 | if(PC_CEC_VERSION) | ||
| 25 | set(CEC_VERSION ${PC_CEC_VERSION}) | ||
| 26 | elseif(CEC_INCLUDE_DIR AND EXISTS "${CEC_INCLUDE_DIR}/libcec/version.h") | ||
| 27 | file(STRINGS "${CEC_INCLUDE_DIR}/libcec/version.h" cec_version_str REGEX "^[\t ]+LIBCEC_VERSION_TO_UINT\\(.*\\)") | ||
| 28 | string(REGEX REPLACE "^[\t ]+LIBCEC_VERSION_TO_UINT\\(([0-9]+), ([0-9]+), ([0-9]+)\\)" "\\1.\\2.\\3" CEC_VERSION "${cec_version_str}") | ||
| 29 | unset(cec_version_str) | ||
| 30 | endif() | ||
| 31 | |||
| 32 | if(NOT CEC_FIND_VERSION) | ||
| 33 | set(CEC_FIND_VERSION 4.0.0) | ||
| 34 | endif() | ||
| 35 | |||
| 36 | include(FindPackageHandleStandardArgs) | ||
| 37 | if(NOT WIN32) | ||
| 38 | find_library(CEC_LIBRARY NAMES cec | ||
| 39 | PATHS ${PC_CEC_LIBDIR}) | ||
| 40 | |||
| 41 | find_package_handle_standard_args(CEC | ||
| 42 | REQUIRED_VARS CEC_LIBRARY CEC_INCLUDE_DIR | ||
| 43 | VERSION_VAR CEC_VERSION) | ||
| 44 | else() | ||
| 45 | # Dynamically loaded DLL | ||
| 46 | find_package_handle_standard_args(CEC | ||
| 47 | REQUIRED_VARS CEC_INCLUDE_DIR | ||
| 48 | VERSION_VAR CEC_VERSION) | ||
| 49 | endif() | ||
| 50 | |||
| 51 | if(CEC_FOUND) | ||
| 52 | set(CEC_LIBRARIES ${CEC_LIBRARY}) | ||
| 53 | set(CEC_INCLUDE_DIRS ${CEC_INCLUDE_DIR}) | ||
| 54 | set(CEC_DEFINITIONS -DHAVE_LIBCEC=1) | ||
| 55 | |||
| 56 | if(NOT TARGET CEC::CEC) | ||
| 57 | add_library(CEC::CEC UNKNOWN IMPORTED) | ||
| 58 | if(CEC_LIBRARY) | ||
| 59 | set_target_properties(CEC::CEC PROPERTIES | ||
| 60 | IMPORTED_LOCATION "${CEC_LIBRARY}") | ||
| 61 | endif() | ||
| 62 | set_target_properties(CEC::CEC PROPERTIES | ||
| 63 | INTERFACE_INCLUDE_DIRECTORIES "${CEC_INCLUDE_DIR}" | ||
| 64 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBCEC=1) | ||
| 65 | endif() | ||
| 66 | endif() | ||
| 67 | |||
| 68 | mark_as_advanced(CEC_INCLUDE_DIR CEC_LIBRARY) | ||
diff --git a/project/cmake/modules/FindCWiid.cmake b/project/cmake/modules/FindCWiid.cmake deleted file mode 100644 index 88cfbef..0000000 --- a/project/cmake/modules/FindCWiid.cmake +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindCWiid | ||
| 3 | # --------- | ||
| 4 | # Finds the CWiid library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # CWIID_FOUND - system has CWiid | ||
| 9 | # CWIID_INCLUDE_DIRS - the CWiid include directory | ||
| 10 | # CWIID_LIBRARIES - the CWiid libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # CWiid::CWiid - The CWiid library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_CWIID cwiid QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(CWIID_INCLUDE_DIR NAMES cwiid.h | ||
| 21 | PATHS ${PC_CWIID_INCLUDEDIR}) | ||
| 22 | find_library(CWIID_LIBRARY NAMES cwiid | ||
| 23 | PATHS ${PC_CWIID_LIBDIR}) | ||
| 24 | |||
| 25 | set(CWIID_VERSION ${PC_CWIID_VERSION}) | ||
| 26 | |||
| 27 | include(FindPackageHandleStandardArgs) | ||
| 28 | find_package_handle_standard_args(CWIID | ||
| 29 | REQUIRED_VARS CWIID_LIBRARY CWIID_INCLUDE_DIR | ||
| 30 | VERSION_VAR CWIID_VERSION) | ||
| 31 | |||
| 32 | if(CWIID_FOUND) | ||
| 33 | set(CWIID_INCLUDE_DIRS ${CWIID_INCLUDE_DIR}) | ||
| 34 | set(CWIID_LIBRARIES ${CWIID_LIBRARY}) | ||
| 35 | |||
| 36 | if(NOT TARGET CWiid::CWiid) | ||
| 37 | add_library(CWiid::CWiid UNKNOWN IMPORTED) | ||
| 38 | set_target_properties(CWiid::CWiid PROPERTIES | ||
| 39 | IMPORTED_LOCATION "${CWIID_LIBRARY}" | ||
| 40 | INTERFACE_INCLUDE_DIRECTORIES "${CWIID_INCLUDE_DIR}") | ||
| 41 | endif() | ||
| 42 | endif() | ||
| 43 | |||
| 44 | mark_as_advanced(CWIID_INCLUDE_DIR CWIID_LIBRARY) | ||
diff --git a/project/cmake/modules/FindCXX11.cmake b/project/cmake/modules/FindCXX11.cmake deleted file mode 100644 index c0b9a52..0000000 --- a/project/cmake/modules/FindCXX11.cmake +++ /dev/null | |||
| @@ -1,18 +0,0 @@ | |||
| 1 | include(TestCXXAcceptsFlag) | ||
| 2 | |||
| 3 | # try to use compiler flag -std=c++11 | ||
| 4 | check_cxx_accepts_flag("-std=c++11" CXX_FLAG_CXX11) | ||
| 5 | if(CXX_FLAG_CXX11) | ||
| 6 | add_options (CXX ALL_BUILDS "-std=c++11") | ||
| 7 | set(CXX_STD11_FLAGS "-std=c++11") | ||
| 8 | else() | ||
| 9 | # try to use compiler flag -std=c++0x for older compilers | ||
| 10 | check_cxx_accepts_flag("-std=c++0x" CXX_FLAG_CXX0X) | ||
| 11 | if(CXX_FLAG_CXX0X) | ||
| 12 | add_options (CXX ALL_BUILDS "-std=c++0x") | ||
| 13 | set(CXX_STD11_FLAGS "-std=c++0x") | ||
| 14 | endif() | ||
| 15 | endif() | ||
| 16 | |||
| 17 | include(FindPackageHandleStandardArgs) | ||
| 18 | find_package_handle_standard_args(CXX11 DEFAULT_MSG CXX_STD11_FLAGS) | ||
diff --git a/project/cmake/modules/FindCdio.cmake b/project/cmake/modules/FindCdio.cmake deleted file mode 100644 index aa089c2..0000000 --- a/project/cmake/modules/FindCdio.cmake +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindCdio | ||
| 3 | # -------- | ||
| 4 | # Finds the cdio library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # CDIO_FOUND - system has cdio | ||
| 9 | # CDIO_INCLUDE_DIRS - the cdio include directory | ||
| 10 | # CDIO_LIBRARIES - the cdio libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # CDIO::CDIO - The cdio library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_CDIO libcdio libiso9660 QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(CDIO_INCLUDE_DIR NAMES cdio/cdio.h | ||
| 21 | PATHS ${PC_CDIO_libcdio_INCLUDEDIR} | ||
| 22 | ${PC_CDIO_libiso9660_INCLUDEDIR}) | ||
| 23 | find_library(CDIO_LIBRARY NAMES cdio | ||
| 24 | PATHS ${CDIO_libcdio_LIBDIR} ${CDIO_libiso9660_LIBDIR}) | ||
| 25 | |||
| 26 | set(CDIO_VERSION ${PC_CDIO_libcdio_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(CDIO | ||
| 30 | REQUIRED_VARS CDIO_LIBRARY CDIO_INCLUDE_DIR | ||
| 31 | VERSION_VAR CDIO_VERSION) | ||
| 32 | |||
| 33 | if(CDIO_FOUND) | ||
| 34 | set(CDIO_LIBRARIES ${CDIO_LIBRARY}) | ||
| 35 | set(CDIO_INCLUDE_DIRS ${CDIO_INCLUDE_DIR}) | ||
| 36 | |||
| 37 | if(NOT TARGET CDIO::CDIO) | ||
| 38 | add_library(CDIO::CDIO UNKNOWN IMPORTED) | ||
| 39 | set_target_properties(CDIO::CDIO PROPERTIES | ||
| 40 | IMPORTED_LOCATION "${CDIO_LIBRARY}" | ||
| 41 | INTERFACE_INCLUDE_DIRECTORIES "${CDIO_INCLUDE_DIR}") | ||
| 42 | endif() | ||
| 43 | endif() | ||
| 44 | |||
| 45 | mark_as_advanced(CDIO_INCLUDE_DIR CDIO_LIBRARY) | ||
diff --git a/project/cmake/modules/FindCpluff.cmake b/project/cmake/modules/FindCpluff.cmake deleted file mode 100644 index ce6c127..0000000 --- a/project/cmake/modules/FindCpluff.cmake +++ /dev/null | |||
| @@ -1,61 +0,0 @@ | |||
| 1 | # - Builds Cpluff as external project | ||
| 2 | # Once done this will define | ||
| 3 | # | ||
| 4 | # CPLUFF_FOUND - system has cpluff | ||
| 5 | # CPLUFF_INCLUDE_DIRS - the cpluff include directories | ||
| 6 | # | ||
| 7 | # and link Kodi against the cpluff libraries. | ||
| 8 | |||
| 9 | if(NOT WIN32) | ||
| 10 | string(REPLACE ";" " " defines "${CMAKE_C_FLAGS} ${SYSTEM_DEFINES} -I${EXPAT_INCLUDE_DIR}") | ||
| 11 | get_filename_component(expat_dir ${EXPAT_LIBRARY} DIRECTORY) | ||
| 12 | set(ldflags "-L${expat_dir}") | ||
| 13 | |||
| 14 | # iOS: Without specifying -arch, configure tries to use /bin/cpp as C-preprocessor | ||
| 15 | # http://stackoverflow.com/questions/38836754/cant-cross-compile-c-library-for-arm-ios | ||
| 16 | if(CORE_SYSTEM_NAME STREQUAL ios) | ||
| 17 | set(cppflags "-arch ${CPU}") | ||
| 18 | endif() | ||
| 19 | |||
| 20 | ExternalProject_Add(libcpluff SOURCE_DIR ${CORE_SOURCE_DIR}/lib/cpluff | ||
| 21 | BUILD_IN_SOURCE 1 | ||
| 22 | PREFIX ${CORE_BUILD_DIR}/cpluff | ||
| 23 | CONFIGURE_COMMAND CC=${CMAKE_C_COMPILER} ${CORE_SOURCE_DIR}/lib/cpluff/configure | ||
| 24 | --disable-nls | ||
| 25 | --enable-static | ||
| 26 | --disable-shared | ||
| 27 | --with-pic | ||
| 28 | --prefix=<INSTALL_DIR> | ||
| 29 | --libdir=<INSTALL_DIR>/lib | ||
| 30 | --host=${ARCH} | ||
| 31 | CFLAGS=${defines} | ||
| 32 | CPPFLAGS=${cppflags} | ||
| 33 | LDFLAGS=${ldflags}) | ||
| 34 | ExternalProject_Add_Step(libcpluff autoreconf | ||
| 35 | DEPENDEES download update patch | ||
| 36 | DEPENDERS configure | ||
| 37 | COMMAND rm -f config.status | ||
| 38 | COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} autoreconf -vif | ||
| 39 | WORKING_DIRECTORY <SOURCE_DIR>) | ||
| 40 | |||
| 41 | set(ldflags "${ldflags};-lexpat") | ||
| 42 | core_link_library(${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/lib/libcpluff.a | ||
| 43 | system/libcpluff libcpluff extras "${ldflags}") | ||
| 44 | set(CPLUFF_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cpluff/include) | ||
| 45 | set(CPLUFF_FOUND 1) | ||
| 46 | mark_as_advanced(CPLUFF_INCLUDE_DIRS CPLUFF_FOUND) | ||
| 47 | else() | ||
| 48 | find_path(CPLUFF_INCLUDE_DIR cpluff.h) | ||
| 49 | |||
| 50 | include(FindPackageHandleStandardArgs) | ||
| 51 | find_package_handle_standard_args(CPLUFF | ||
| 52 | REQUIRED_VARS CPLUFF_INCLUDE_DIR) | ||
| 53 | |||
| 54 | if(CPLUFF_FOUND) | ||
| 55 | set(CPLUFF_INCLUDE_DIRS ${CPLUFF_INCLUDE_DIR}) | ||
| 56 | endif() | ||
| 57 | mark_as_advanced(CPLUFF_INCLUDE_DIRS CPLUFF_FOUND) | ||
| 58 | |||
| 59 | add_custom_target(libcpluff) | ||
| 60 | endif() | ||
| 61 | set_target_properties(libcpluff PROPERTIES FOLDER "External Projects") | ||
diff --git a/project/cmake/modules/FindCrossGUID.cmake b/project/cmake/modules/FindCrossGUID.cmake deleted file mode 100644 index ba2823a..0000000 --- a/project/cmake/modules/FindCrossGUID.cmake +++ /dev/null | |||
| @@ -1,78 +0,0 @@ | |||
| 1 | if(ENABLE_INTERNAL_CROSSGUID) | ||
| 2 | include(ExternalProject) | ||
| 3 | file(STRINGS ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/Makefile VER) | ||
| 4 | string(REGEX MATCH "VERSION=[^ ]*" CGUID_VER "${VER}") | ||
| 5 | list(GET CGUID_VER 0 CGUID_VER) | ||
| 6 | string(SUBSTRING "${CGUID_VER}" 8 -1 CGUID_VER) | ||
| 7 | |||
| 8 | # allow user to override the download URL with a local tarball | ||
| 9 | # needed for offline build envs | ||
| 10 | if(CROSSGUID_URL) | ||
| 11 | get_filename_component(CROSSGUID_URL "${CROSSGUID_URL}" ABSOLUTE) | ||
| 12 | else() | ||
| 13 | set(CROSSGUID_URL http://mirrors.kodi.tv/build-deps/sources/crossguid-${CGUID_VER}.tar.gz) | ||
| 14 | endif() | ||
| 15 | if(VERBOSE) | ||
| 16 | message(STATUS "CROSSGUID_URL: ${CROSSGUID_URL}") | ||
| 17 | endif() | ||
| 18 | |||
| 19 | if(APPLE) | ||
| 20 | set(EXTRA_ARGS "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}") | ||
| 21 | endif() | ||
| 22 | |||
| 23 | set(CROSSGUID_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/libcrossguid.a) | ||
| 24 | set(CROSSGUID_INCLUDE_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) | ||
| 25 | externalproject_add(crossguid | ||
| 26 | URL ${CROSSGUID_URL} | ||
| 27 | DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download | ||
| 28 | PREFIX ${CORE_BUILD_DIR}/crossguid | ||
| 29 | CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} | ||
| 30 | -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} | ||
| 31 | "${EXTRA_ARGS}" | ||
| 32 | PATCH_COMMAND ${CMAKE_COMMAND} -E copy | ||
| 33 | ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/CMakeLists.txt | ||
| 34 | <SOURCE_DIR> && | ||
| 35 | ${CMAKE_COMMAND} -E copy | ||
| 36 | ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/FindUUID.cmake | ||
| 37 | <SOURCE_DIR> && | ||
| 38 | ${CMAKE_COMMAND} -E copy | ||
| 39 | ${CORE_SOURCE_DIR}/tools/depends/target/crossguid/FindCXX11.cmake | ||
| 40 | <SOURCE_DIR> | ||
| 41 | BUILD_BYPRODUCTS ${CROSSGUID_LIBRARY}) | ||
| 42 | set_target_properties(crossguid PROPERTIES FOLDER "External Projects") | ||
| 43 | |||
| 44 | include(FindPackageHandleStandardArgs) | ||
| 45 | find_package_handle_standard_args(CrossGuid | ||
| 46 | REQUIRED_VARS CROSSGUID_LIBRARY CROSSGUID_INCLUDE_DIR | ||
| 47 | VERSION_VAR CGUID_VER) | ||
| 48 | |||
| 49 | set(CROSSGUID_LIBRARIES ${CROSSGUID_LIBRARY}) | ||
| 50 | set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR}) | ||
| 51 | else() | ||
| 52 | find_path(CROSSGUID_INCLUDE_DIR NAMES guid.h) | ||
| 53 | |||
| 54 | find_library(CROSSGUID_LIBRARY_RELEASE NAMES crossguid) | ||
| 55 | find_library(CROSSGUID_LIBRARY_DEBUG NAMES crossguidd) | ||
| 56 | |||
| 57 | include(SelectLibraryConfigurations) | ||
| 58 | select_library_configurations(CROSSGUID) | ||
| 59 | |||
| 60 | include(FindPackageHandleStandardArgs) | ||
| 61 | find_package_handle_standard_args(CrossGuid | ||
| 62 | REQUIRED_VARS CROSSGUID_LIBRARY CROSSGUID_INCLUDE_DIR) | ||
| 63 | |||
| 64 | if(CROSSGUID_FOUND) | ||
| 65 | set(CROSSGUID_LIBRARIES ${CROSSGUID_LIBRARY}) | ||
| 66 | set(CROSSGUID_INCLUDE_DIRS ${CROSSGUID_INCLUDE_DIR}) | ||
| 67 | |||
| 68 | add_custom_target(crossguid) | ||
| 69 | set_target_properties(crossguid PROPERTIES FOLDER "External Projects") | ||
| 70 | endif() | ||
| 71 | mark_as_advanced(CROSSGUID_INCLUDE_DIR CROSSGUID_LIBRARY) | ||
| 72 | endif() | ||
| 73 | |||
| 74 | if(NOT WIN32 AND NOT APPLE) | ||
| 75 | find_package(UUID REQUIRED) | ||
| 76 | list(APPEND CROSSGUID_INCLUDE_DIRS ${UUID_INCLUDE_DIRS}) | ||
| 77 | list(APPEND CROSSGUID_LIBRARIES ${UUID_LIBRARIES}) | ||
| 78 | endif() | ||
diff --git a/project/cmake/modules/FindCurl.cmake b/project/cmake/modules/FindCurl.cmake deleted file mode 100644 index ed4d81f..0000000 --- a/project/cmake/modules/FindCurl.cmake +++ /dev/null | |||
| @@ -1,83 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindCurl | ||
| 3 | # -------- | ||
| 4 | # Finds the Curl library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # CURL_FOUND - system has Curl | ||
| 9 | # CURL_INCLUDE_DIRS - the Curl include directory | ||
| 10 | # CURL_LIBRARIES - the Curl libraries | ||
| 11 | # CURL_DEFINITIONS - the Curl definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # Curl::Curl - The Curl library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_CURL libcurl QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(CURL_INCLUDE_DIR NAMES curl/curl.h | ||
| 22 | PATHS ${PC_CURL_INCLUDEDIR}) | ||
| 23 | find_library(CURL_LIBRARY NAMES curl libcurl | ||
| 24 | PATHS ${PC_CURL_LIBDIR}) | ||
| 25 | |||
| 26 | set(CURL_VERSION ${PC_CURL_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(Curl | ||
| 30 | REQUIRED_VARS CURL_LIBRARY CURL_INCLUDE_DIR | ||
| 31 | VERSION_VAR CURL_VERSION) | ||
| 32 | |||
| 33 | if(CURL_FOUND) | ||
| 34 | set(CURL_INCLUDE_DIRS ${CURL_INCLUDE_DIR}) | ||
| 35 | set(CURL_LIBRARIES ${CURL_LIBRARY}) | ||
| 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) | ||
| 72 | add_library(Curl::Curl UNKNOWN IMPORTED) | ||
| 73 | set_target_properties(Curl::Curl PROPERTIES | ||
| 74 | IMPORTED_LOCATION "${CURL_LIBRARY}" | ||
| 75 | INTERFACE_INCLUDE_DIRECTORIES "${CURL_INCLUDE_DIR}") | ||
| 76 | if(HAS_CURL_STATIC) | ||
| 77 | set_target_properties(Curl::Curl PROPERTIES | ||
| 78 | INTERFACE_COMPILE_DEFINITIONS HAS_CURL_STATIC=1) | ||
| 79 | endif() | ||
| 80 | endif() | ||
| 81 | endif() | ||
| 82 | |||
| 83 | mark_as_advanced(CURL_INCLUDE_DIR CURL_LIBRARY) | ||
diff --git a/project/cmake/modules/FindD3DX11Effects.cmake b/project/cmake/modules/FindD3DX11Effects.cmake deleted file mode 100644 index d7468e1..0000000 --- a/project/cmake/modules/FindD3DX11Effects.cmake +++ /dev/null | |||
| @@ -1,30 +0,0 @@ | |||
| 1 | # - Finds D3DX11 dependencies | ||
| 2 | # Once done this will define | ||
| 3 | # | ||
| 4 | # D3DCOMPILER_DLL - Path to the Direct3D Compiler | ||
| 5 | # FXC - Path to the DirectX Effects Compiler (FXC) | ||
| 6 | |||
| 7 | find_file(D3DCOMPILER_DLL | ||
| 8 | NAMES d3dcompiler_47.dll d3dcompiler_46.dll | ||
| 9 | PATHS | ||
| 10 | "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v10.0;InstallationFolder]/Redist/D3D/x86" | ||
| 11 | "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v8.1;InstallationFolder]/Redist/D3D/x86" | ||
| 12 | "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v8.0;InstallationFolder]/Redist/D3D/x86" | ||
| 13 | "$ENV{WindowsSdkDir}Redist/d3d/x86" | ||
| 14 | NO_DEFAULT_PATH) | ||
| 15 | if(NOT D3DCOMPILER_DLL) | ||
| 16 | message(WARNING "Could NOT find Direct3D Compiler") | ||
| 17 | endif() | ||
| 18 | mark_as_advanced(D3DCOMPILER_DLL) | ||
| 19 | copy_file_to_buildtree(${D3DCOMPILER_DLL} DIRECTORY .) | ||
| 20 | |||
| 21 | find_program(FXC fxc | ||
| 22 | PATHS | ||
| 23 | "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v10.0;InstallationFolder]/bin/x86" | ||
| 24 | "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v8.1;InstallationFolder]/bin/x86" | ||
| 25 | "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Microsoft\\Microsoft SDKs\\Windows\\v8.0;InstallationFolder]/bin/x86" | ||
| 26 | "$ENV{WindowsSdkDir}bin/x86") | ||
| 27 | if(NOT FXC) | ||
| 28 | message(WARNING "Could NOT find DirectX Effects Compiler (FXC)") | ||
| 29 | endif() | ||
| 30 | mark_as_advanced(FXC) | ||
diff --git a/project/cmake/modules/FindDBus.cmake b/project/cmake/modules/FindDBus.cmake deleted file mode 100644 index 2d64af4..0000000 --- a/project/cmake/modules/FindDBus.cmake +++ /dev/null | |||
| @@ -1,52 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindDBUS | ||
| 3 | # ------- | ||
| 4 | # Finds the DBUS library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # DBUS_FOUND - system has DBUS | ||
| 9 | # DBUS_INCLUDE_DIRS - the DBUS include directory | ||
| 10 | # DBUS_LIBRARIES - the DBUS libraries | ||
| 11 | # DBUS_DEFINITIONS - the DBUS definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # DBus::DBus - The DBUS library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_DBUS dbus-1 QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(DBUS_INCLUDE_DIR NAMES dbus/dbus.h | ||
| 22 | PATH_SUFFIXES dbus-1.0 | ||
| 23 | PATHS ${PC_DBUS_INCLUDE_DIR}) | ||
| 24 | find_path(DBUS_ARCH_INCLUDE_DIR NAMES dbus/dbus-arch-deps.h | ||
| 25 | PATH_SUFFIXES dbus-1.0/include | ||
| 26 | PATHS ${PC_DBUS_LIBDIR} | ||
| 27 | /usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}) | ||
| 28 | find_library(DBUS_LIBRARY NAMES dbus-1 | ||
| 29 | PATHS ${PC_DBUS_LIBDIR}) | ||
| 30 | |||
| 31 | set(DBUS_VERSION ${PC_DBUS_VERSION}) | ||
| 32 | |||
| 33 | include(FindPackageHandleStandardArgs) | ||
| 34 | find_package_handle_standard_args(DBus | ||
| 35 | REQUIRED_VARS DBUS_LIBRARY DBUS_INCLUDE_DIR DBUS_ARCH_INCLUDE_DIR | ||
| 36 | VERSION_VAR DBUS_VERSION) | ||
| 37 | |||
| 38 | if(DBUS_FOUND) | ||
| 39 | set(DBUS_LIBRARIES ${DBUS_LIBRARY}) | ||
| 40 | set(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR}) | ||
| 41 | set(DBUS_DEFINITIONS -DHAVE_DBUS=1) | ||
| 42 | |||
| 43 | if(NOT TARGET DBus::DBus) | ||
| 44 | add_library(DBus::DBus UNKNOWN IMPORTED) | ||
| 45 | set_target_properties(DBus::DBus PROPERTIES | ||
| 46 | IMPORTED_LOCATION "${DBUS_LIBRARY}" | ||
| 47 | INTERFACE_INCLUDE_DIRECTORIES "${DBUS_INCLUDE_DIR}" | ||
| 48 | INTERFACE_COMPILE_DEFINITIONS HAVE_DBUS=1) | ||
| 49 | endif() | ||
| 50 | endif() | ||
| 51 | |||
| 52 | mark_as_advanced(DBUS_INCLUDE_DIR DBUS_LIBRARY) | ||
diff --git a/project/cmake/modules/FindEGL.cmake b/project/cmake/modules/FindEGL.cmake deleted file mode 100644 index 79bb176..0000000 --- a/project/cmake/modules/FindEGL.cmake +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindEGL | ||
| 3 | # ------- | ||
| 4 | # Finds the EGL library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # EGL_FOUND - system has EGL | ||
| 9 | # EGL_INCLUDE_DIRS - the EGL include directory | ||
| 10 | # EGL_LIBRARIES - the EGL libraries | ||
| 11 | # EGL_DEFINITIONS - the EGL definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # EGL::EGL - The EGL library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_EGL egl QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(EGL_INCLUDE_DIR EGL/egl.h | ||
| 22 | PATHS ${PC_EGL_INCLUDEDIR}) | ||
| 23 | |||
| 24 | find_library(EGL_LIBRARY NAMES EGL egl | ||
| 25 | PATHS ${PC_EGL_LIBDIR}) | ||
| 26 | |||
| 27 | set(EGL_VERSION ${PC_EGL_VERSION}) | ||
| 28 | |||
| 29 | include(FindPackageHandleStandardArgs) | ||
| 30 | find_package_handle_standard_args(EGL | ||
| 31 | REQUIRED_VARS EGL_LIBRARY EGL_INCLUDE_DIR | ||
| 32 | VERSION_VAR EGL_VERSION) | ||
| 33 | |||
| 34 | if(EGL_FOUND) | ||
| 35 | set(EGL_LIBRARIES ${EGL_LIBRARY}) | ||
| 36 | set(EGL_INCLUDE_DIRS ${EGL_INCLUDE_DIR}) | ||
| 37 | set(EGL_DEFINITIONS -DHAVE_LIBEGL=1) | ||
| 38 | |||
| 39 | if(NOT TARGET EGL::EGL) | ||
| 40 | add_library(EGL::EGL UNKNOWN IMPORTED) | ||
| 41 | set_target_properties(EGL::EGL PROPERTIES | ||
| 42 | IMPORTED_LOCATION "${EGL_LIBRARY}" | ||
| 43 | INTERFACE_INCLUDE_DIRECTORIES "${EGL_INCLUDE_DIR}" | ||
| 44 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBEGL=1) | ||
| 45 | endif() | ||
| 46 | endif() | ||
| 47 | |||
| 48 | mark_as_advanced(EGL_INCLUDE_DIR EGL_LIBRARY) | ||
diff --git a/project/cmake/modules/FindEMBEDDED.cmake b/project/cmake/modules/FindEMBEDDED.cmake deleted file mode 100644 index aa938c5..0000000 --- a/project/cmake/modules/FindEMBEDDED.cmake +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | # - Try to find embedded platforms (RPI/IMX6) | ||
| 2 | # Once done this will define | ||
| 3 | # | ||
| 4 | # EMBEDDED_FOUND - system is RPI / IMX6 and we most probably want to compile for GLES2 support | ||
| 5 | # (don't configure for OpenGL) | ||
| 6 | |||
| 7 | if(NOT CMAKE_SYSTEM_PROCESSOR) | ||
| 8 | set(CMAKE_SYSTEM_PROCESSOR ${CPU}) | ||
| 9 | endif() | ||
| 10 | |||
| 11 | string(REGEX MATCH "^arm" TARGET_ARCH_ARM "${CMAKE_SYSTEM_PROCESSOR}") | ||
| 12 | if(NOT CMAKE_CROSSCOMPILING AND NOT TARGET_ARCH_ARM) | ||
| 13 | return() | ||
| 14 | endif() | ||
| 15 | |||
| 16 | find_path(EMBEDDED_FOUND NAMES include/linux/imxfb.h include/bcm_host.h PATHS /opt/vc) | ||
diff --git a/project/cmake/modules/FindFFMPEG.cmake b/project/cmake/modules/FindFFMPEG.cmake deleted file mode 100644 index 2b3f47b..0000000 --- a/project/cmake/modules/FindFFMPEG.cmake +++ /dev/null | |||
| @@ -1,292 +0,0 @@ | |||
| 1 | # FindFFMPEG | ||
| 2 | # -------- | ||
| 3 | # Finds FFmpeg libraries | ||
| 4 | # | ||
| 5 | # This module will first look for the required library versions on the system. | ||
| 6 | # If they are not found, it will fall back to downloading and building kodi's own version | ||
| 7 | # | ||
| 8 | # -------- | ||
| 9 | # the following variables influence behaviour: | ||
| 10 | # ENABLE_INTERNAL_FFMPEG - if enabled, kodi's own version will always be built | ||
| 11 | # | ||
| 12 | # FFMPEG_PATH - use external ffmpeg not found in system paths | ||
| 13 | # usage: -DFFMPEG_PATH=/path/to/ffmpeg_install_prefix | ||
| 14 | # | ||
| 15 | # WITH_FFMPEG - use external ffmpeg not found in system paths | ||
| 16 | # WARNING: this option is for developers as it will _disable ffmpeg version checks_! | ||
| 17 | # Consider using FFMPEG_PATH instead, which _does_ check library versions | ||
| 18 | # usage: -DWITH_FFMPEG=/path/to/ffmpeg_install_prefix | ||
| 19 | # | ||
| 20 | # -------- | ||
| 21 | # This module will will define the following variables: | ||
| 22 | # | ||
| 23 | # FFMPEG_FOUND - system has FFmpeg | ||
| 24 | # FFMPEG_INCLUDE_DIRS - FFmpeg include directory | ||
| 25 | # FFMPEG_LIBRARIES - FFmpeg libraries | ||
| 26 | # FFMPEG_DEFINITIONS - pre-processor definitions | ||
| 27 | # FFMPEG_LDFLAGS - linker flags | ||
| 28 | # | ||
| 29 | # and the following imported targets:: | ||
| 30 | # | ||
| 31 | # ffmpeg - The FFmpeg libraries | ||
| 32 | # -------- | ||
| 33 | # | ||
| 34 | |||
| 35 | # required ffmpeg library versions | ||
| 36 | set(REQUIRED_FFMPEG_VERSION 3.1) | ||
| 37 | set(_avcodec_ver ">=57.48.101") | ||
| 38 | set(_avfilter_ver ">=6.47.100") | ||
| 39 | set(_avformat_ver ">=57.41.100") | ||
| 40 | set(_avutil_ver ">=55.28.100") | ||
| 41 | set(_swscale_ver ">=4.1.100") | ||
| 42 | set(_swresample_ver ">=2.1.100") | ||
| 43 | set(_postproc_ver ">=54.0.100") | ||
| 44 | |||
| 45 | |||
| 46 | # Allows building with external ffmpeg not found in system paths, | ||
| 47 | # without library version checks | ||
| 48 | if(WITH_FFMPEG) | ||
| 49 | set(FFMPEG_PATH ${WITH_FFMPEG}) | ||
| 50 | message(STATUS "Warning: FFmpeg version checking disabled") | ||
| 51 | set(REQUIRED_FFMPEG_VERSION undef) | ||
| 52 | unset(_avcodec_ver) | ||
| 53 | unset(_avfilter_ver) | ||
| 54 | unset(_avformat_ver) | ||
| 55 | unset(_avutil_ver) | ||
| 56 | unset(_swscale_ver) | ||
| 57 | unset(_swresample_ver) | ||
| 58 | unset(_postproc_ver) | ||
| 59 | endif() | ||
| 60 | |||
| 61 | # Allows building with external ffmpeg not found in system paths, | ||
| 62 | # with library version checks | ||
| 63 | if(FFMPEG_PATH) | ||
| 64 | set(ENABLE_INTERNAL_FFMPEG OFF) | ||
| 65 | endif() | ||
| 66 | |||
| 67 | # external FFMPEG | ||
| 68 | if(NOT ENABLE_INTERNAL_FFMPEG OR CMAKE_CROSSCOMPILING) | ||
| 69 | if(FFMPEG_PATH) | ||
| 70 | set(ENV{PKG_CONFIG_PATH} "${FFMPEG_PATH}/lib/pkgconfig") | ||
| 71 | list(APPEND CMAKE_PREFIX_PATH ${FFMPEG_PATH}) | ||
| 72 | endif() | ||
| 73 | |||
| 74 | set(FFMPEG_PKGS libavcodec${_avcodec_ver} | ||
| 75 | libavfilter${_avfilter_ver} | ||
| 76 | libavformat${_avformat_ver} | ||
| 77 | libavutil${_avutil_ver} | ||
| 78 | libswscale${_swscale_ver} | ||
| 79 | libswresample${_swresample_ver} | ||
| 80 | libpostproc${_postproc_ver}) | ||
| 81 | |||
| 82 | if(PKG_CONFIG_FOUND) | ||
| 83 | pkg_check_modules(PC_FFMPEG ${FFMPEG_PKGS} QUIET) | ||
| 84 | string(REGEX REPLACE "framework;" "framework " PC_FFMPEG_LDFLAGS "${PC_FFMPEG_LDFLAGS}") | ||
| 85 | endif() | ||
| 86 | |||
| 87 | find_path(FFMPEG_INCLUDE_DIRS libavcodec/avcodec.h libavfilter/avfilter.h libavformat/avformat.h | ||
| 88 | libavutil/avutil.h libswscale/swscale.h libpostproc/postprocess.h | ||
| 89 | PATH_SUFFIXES ffmpeg | ||
| 90 | PATHS ${PC_FFMPEG_INCLUDE_DIRS} | ||
| 91 | NO_DEFAULT_PATH) | ||
| 92 | find_path(FFMPEG_INCLUDE_DIRS libavcodec/avcodec.h libavfilter/avfilter.h libavformat/avformat.h | ||
| 93 | libavutil/avutil.h libswscale/swscale.h libpostproc/postprocess.h) | ||
| 94 | |||
| 95 | find_library(FFMPEG_LIBAVCODEC | ||
| 96 | NAMES avcodec libavcodec | ||
| 97 | PATH_SUFFIXES ffmpeg/libavcodec | ||
| 98 | PATHS ${PC_FFMPEG_libavcodec_LIBDIR} | ||
| 99 | NO_DEFAULT_PATH) | ||
| 100 | find_library(FFMPEG_LIBAVCODEC NAMES avcodec libavcodec PATH_SUFFIXES ffmpeg/libavcodec) | ||
| 101 | |||
| 102 | find_library(FFMPEG_LIBAVFILTER | ||
| 103 | NAMES avfilter libavfilter | ||
| 104 | PATH_SUFFIXES ffmpeg/libavfilter | ||
| 105 | PATHS ${PC_FFMPEG_libavfilter_LIBDIR} | ||
| 106 | NO_DEFAULT_PATH) | ||
| 107 | find_library(FFMPEG_LIBAVFILTER NAMES avfilter libavfilter PATH_SUFFIXES ffmpeg/libavfilter) | ||
| 108 | |||
| 109 | find_library(FFMPEG_LIBAVFORMAT | ||
| 110 | NAMES avformat libavformat | ||
| 111 | PATH_SUFFIXES ffmpeg/libavformat | ||
| 112 | PATHS ${PC_FFMPEG_libavformat_LIBDIR} | ||
| 113 | NO_DEFAULT_PATH) | ||
| 114 | find_library(FFMPEG_LIBAVFORMAT NAMES avformat libavformat PATH_SUFFIXES ffmpeg/libavformat) | ||
| 115 | |||
| 116 | find_library(FFMPEG_LIBAVUTIL | ||
| 117 | NAMES avutil libavutil | ||
| 118 | PATH_SUFFIXES ffmpeg/libavutil | ||
| 119 | PATHS ${PC_FFMPEG_libavutil_LIBDIR} | ||
| 120 | NO_DEFAULT_PATH) | ||
| 121 | find_library(FFMPEG_LIBAVUTIL NAMES avutil libavutil PATH_SUFFIXES ffmpeg/libavutil) | ||
| 122 | |||
| 123 | find_library(FFMPEG_LIBSWSCALE | ||
| 124 | NAMES swscale libswscale | ||
| 125 | PATH_SUFFIXES ffmpeg/libswscale | ||
| 126 | PATHS ${PC_FFMPEG_libswscale_LIBDIR} | ||
| 127 | NO_DEFAULT_PATH) | ||
| 128 | find_library(FFMPEG_LIBSWSCALE NAMES swscale libswscale PATH_SUFFIXES ffmpeg/libswscale) | ||
| 129 | |||
| 130 | find_library(FFMPEG_LIBSWRESAMPLE | ||
| 131 | NAMES swresample libswresample | ||
| 132 | PATH_SUFFIXES ffmpeg/libswresample | ||
| 133 | PATHS ${PC_FFMPEG_libswresample_LIBDIR} | ||
| 134 | NO_DEFAULT_PATH) | ||
| 135 | find_library(FFMPEG_LIBSWRESAMPLE NAMES NAMES swresample libswresample PATH_SUFFIXES ffmpeg/libswresample) | ||
| 136 | |||
| 137 | find_library(FFMPEG_LIBPOSTPROC | ||
| 138 | NAMES postproc libpostproc | ||
| 139 | PATH_SUFFIXES ffmpeg/libpostproc | ||
| 140 | PATHS ${PC_FFMPEG_libpostproc_LIBDIR} | ||
| 141 | NO_DEFAULT_PATH) | ||
| 142 | find_library(FFMPEG_LIBPOSTPROC NAMES postproc libpostproc PATH_SUFFIXES ffmpeg/libpostproc) | ||
| 143 | |||
| 144 | if((PC_FFMPEG_FOUND | ||
| 145 | AND PC_FFMPEG_libavcodec_VERSION | ||
| 146 | AND PC_FFMPEG_libavfilter_VERSION | ||
| 147 | AND PC_FFMPEG_libavformat_VERSION | ||
| 148 | AND PC_FFMPEG_libavutil_VERSION | ||
| 149 | AND PC_FFMPEG_libswscale_VERSION | ||
| 150 | AND PC_FFMPEG_libswresample_VERSION | ||
| 151 | AND PC_FFMPEG_libpostproc_VERSION) | ||
| 152 | OR WIN32) | ||
| 153 | set(FFMPEG_VERSION ${REQUIRED_FFMPEG_VERSION}) | ||
| 154 | |||
| 155 | |||
| 156 | include(FindPackageHandleStandardArgs) | ||
| 157 | find_package_handle_standard_args(FFMPEG | ||
| 158 | VERSION_VAR FFMPEG_VERSION | ||
| 159 | REQUIRED_VARS FFMPEG_INCLUDE_DIRS | ||
| 160 | FFMPEG_LIBAVCODEC | ||
| 161 | FFMPEG_LIBAVFILTER | ||
| 162 | FFMPEG_LIBAVFORMAT | ||
| 163 | FFMPEG_LIBAVUTIL | ||
| 164 | FFMPEG_LIBSWSCALE | ||
| 165 | FFMPEG_LIBSWRESAMPLE | ||
| 166 | FFMPEG_LIBPOSTPROC | ||
| 167 | FFMPEG_VERSION | ||
| 168 | FAIL_MESSAGE "FFmpeg ${REQUIRED_FFMPEG_VERSION} not found, please consider using -DENABLE_INTERNAL_FFMPEG=ON") | ||
| 169 | |||
| 170 | else() | ||
| 171 | message(STATUS "FFmpeg ${REQUIRED_FFMPEG_VERSION} not found, falling back to internal build") | ||
| 172 | unset(FFMPEG_INCLUDE_DIRS) | ||
| 173 | unset(FFMPEG_INCLUDE_DIRS CACHE) | ||
| 174 | unset(FFMPEG_LIBRARIES) | ||
| 175 | unset(FFMPEG_LIBRARIES CACHE) | ||
| 176 | unset(FFMPEG_DEFINITIONS) | ||
| 177 | unset(FFMPEG_DEFINITIONS CACHE) | ||
| 178 | endif() | ||
| 179 | |||
| 180 | if(FFMPEG_FOUND) | ||
| 181 | set(FFMPEG_LDFLAGS ${PC_FFMPEG_LDFLAGS} CACHE STRING "ffmpeg linker flags") | ||
| 182 | |||
| 183 | # check if ffmpeg libs are statically linked | ||
| 184 | set(FFMPEG_LIB_TYPE SHARED) | ||
| 185 | foreach(_fflib IN LISTS FFMPEG_LIBRARIES) | ||
| 186 | if(${_fflib} MATCHES ".+\.a$" AND PC_FFMPEG_STATIC_LDFLAGS) | ||
| 187 | set(FFMPEG_LDFLAGS ${PC_FFMPEG_STATIC_LDFLAGS} CACHE STRING "ffmpeg linker flags" FORCE) | ||
| 188 | set(FFMPEG_LIB_TYPE STATIC) | ||
| 189 | break() | ||
| 190 | endif() | ||
| 191 | endforeach() | ||
| 192 | |||
| 193 | set(FFMPEG_LIBRARIES ${FFMPEG_LIBAVCODEC} ${FFMPEG_LIBAVFILTER} | ||
| 194 | ${FFMPEG_LIBAVFORMAT} ${FFMPEG_LIBAVUTIL} | ||
| 195 | ${FFMPEG_LIBSWSCALE} ${FFMPEG_LIBSWRESAMPLE} | ||
| 196 | ${FFMPEG_LIBPOSTPROC} ${FFMPEG_LDFLAGS}) | ||
| 197 | list(APPEND FFMPEG_DEFINITIONS -DFFMPEG_VER_SHA=\"${FFMPEG_VERSION}\") | ||
| 198 | |||
| 199 | if(NOT TARGET ffmpeg) | ||
| 200 | add_library(ffmpeg ${FFMPEG_LIB_TYPE} IMPORTED) | ||
| 201 | set_target_properties(ffmpeg PROPERTIES | ||
| 202 | FOLDER "External Projects" | ||
| 203 | IMPORTED_LOCATION "${FFMPEG_LIBRARIES}" | ||
| 204 | INTERFACE_INCLUDE_DIRECTORIES "${FFMPEG_INCLUDE_DIRS}" | ||
| 205 | INTERFACE_LINK_LIBRARIES "${FFMPEG_LDFLAGS}" | ||
| 206 | INTERFACE_COMPILE_DEFINITIONS "${FFMPEG_DEFINITIONS}") | ||
| 207 | endif() | ||
| 208 | endif() | ||
| 209 | endif() | ||
| 210 | |||
| 211 | # Internal FFMPEG | ||
| 212 | if(NOT FFMPEG_FOUND) | ||
| 213 | include(ExternalProject) | ||
| 214 | file(STRINGS ${CORE_SOURCE_DIR}/tools/depends/target/ffmpeg/FFMPEG-VERSION VER) | ||
| 215 | string(REGEX MATCH "VERSION=[^ ]*$.*" FFMPEG_VER "${VER}") | ||
| 216 | list(GET FFMPEG_VER 0 FFMPEG_VER) | ||
| 217 | string(SUBSTRING "${FFMPEG_VER}" 8 -1 FFMPEG_VER) | ||
| 218 | string(REGEX MATCH "BASE_URL=([^ ]*)" FFMPEG_BASE_URL "${VER}") | ||
| 219 | list(GET FFMPEG_BASE_URL 0 FFMPEG_BASE_URL) | ||
| 220 | string(SUBSTRING "${FFMPEG_BASE_URL}" 9 -1 FFMPEG_BASE_URL) | ||
| 221 | |||
| 222 | # allow user to override the download URL with a local tarball | ||
| 223 | # needed for offline build envs | ||
| 224 | if(FFMPEG_URL) | ||
| 225 | get_filename_component(FFMPEG_URL "${FFMPEG_URL}" ABSOLUTE) | ||
| 226 | else() | ||
| 227 | set(FFMPEG_URL ${FFMPEG_BASE_URL}/${FFMPEG_VER}.tar.gz) | ||
| 228 | endif() | ||
| 229 | if(VERBOSE) | ||
| 230 | message(STATUS "FFMPEG_URL: ${FFMPEG_URL}") | ||
| 231 | endif() | ||
| 232 | |||
| 233 | if(CMAKE_CROSSCOMPILING) | ||
| 234 | set(CROSS_ARGS -DDEPENDS_PATH=${DEPENDS_PATH} | ||
| 235 | -DPKG_CONFIG_EXECUTABLE=${PKG_CONFIG_EXECUTABLE} | ||
| 236 | -DCROSSCOMPILING=${CMAKE_CROSSCOMPILING} | ||
| 237 | -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} | ||
| 238 | -DCORE_SYSTEM_NAME=${CORE_SYSTEM_NAME} | ||
| 239 | -DCPU=${WITH_CPU} | ||
| 240 | -DOS=${OS} | ||
| 241 | -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} | ||
| 242 | -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} | ||
| 243 | -DCMAKE_AR=${CMAKE_AR} | ||
| 244 | -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} | ||
| 245 | -DCMAKE_EXE_LINKER_FLAGS=${CMAKE_EXE_LINKER_FLAGS}) | ||
| 246 | endif() | ||
| 247 | |||
| 248 | externalproject_add(ffmpeg | ||
| 249 | URL ${FFMPEG_URL} | ||
| 250 | DOWNLOAD_NAME ffmpeg-${FFMPEG_VER}.tar.gz | ||
| 251 | DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download | ||
| 252 | PREFIX ${CORE_BUILD_DIR}/ffmpeg | ||
| 253 | CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} | ||
| 254 | -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} | ||
| 255 | -DFFMPEG_VER=${FFMPEG_VER} | ||
| 256 | -DCORE_SYSTEM_NAME=${CORE_SYSTEM_NAME} | ||
| 257 | ${CROSS_ARGS} | ||
| 258 | PATCH_COMMAND ${CMAKE_COMMAND} -E copy | ||
| 259 | ${CORE_SOURCE_DIR}/tools/depends/target/ffmpeg/CMakeLists.txt | ||
| 260 | <SOURCE_DIR> && | ||
| 261 | ${CMAKE_COMMAND} -E copy | ||
| 262 | ${CORE_SOURCE_DIR}/tools/depends/target/ffmpeg/FindGnuTls.cmake | ||
| 263 | <SOURCE_DIR>) | ||
| 264 | |||
| 265 | file(WRITE ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ffmpeg/ffmpeg-link-wrapper | ||
| 266 | "#!/bin/bash | ||
| 267 | if [[ $@ == *${APP_NAME_LC}.bin* || $@ == *${APP_NAME_LC}.so* || $@ == *${APP_NAME_LC}-test* ]] | ||
| 268 | then | ||
| 269 | avformat=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavcodec` | ||
| 270 | avcodec=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavformat` | ||
| 271 | avfilter=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavfilter` | ||
| 272 | avutil=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libavutil` | ||
| 273 | swscale=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswscale` | ||
| 274 | swresample=`PKG_CONFIG_PATH=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/lib/pkgconfig ${PKG_CONFIG_EXECUTABLE} --libs --static libswresample` | ||
| 275 | gnutls=`PKG_CONFIG_PATH=${DEPENDS_PATH}/lib/pkgconfig/ ${PKG_CONFIG_EXECUTABLE} --libs-only-l --static --silence-errors gnutls` | ||
| 276 | $@ $avcodec $avformat $avcodec $avfilter $swscale $swresample -lpostproc $gnutls | ||
| 277 | else | ||
| 278 | $@ | ||
| 279 | fi") | ||
| 280 | file(COPY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ffmpeg/ffmpeg-link-wrapper | ||
| 281 | DESTINATION ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR} | ||
| 282 | FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE) | ||
| 283 | set(FFMPEG_LINK_EXECUTABLE "${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ffmpeg-link-wrapper <CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" PARENT_SCOPE) | ||
| 284 | set(FFMPEG_CREATE_SHARED_LIBRARY "${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ffmpeg-link-wrapper <CMAKE_CXX_COMPILER> <CMAKE_SHARED_LIBRARY_CXX_FLAGS> <LANGUAGE_COMPILE_FLAGS> <LINK_FLAGS> <CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS> <SONAME_FLAG><TARGET_SONAME> -o <TARGET> <OBJECTS> <LINK_LIBRARIES>" PARENT_SCOPE) | ||
| 285 | set(FFMPEG_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/include) | ||
| 286 | list(APPEND FFMPEG_DEFINITIONS -DFFMPEG_VER_SHA=\"${FFMPEG_VER}\" | ||
| 287 | -DUSE_STATIC_FFMPEG=1) | ||
| 288 | set(FFMPEG_FOUND 1) | ||
| 289 | set_target_properties(ffmpeg PROPERTIES FOLDER "External Projects") | ||
| 290 | endif() | ||
| 291 | |||
| 292 | mark_as_advanced(FFMPEG_INCLUDE_DIRS FFMPEG_LIBRARIES FFMPEG_LDFLAGS FFMPEG_DEFINITIONS FFMPEG_FOUND) | ||
diff --git a/project/cmake/modules/FindFreeType.cmake b/project/cmake/modules/FindFreeType.cmake deleted file mode 100644 index fb4c668..0000000 --- a/project/cmake/modules/FindFreeType.cmake +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindFreetype | ||
| 3 | # ------------ | ||
| 4 | # Finds the FreeType library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # FREETYPE_FOUND - system has FreeType | ||
| 9 | # FREETYPE_INCLUDE_DIRS - the FreeType include directory | ||
| 10 | # FREETYPE_LIBRARIES - the FreeType libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # FreeType::FreeType - The FreeType library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_FREETYPE freetype2 QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(FREETYPE_INCLUDE_DIR NAMES freetype/freetype.h freetype.h | ||
| 21 | PATHS ${PC_FREETYPE_INCLUDEDIR} | ||
| 22 | ${PC_FREETYPE_INCLUDE_DIRS}) | ||
| 23 | find_library(FREETYPE_LIBRARY NAMES freetype freetype246MT | ||
| 24 | PATHS ${PC_FREETYPE_LIBDIR}) | ||
| 25 | |||
| 26 | set(FREETYPE_VERSION ${PC_FREETYPE_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(FreeType | ||
| 30 | REQUIRED_VARS FREETYPE_LIBRARY FREETYPE_INCLUDE_DIR | ||
| 31 | VERSION_VAR FREETYPE_VERSION) | ||
| 32 | |||
| 33 | if(FREETYPE_FOUND) | ||
| 34 | set(FREETYPE_LIBRARIES ${FREETYPE_LIBRARY}) | ||
| 35 | set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIR}) | ||
| 36 | |||
| 37 | if(NOT TARGET FreeType::FreeType) | ||
| 38 | add_library(FreeType::FreeType UNKNOWN IMPORTED) | ||
| 39 | set_target_properties(FreeType::FreeType PROPERTIES | ||
| 40 | IMPORTED_LOCATION "${FREETYPE_LIBRARY}" | ||
| 41 | INTERFACE_INCLUDE_DIRECTORIES "${FREETYPE_INCLUDE_DIR}") | ||
| 42 | endif() | ||
| 43 | endif() | ||
| 44 | |||
| 45 | mark_as_advanced(FREETYPE_INCLUDE_DIR FREETYPE_LIBRARY) | ||
diff --git a/project/cmake/modules/FindFribidi.cmake b/project/cmake/modules/FindFribidi.cmake deleted file mode 100644 index dcaeb48..0000000 --- a/project/cmake/modules/FindFribidi.cmake +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindFribidi | ||
| 3 | # ----------- | ||
| 4 | # Finds the GNU FriBidi library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # FRIBIDI_FOUND - system has FriBidi | ||
| 9 | # FRIBIDI_INCLUDE_DIRS - the FriBidi include directory | ||
| 10 | # FRIBIDI_LIBRARIES - the FriBidi libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # FriBidi::FriBidi - The FriBidi library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_FRIBIDI fribidi QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(FRIBIDI_INCLUDE_DIR NAMES fribidi/fribidi.h | ||
| 21 | PATHS ${PC_FRIBIDI_INCLUDEDIR}) | ||
| 22 | find_library(FRIBIDI_LIBRARY NAMES fribidi libfribidi | ||
| 23 | PATHS ${PC_FRIBIDI_LIBDIR}) | ||
| 24 | |||
| 25 | set(FRIBIDI_VERSION ${PC_FRIBIDI_VERSION}) | ||
| 26 | |||
| 27 | include(FindPackageHandleStandardArgs) | ||
| 28 | find_package_handle_standard_args(FriBidi | ||
| 29 | REQUIRED_VARS FRIBIDI_LIBRARY FRIBIDI_INCLUDE_DIR | ||
| 30 | VERSION_VAR FRIBIDI_VERSION) | ||
| 31 | |||
| 32 | if(FRIBIDI_FOUND) | ||
| 33 | set(FRIBIDI_LIBRARIES ${FRIBIDI_LIBRARY}) | ||
| 34 | set(FRIBIDI_INCLUDE_DIRS ${FRIBIDI_INCLUDE_DIR}) | ||
| 35 | if(PC_FRIBIDI_CFLAGS) | ||
| 36 | set(FRIBIDI_DEFINITIONS ${PC_FRIBIDI_CFLAGS}) | ||
| 37 | endif() | ||
| 38 | |||
| 39 | if(NOT TARGET FriBidi::FriBidi) | ||
| 40 | add_library(FriBidi::FriBidi UNKNOWN IMPORTED) | ||
| 41 | set_target_properties(FriBidi::FriBidi PROPERTIES | ||
| 42 | IMPORTED_LOCATION "${FRIBIDI_LIBRARY}" | ||
| 43 | INTERFACE_INCLUDE_DIRECTORIES "${FRIBIDI_INCLUDE_DIR}" | ||
| 44 | INTERFACE_COMPILE_OPTIONS "${FRIBIDI_DEFINITIONS}") | ||
| 45 | endif() | ||
| 46 | endif() | ||
| 47 | |||
| 48 | mark_as_advanced(FRIBIDI_INCLUDE_DIR FRIBIDI_LIBRARY) | ||
diff --git a/project/cmake/modules/FindGIF.cmake b/project/cmake/modules/FindGIF.cmake deleted file mode 100644 index 8649bd4..0000000 --- a/project/cmake/modules/FindGIF.cmake +++ /dev/null | |||
| @@ -1,46 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindGIF | ||
| 3 | # ------- | ||
| 4 | # Finds the libgif library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # GIF_FOUND - system has libgif | ||
| 9 | # GIF_INCLUDE_DIRS - the libgif include directory | ||
| 10 | # GIF_LIBRARIES - the libgif libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # GIF::GIF - The libgif library | ||
| 15 | |||
| 16 | find_path(GIF_INCLUDE_DIR gif_lib.h) | ||
| 17 | |||
| 18 | include(FindPackageHandleStandardArgs) | ||
| 19 | if(NOT WIN32) | ||
| 20 | find_library(GIF_LIBRARY NAMES gif) | ||
| 21 | find_package_handle_standard_args(GIF | ||
| 22 | REQUIRED_VARS GIF_LIBRARY GIF_INCLUDE_DIR) | ||
| 23 | else() | ||
| 24 | # Dynamically loaded DLL | ||
| 25 | find_package_handle_standard_args(GIF | ||
| 26 | REQUIRED_VARS GIF_INCLUDE_DIR) | ||
| 27 | endif() | ||
| 28 | |||
| 29 | if(GIF_FOUND) | ||
| 30 | set(GIF_LIBRARIES ${GIF_LIBRARY}) | ||
| 31 | set(GIF_INCLUDE_DIRS ${GIF_INCLUDE_DIR}) | ||
| 32 | set(GIF_DEFINITIONS -DHAVE_LIBGIF=1) | ||
| 33 | |||
| 34 | if(NOT TARGET GIF::GIF) | ||
| 35 | add_library(GIF::GIF UNKNOWN IMPORTED) | ||
| 36 | if(GIF_LIBRARY) | ||
| 37 | set_target_properties(GIF::GIF PROPERTIES | ||
| 38 | IMPORTED_LOCATION "${GIF_LIBRARY}") | ||
| 39 | endif() | ||
| 40 | set_target_properties(GIF::GIF PROPERTIES | ||
| 41 | INTERFACE_INCLUDE_DIRECTORIES "${GIF_INCLUDE_DIR}" | ||
| 42 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBGIF=1) | ||
| 43 | endif() | ||
| 44 | endif() | ||
| 45 | |||
| 46 | mark_as_advanced(GIF_INCLUDE_DIR GIF_LIBRARY) | ||
diff --git a/project/cmake/modules/FindJsonSchemaBuilder.cmake b/project/cmake/modules/FindJsonSchemaBuilder.cmake deleted file mode 100644 index ecff1e4..0000000 --- a/project/cmake/modules/FindJsonSchemaBuilder.cmake +++ /dev/null | |||
| @@ -1,21 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindJsonSchemaBuilder | ||
| 3 | # --------------------- | ||
| 4 | # Finds the JsonSchemaBuilder | ||
| 5 | # | ||
| 6 | # This will define the following (imported) targets:: | ||
| 7 | # | ||
| 8 | # JsonSchemaBuilder::JsonSchemaBuilder - The JsonSchemaBuilder executable | ||
| 9 | |||
| 10 | if(NOT TARGET JsonSchemaBuilder::JsonSchemaBuilder) | ||
| 11 | if(CMAKE_CROSSCOMPILING) | ||
| 12 | add_executable(JsonSchemaBuilder::JsonSchemaBuilder IMPORTED GLOBAL) | ||
| 13 | set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES | ||
| 14 | IMPORTED_LOCATION "${NATIVEPREFIX}/bin/JsonSchemaBuilder") | ||
| 15 | set_target_properties(JsonSchemaBuilder::JsonSchemaBuilder PROPERTIES FOLDER Tools) | ||
| 16 | else() | ||
| 17 | add_subdirectory(${CORE_SOURCE_DIR}/tools/depends/native/JsonSchemaBuilder build/jsonschemabuilder) | ||
| 18 | add_executable(JsonSchemaBuilder::JsonSchemaBuilder ALIAS JsonSchemaBuilder) | ||
| 19 | set_target_properties(JsonSchemaBuilder PROPERTIES FOLDER Tools) | ||
| 20 | endif() | ||
| 21 | endif() | ||
diff --git a/project/cmake/modules/FindLibDRM.cmake b/project/cmake/modules/FindLibDRM.cmake deleted file mode 100644 index 35d632e..0000000 --- a/project/cmake/modules/FindLibDRM.cmake +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindLibDRM | ||
| 3 | # ---------- | ||
| 4 | # Finds the LibDRM library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # LIBDRM_FOUND - system has LibDRM | ||
| 9 | # LIBDRM_INCLUDE_DIRS - the LibDRM include directory | ||
| 10 | # LIBDRM_LIBRARIES - the LibDRM libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # LibDRM::LibDRM - The LibDRM library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_LIBDRM libdrm QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(LIBDRM_INCLUDE_DIR NAMES drm.h | ||
| 21 | PATH_SUFFIXES libdrm drm | ||
| 22 | PATHS ${PC_LIBDRM_INCLUDEDIR}) | ||
| 23 | find_library(LIBDRM_LIBRARY NAMES drm | ||
| 24 | PATHS ${PC_LIBDRM_LIBDIR}) | ||
| 25 | |||
| 26 | set(LIBDRM_VERSION ${PC_LIBDRM_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(LibDRM | ||
| 30 | REQUIRED_VARS LIBDRM_LIBRARY LIBDRM_INCLUDE_DIR | ||
| 31 | VERSION_VAR LIBDRM_VERSION) | ||
| 32 | |||
| 33 | if(LIBDRM_FOUND) | ||
| 34 | set(LIBDRM_LIBRARIES ${LIBDRM_LIBRARY}) | ||
| 35 | set(LIBDRM_INCLUDE_DIRS ${LIBDRM_INCLUDE_DIR}) | ||
| 36 | |||
| 37 | if(NOT TARGET LIBDRM::LIBDRM) | ||
| 38 | add_library(LIBDRM::LIBDRM UNKNOWN IMPORTED) | ||
| 39 | set_target_properties(LIBDRM::LIBDRM PROPERTIES | ||
| 40 | IMPORTED_LOCATION "${LIBDRM_LIBRARY}" | ||
| 41 | INTERFACE_INCLUDE_DIRECTORIES "${LIBDRM_INCLUDE_DIR}") | ||
| 42 | endif() | ||
| 43 | endif() | ||
| 44 | |||
| 45 | mark_as_advanced(LIBDRM_INCLUDE_DIR LIBDRM_LIBRARY) | ||
diff --git a/project/cmake/modules/FindLibDvd.cmake b/project/cmake/modules/FindLibDvd.cmake deleted file mode 100644 index fa644d6..0000000 --- a/project/cmake/modules/FindLibDvd.cmake +++ /dev/null | |||
| @@ -1,219 +0,0 @@ | |||
| 1 | if(NOT WIN32) | ||
| 2 | if(CMAKE_CROSSCOMPILING) | ||
| 3 | set(_dvdlibs dvdread dvdnav) | ||
| 4 | set(_handlevars LIBDVD_INCLUDE_DIRS DVDREAD_LIBRARY DVDNAV_LIBRARY) | ||
| 5 | if(ENABLE_DVDCSS) | ||
| 6 | list(APPEND _dvdlibs libdvdcss) | ||
| 7 | list(APPEND _handlevars DVDCSS_LIBRARY) | ||
| 8 | endif() | ||
| 9 | |||
| 10 | if(PKG_CONFIG_FOUND) | ||
| 11 | pkg_check_modules(PC_DVD ${_dvdlibs} QUIET) | ||
| 12 | endif() | ||
| 13 | |||
| 14 | find_path(LIBDVD_INCLUDE_DIRS dvdnav/dvdnav.h PATHS ${PC_DVD_INCLUDE_DIRS}) | ||
| 15 | find_library(DVDREAD_LIBRARY NAMES dvdread libdvdread PATHS ${PC_DVD_dvdread_LIBDIR}) | ||
| 16 | find_library(DVDNAV_LIBRARY NAMES dvdnav libdvdnav PATHS ${PC_DVD_dvdnav_LIBDIR}) | ||
| 17 | if(ENABLE_DVDCSS) | ||
| 18 | find_library(DVDCSS_LIBRARY NAMES dvdcss libdvdcss PATHS ${PC_DVD_libdvdcss_LIBDIR}) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | include(FindPackageHandleStandardArgs) | ||
| 22 | find_package_handle_standard_args(LIBDVD REQUIRED_VARS ${_handlevars}) | ||
| 23 | if(LIBDVD_FOUND) | ||
| 24 | add_library(dvdnav UNKNOWN IMPORTED) | ||
| 25 | set_target_properties(dvdnav PROPERTIES | ||
| 26 | FOLDER "External Projects" | ||
| 27 | IMPORTED_LOCATION "${DVDNAV_LIBRARY}") | ||
| 28 | |||
| 29 | add_library(dvdread UNKNOWN IMPORTED) | ||
| 30 | set_target_properties(dvdread PROPERTIES | ||
| 31 | FOLDER "External Projects" | ||
| 32 | IMPORTED_LOCATION "${DVDREAD_LIBRARY}") | ||
| 33 | add_library(dvdcss UNKNOWN IMPORTED) | ||
| 34 | set_target_properties(dvdcss PROPERTIES | ||
| 35 | FOLDER "External Projects" | ||
| 36 | IMPORTED_LOCATION "${DVDCSS_LIBRARY}") | ||
| 37 | |||
| 38 | set(_linklibs ${DVDREAD_LIBRARY}) | ||
| 39 | if(ENABLE_DVDCSS) | ||
| 40 | list(APPEND _linklibs ${DVDCSS_LIBRARY}) | ||
| 41 | endif() | ||
| 42 | core_link_library(${DVDNAV_LIBRARY} system/players/VideoPlayer/libdvdnav dvdnav archives "${_linklibs}") | ||
| 43 | set(LIBDVD_LIBRARIES ${DVDNAV_LIBRARY}) | ||
| 44 | mark_as_advanced(LIBDVD_INCLUDE_DIRS LIBDVD_LIBRARIES) | ||
| 45 | endif() | ||
| 46 | else() | ||
| 47 | set(dvdlibs libdvdread libdvdnav) | ||
| 48 | if(ENABLE_DVDCSS) | ||
| 49 | list(APPEND dvdlibs libdvdcss) | ||
| 50 | endif() | ||
| 51 | foreach(dvdlib ${dvdlibs}) | ||
| 52 | file(GLOB VERSION_FILE ${CORE_SOURCE_DIR}/tools/depends/target/${dvdlib}/DVD*-VERSION) | ||
| 53 | file(STRINGS ${VERSION_FILE} VER) | ||
| 54 | string(REGEX MATCH "VERSION=[^ ]*$.*" ${dvdlib}_VER "${VER}") | ||
| 55 | list(GET ${dvdlib}_VER 0 ${dvdlib}_VER) | ||
| 56 | string(SUBSTRING "${${dvdlib}_VER}" 8 -1 ${dvdlib}_VER) | ||
| 57 | string(REGEX MATCH "BASE_URL=([^ ]*)" ${dvdlib}_BASE_URL "${VER}") | ||
| 58 | list(GET ${dvdlib}_BASE_URL 0 ${dvdlib}_BASE_URL) | ||
| 59 | string(SUBSTRING "${${dvdlib}_BASE_URL}" 9 -1 ${dvdlib}_BASE_URL) | ||
| 60 | string(TOUPPER ${dvdlib} DVDLIB) | ||
| 61 | |||
| 62 | # allow user to override the download URL with a local tarball | ||
| 63 | # needed for offline build envs | ||
| 64 | # allow upper and lowercase var name | ||
| 65 | if(${dvdlib}_URL) | ||
| 66 | set(${DVDLIB}_URL ${${dvdlib}_URL}) | ||
| 67 | endif() | ||
| 68 | if(${DVDLIB}_URL) | ||
| 69 | get_filename_component(${DVDLIB}_URL "${${DVDLIB}_URL}" ABSOLUTE) | ||
| 70 | else() | ||
| 71 | set(${DVDLIB}_URL ${${dvdlib}_BASE_URL}/archive/${${dvdlib}_VER}.tar.gz) | ||
| 72 | endif() | ||
| 73 | if(VERBOSE) | ||
| 74 | message(STATUS "${DVDLIB}_URL: ${${DVDLIB}_URL}") | ||
| 75 | endif() | ||
| 76 | endforeach() | ||
| 77 | |||
| 78 | set(DVDREAD_CFLAGS "${DVDREAD_CFLAGS} -I${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/include") | ||
| 79 | if(CMAKE_CROSSCOMPILING) | ||
| 80 | set(EXTRA_FLAGS "CC=${CMAKE_C_COMPILER}") | ||
| 81 | endif() | ||
| 82 | |||
| 83 | if(APPLE) | ||
| 84 | set(CMAKE_LD_FLAGS "-framework IOKit -framework CoreFoundation") | ||
| 85 | endif() | ||
| 86 | |||
| 87 | set(HOST_ARCH ${ARCH}) | ||
| 88 | if(CORE_SYSTEM_NAME STREQUAL android) | ||
| 89 | if(ARCH STREQUAL arm) | ||
| 90 | set(HOST_ARCH arm-linux-androideabi) | ||
| 91 | elseif(ARCH STREQUAL aarch64) | ||
| 92 | set(HOST_ARCH aarch64-linux-android) | ||
| 93 | elseif(ARCH STREQUAL i486-linux) | ||
| 94 | set(HOST_ARCH i686-linux-android) | ||
| 95 | endif() | ||
| 96 | endif() | ||
| 97 | |||
| 98 | if(ENABLE_DVDCSS) | ||
| 99 | set(DVDCSS_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib/libdvdcss.a) | ||
| 100 | ExternalProject_Add(dvdcss URL ${LIBDVDCSS_URL} | ||
| 101 | DOWNLOAD_NAME libdvdcss-${libdvdcss_VER}.tar.gz | ||
| 102 | DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download | ||
| 103 | PREFIX ${CORE_BUILD_DIR}/libdvd | ||
| 104 | CONFIGURE_COMMAND ac_cv_path_GIT= <SOURCE_DIR>/configure | ||
| 105 | --target=${HOST_ARCH} | ||
| 106 | --host=${HOST_ARCH} | ||
| 107 | --disable-doc | ||
| 108 | --enable-static | ||
| 109 | --disable-shared | ||
| 110 | --with-pic | ||
| 111 | --prefix=<INSTALL_DIR> | ||
| 112 | --libdir=<INSTALL_DIR>/lib | ||
| 113 | "${EXTRA_FLAGS}" | ||
| 114 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" | ||
| 115 | "LDFLAGS=${CMAKE_LD_FLAGS}" | ||
| 116 | BUILD_BYPRODUCTS ${DVDCSS_LIBRARY}) | ||
| 117 | ExternalProject_Add_Step(dvdcss autoreconf | ||
| 118 | DEPENDEES download update patch | ||
| 119 | DEPENDERS configure | ||
| 120 | COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} autoreconf -vif | ||
| 121 | WORKING_DIRECTORY <SOURCE_DIR>) | ||
| 122 | |||
| 123 | set_target_properties(dvdcss PROPERTIES FOLDER "External Projects") | ||
| 124 | endif() | ||
| 125 | |||
| 126 | set(DVDREAD_CFLAGS "-D_XBMC") | ||
| 127 | if(ENABLE_DVDCSS) | ||
| 128 | set(DVDREAD_CFLAGS "${DVDREAD_CFLAGS} -DHAVE_DVDCSS_DVDCSS_H -I${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/include") | ||
| 129 | endif() | ||
| 130 | |||
| 131 | set(DVDREAD_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib/libdvdread.a) | ||
| 132 | ExternalProject_Add(dvdread URL ${LIBDVDREAD_URL} | ||
| 133 | DOWNLOAD_NAME libdvdread-${libdvdread_VER}.tar.gz | ||
| 134 | DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download | ||
| 135 | PREFIX ${CORE_BUILD_DIR}/libdvd | ||
| 136 | CONFIGURE_COMMAND ac_cv_path_GIT= <SOURCE_DIR>/configure | ||
| 137 | --target=${HOST_ARCH} | ||
| 138 | --host=${HOST_ARCH} | ||
| 139 | --enable-static | ||
| 140 | --disable-shared | ||
| 141 | --with-pic | ||
| 142 | --prefix=<INSTALL_DIR> | ||
| 143 | --libdir=<INSTALL_DIR>/lib | ||
| 144 | "${EXTRA_FLAGS}" | ||
| 145 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" | ||
| 146 | "LDFLAGS=${CMAKE_LD_FLAGS}" | ||
| 147 | BUILD_BYPRODUCTS ${DVDREAD_LIBRARY}) | ||
| 148 | ExternalProject_Add_Step(dvdread autoreconf | ||
| 149 | DEPENDEES download update patch | ||
| 150 | DEPENDERS configure | ||
| 151 | COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} autoreconf -vif | ||
| 152 | WORKING_DIRECTORY <SOURCE_DIR>) | ||
| 153 | if(ENABLE_DVDCSS) | ||
| 154 | add_dependencies(dvdread dvdcss) | ||
| 155 | endif() | ||
| 156 | |||
| 157 | set_target_properties(dvdread PROPERTIES FOLDER "External Projects") | ||
| 158 | |||
| 159 | if(ENABLE_DVDCSS) | ||
| 160 | set(DVDNAV_LIBS -ldvdcss) | ||
| 161 | endif() | ||
| 162 | |||
| 163 | set(DVDNAV_LIBRARY ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib/libdvdnav.a) | ||
| 164 | ExternalProject_Add(dvdnav URL ${LIBDVDNAV_URL} | ||
| 165 | DOWNLOAD_NAME libdvdnav-${libdvdnav_VER}.tar.gz | ||
| 166 | DOWNLOAD_DIR ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/download | ||
| 167 | PREFIX ${CORE_BUILD_DIR}/libdvd | ||
| 168 | CONFIGURE_COMMAND ac_cv_path_GIT= <SOURCE_DIR>/configure | ||
| 169 | --target=${HOST_ARCH} | ||
| 170 | --host=${HOST_ARCH} | ||
| 171 | --enable-static | ||
| 172 | --disable-shared | ||
| 173 | --with-pic | ||
| 174 | --prefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd | ||
| 175 | --libdir=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib | ||
| 176 | "${EXTRA_FLAGS}" | ||
| 177 | "LDFLAGS=${CMAKE_LD_FLAGS} -L${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib" | ||
| 178 | "CFLAGS=${CMAKE_C_FLAGS} ${DVDREAD_CFLAGS}" | ||
| 179 | "DVDREAD_CFLAGS=${DVDREAD_CFLAGS}" | ||
| 180 | "DVDREAD_LIBS=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/lib/libdvdread.la" | ||
| 181 | "LIBS=${DVDNAV_LIBS}" | ||
| 182 | BUILD_BYPRODUCTS ${DVDNAV_LIBRARY}) | ||
| 183 | ExternalProject_Add_Step(dvdnav autoreconf | ||
| 184 | DEPENDEES download update patch | ||
| 185 | DEPENDERS configure | ||
| 186 | COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} autoreconf -vif | ||
| 187 | WORKING_DIRECTORY <SOURCE_DIR>) | ||
| 188 | add_dependencies(dvdnav dvdread) | ||
| 189 | set_target_properties(dvdnav PROPERTIES FOLDER "External Projects") | ||
| 190 | |||
| 191 | set(_dvdlibs ${DVDREAD_LIBRARY} ${DVDCSS_LIBRARY}) | ||
| 192 | # link a shared dvdnav library that includes the whole archives of dvdread and dvdcss as well | ||
| 193 | # the quotes around _dvdlibs are on purpose, since we want to pass a list to the function that will be unpacked automatically | ||
| 194 | core_link_library(${DVDNAV_LIBRARY} system/players/VideoPlayer/libdvdnav dvdnav archives "${_dvdlibs}") | ||
| 195 | |||
| 196 | set(LIBDVD_INCLUDE_DIRS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/libdvd/include) | ||
| 197 | set(LIBDVD_LIBRARIES ${DVDNAV_LIBRARY} ${DVDREAD_LIBRARY}) | ||
| 198 | if(ENABLE_DVDCSS) | ||
| 199 | list(APPEND LIBDVD_LIBRARIES ${DVDCSS_LIBRARY}) | ||
| 200 | endif() | ||
| 201 | set(LIBDVD_LIBRARIES ${LIBDVD_LIBRARIES} CACHE STRING "libdvd libraries" FORCE) | ||
| 202 | set(LIBDVD_FOUND 1 CACHE BOOL "libdvd found" FORCE) | ||
| 203 | endif() | ||
| 204 | else() | ||
| 205 | # Dynamically loaded on Windows | ||
| 206 | find_path(LIBDVD_INCLUDE_DIR dvdcss/dvdcss.h PATHS ${CORE_SOURCE_DIR}/lib/libdvd/include) | ||
| 207 | |||
| 208 | include(FindPackageHandleStandardArgs) | ||
| 209 | find_package_handle_standard_args(LIBDVD REQUIRED_VARS LIBDVD_INCLUDE_DIR) | ||
| 210 | |||
| 211 | if(LIBDVD_FOUND) | ||
| 212 | set(LIBDVD_INCLUDE_DIRS ${LIBDVD_INCLUDE_DIR}) | ||
| 213 | |||
| 214 | add_custom_target(dvdnav) | ||
| 215 | set_target_properties(dvdnav PROPERTIES FOLDER "External Projects") | ||
| 216 | endif() | ||
| 217 | |||
| 218 | mark_as_advanced(LIBDVD_INCLUDE_DIR) | ||
| 219 | endif() | ||
diff --git a/project/cmake/modules/FindLibUSB.cmake b/project/cmake/modules/FindLibUSB.cmake deleted file mode 100644 index e976bf4..0000000 --- a/project/cmake/modules/FindLibUSB.cmake +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindLibUSB | ||
| 3 | # ---------- | ||
| 4 | # Finds the USB library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # LIBUSB_FOUND - system has LibUSB | ||
| 9 | # LIBUSB_INCLUDE_DIRS - the USB include directory | ||
| 10 | # LIBUSB_LIBRARIES - the USB libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # LibUSB::LibUSB - The USB library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_LIBUSB libusb QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(LIBUSB_INCLUDE_DIR usb.h | ||
| 21 | PATHS ${PC_LIBUSB_INCLUDEDIR}) | ||
| 22 | find_library(LIBUSB_LIBRARY NAMES usb | ||
| 23 | PATHS ${PC_LIBUSB_INCLUDEDIR}) | ||
| 24 | set(LIBUSB_VERSION ${PC_LIBUSB_VERSION}) | ||
| 25 | |||
| 26 | include(FindPackageHandleStandardArgs) | ||
| 27 | find_package_handle_standard_args(LIBUSB | ||
| 28 | REQUIRED_VARS LIBUSB_LIBRARY LIBUSB_INCLUDE_DIR | ||
| 29 | VERSION_VAR LIBUSB_VERSION) | ||
| 30 | |||
| 31 | if(LIBUSB_FOUND) | ||
| 32 | set(LIBUSB_INCLUDE_DIRS ${LIBUSB_INCLUDE_DIR}) | ||
| 33 | set(LIBUSB_LIBRARIES ${LIBUSB_LIBRARY}) | ||
| 34 | set(LIBUSB_DEFINITIONS -DUSE_LIBUSB=1) | ||
| 35 | |||
| 36 | if(NOT TARGET LibUSB::LibUSB) | ||
| 37 | add_library(LibUSB::LibUSB UNKNOWN IMPORTED) | ||
| 38 | set_target_properties(LibUSB::LibUSB PROPERTIES | ||
| 39 | IMPORTED_LOCATION "${LIBUSB_LIBRARY}" | ||
| 40 | INTERFACE_INCLUDE_DIRECTORIES "${LIBUSB_INCLUDE_DIR}" | ||
| 41 | INTERFACE_COMPILE_DEFINITIONS USE_LIBUSB=1) | ||
| 42 | endif() | ||
| 43 | endif() | ||
| 44 | |||
| 45 | mark_as_advanced(USB_INCLUDE_DIR USB_LIBRARY) | ||
diff --git a/project/cmake/modules/FindLibXml2.cmake b/project/cmake/modules/FindLibXml2.cmake deleted file mode 100644 index caeb945..0000000 --- a/project/cmake/modules/FindLibXml2.cmake +++ /dev/null | |||
| @@ -1,84 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindLibXml2 | ||
| 3 | # ----------- | ||
| 4 | # | ||
| 5 | # Try to find the LibXml2 xml processing library | ||
| 6 | # | ||
| 7 | # Once done this will define | ||
| 8 | # | ||
| 9 | # :: | ||
| 10 | # | ||
| 11 | # LIBXML2_FOUND - System has LibXml2 | ||
| 12 | # LIBXML2_INCLUDE_DIR - The LibXml2 include directory | ||
| 13 | # LIBXML2_LIBRARIES - The libraries needed to use LibXml2 | ||
| 14 | # LIBXML2_DEFINITIONS - Compiler switches required for using LibXml2 | ||
| 15 | # LIBXML2_XMLLINT_EXECUTABLE - The XML checking tool xmllint coming with LibXml2 | ||
| 16 | # LIBXML2_VERSION_STRING - the version of LibXml2 found (since CMake 2.8.8) | ||
| 17 | |||
| 18 | #============================================================================= | ||
| 19 | # Copyright 2006-2009 Kitware, Inc. | ||
| 20 | # Copyright 2006 Alexander Neundorf <neundorf@kde.org> | ||
| 21 | # Copyright 2016 Team Kodi | ||
| 22 | # | ||
| 23 | # Distributed under the OSI-approved BSD License (the "License"); | ||
| 24 | # see accompanying file Copyright.txt for details. | ||
| 25 | # | ||
| 26 | # This software is distributed WITHOUT ANY WARRANTY; without even the | ||
| 27 | # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
| 28 | # See the License for more information. | ||
| 29 | #============================================================================= | ||
| 30 | # (To distribute this file outside of CMake, substitute the full | ||
| 31 | # License text for the above reference.) | ||
| 32 | |||
| 33 | # use pkg-config to get the directories and then use these values | ||
| 34 | # in the find_path() and find_library() calls | ||
| 35 | find_package(PkgConfig QUIET) | ||
| 36 | PKG_CHECK_MODULES(PC_LIBXML QUIET libxml-2.0) | ||
| 37 | set(LIBXML2_DEFINITIONS ${PC_LIBXML_CFLAGS_OTHER}) | ||
| 38 | |||
| 39 | find_path(LIBXML2_INCLUDE_DIR NAMES libxml/xpath.h | ||
| 40 | HINTS | ||
| 41 | ${PC_LIBXML_INCLUDEDIR} | ||
| 42 | ${PC_LIBXML_INCLUDE_DIRS} | ||
| 43 | PATH_SUFFIXES libxml2 | ||
| 44 | ) | ||
| 45 | |||
| 46 | find_library(LIBXML2_LIBRARY NAMES xml2 libxml2 | ||
| 47 | HINTS | ||
| 48 | ${PC_LIBXML_LIBDIR} | ||
| 49 | ${PC_LIBXML_LIBRARY_DIRS} | ||
| 50 | ) | ||
| 51 | |||
| 52 | find_program(LIBXML2_XMLLINT_EXECUTABLE xmllint) | ||
| 53 | # for backwards compat. with KDE 4.0.x: | ||
| 54 | set(XMLLINT_EXECUTABLE "${LIBXML2_XMLLINT_EXECUTABLE}") | ||
| 55 | |||
| 56 | # Make sure to use static flags if apropriate | ||
| 57 | if(PC_LIBXML_FOUND) | ||
| 58 | if(${LIBXML2_LIBRARY} MATCHES ".+\.a$" AND PC_LIBXML_STATIC_LDFLAGS) | ||
| 59 | set(LIBXML2_LIBRARY ${LIBXML2_LIBRARY} ${PC_LIBXML_STATIC_LDFLAGS}) | ||
| 60 | endif() | ||
| 61 | endif() | ||
| 62 | |||
| 63 | if(PC_LIBXML_VERSION) | ||
| 64 | set(LIBXML2_VERSION_STRING ${PC_LIBXML_VERSION}) | ||
| 65 | elseif(LIBXML2_INCLUDE_DIR AND EXISTS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h") | ||
| 66 | file(STRINGS "${LIBXML2_INCLUDE_DIR}/libxml/xmlversion.h" libxml2_version_str | ||
| 67 | REGEX "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\".*\"") | ||
| 68 | string(REGEX REPLACE "^#define[\t ]+LIBXML_DOTTED_VERSION[\t ]+\"([^\"]*)\".*" "\\1" | ||
| 69 | LIBXML2_VERSION_STRING "${libxml2_version_str}") | ||
| 70 | unset(libxml2_version_str) | ||
| 71 | endif() | ||
| 72 | |||
| 73 | |||
| 74 | include(FindPackageHandleStandardArgs) | ||
| 75 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibXml2 | ||
| 76 | REQUIRED_VARS LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR | ||
| 77 | VERSION_VAR LIBXML2_VERSION_STRING) | ||
| 78 | |||
| 79 | if(LibXml2_FOUND) | ||
| 80 | set(LIBXML2_LIBRARIES ${LIBXML2_LIBRARY}) | ||
| 81 | set(LIBXML2_INCLUDE_DIRS ${LIBXML2_INCLUDE_DIR}) | ||
| 82 | endif() | ||
| 83 | |||
| 84 | mark_as_advanced(LIBXML2_INCLUDE_DIRS LIBXML2_LIBRARIES LIBXML2_XMLLINT_EXECUTABLE) | ||
diff --git a/project/cmake/modules/FindLzo2.cmake b/project/cmake/modules/FindLzo2.cmake deleted file mode 100644 index 4f7313f..0000000 --- a/project/cmake/modules/FindLzo2.cmake +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindLzo2 | ||
| 3 | # -------- | ||
| 4 | # Finds the Lzo2 library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # LZO2_FOUND - system has Lzo2 | ||
| 9 | # LZO2_INCLUDE_DIRS - the Lzo2 include directory | ||
| 10 | # LZO2_LIBRARIES - the Lzo2 libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # Lzo2::Lzo2 - The Lzo2 library | ||
| 15 | |||
| 16 | find_path(LZO2_INCLUDE_DIR NAMES lzo1x.h | ||
| 17 | PATH_SUFFIXES lzo) | ||
| 18 | |||
| 19 | find_library(LZO2_LIBRARY NAMES lzo2 liblzo2) | ||
| 20 | |||
| 21 | include(FindPackageHandleStandardArgs) | ||
| 22 | find_package_handle_standard_args(Lzo2 | ||
| 23 | REQUIRED_VARS LZO2_LIBRARY LZO2_INCLUDE_DIR) | ||
| 24 | |||
| 25 | if(LZO2_FOUND) | ||
| 26 | set(LZO2_LIBRARIES ${LZO2_LIBRARY}) | ||
| 27 | set(LZO2_INCLUDE_DIRS ${LZO2_INCLUDE_DIR}) | ||
| 28 | |||
| 29 | if(NOT TARGET Lzo2::Lzo2) | ||
| 30 | add_library(Lzo2::Lzo2 UNKNOWN IMPORTED) | ||
| 31 | set_target_properties(Lzo2::Lzo2 PROPERTIES | ||
| 32 | IMPORTED_LOCATION "${LZO2_LIBRARY}" | ||
| 33 | INTERFACE_INCLUDE_DIRECTORIES "${LZO2_INCLUDE_DIR}") | ||
| 34 | endif() | ||
| 35 | endif() | ||
| 36 | |||
| 37 | mark_as_advanced(LZO2_INCLUDE_DIR LZO2_LIBRARY) | ||
diff --git a/project/cmake/modules/FindMMAL.cmake b/project/cmake/modules/FindMMAL.cmake deleted file mode 100644 index 8843983..0000000 --- a/project/cmake/modules/FindMMAL.cmake +++ /dev/null | |||
| @@ -1,36 +0,0 @@ | |||
| 1 | # - Try to find MMAL | ||
| 2 | # Once done this will define | ||
| 3 | # | ||
| 4 | # MMAL_FOUND - system has MMAL | ||
| 5 | # MMAL_INCLUDE_DIRS - the MMAL include directory | ||
| 6 | # MMAL_LIBRARIES - The MMAL libraries | ||
| 7 | |||
| 8 | if(PKG_CONFIG_FOUND) | ||
| 9 | pkg_check_modules(MMAL mmal QUIET) | ||
| 10 | endif() | ||
| 11 | |||
| 12 | if(NOT MMAL_FOUND) | ||
| 13 | find_path(MMAL_INCLUDE_DIRS interface/mmal/mmal.h) | ||
| 14 | find_library(MMAL_LIBRARY mmal) | ||
| 15 | find_library(MMALCORE_LIBRARY mmal_core) | ||
| 16 | find_library(MMALUTIL_LIBRARY mmal_util) | ||
| 17 | find_library(MMALCLIENT_LIBRARY mmal_vc_client) | ||
| 18 | find_library(MMALCOMPONENT_LIBRARY mmal_components) | ||
| 19 | find_library(BCM_LIBRARY bcm_host) | ||
| 20 | find_library(VCHIQ_LIBRARY vchiq_arm) | ||
| 21 | find_library(VCOS_LIBRARY vcos) | ||
| 22 | find_library(VCSM_LIBRARY vcsm) | ||
| 23 | find_library(CONTAINER_LIBRARY containers) | ||
| 24 | |||
| 25 | set(MMAL_LIBRARIES ${MMAL_LIBRARY} ${MMALCORE_LIBRARY} ${MMALUTIL_LIBRARY} | ||
| 26 | ${MMALCLIENT_LIBRARY} ${MMALCOMPONENT_LIBRARY} | ||
| 27 | ${BCM_LIBRARY} ${VCHIQ_LIBRARY} ${VCOS_LIBRARY} ${VCSM_LIBRARY} ${CONTAINER_LIBRARY} | ||
| 28 | CACHE STRING "mmal libraries" FORCE) | ||
| 29 | endif() | ||
| 30 | |||
| 31 | include(FindPackageHandleStandardArgs) | ||
| 32 | find_package_handle_standard_args(MMAL DEFAULT_MSG MMAL_LIBRARIES MMAL_INCLUDE_DIRS) | ||
| 33 | |||
| 34 | list(APPEND MMAL_DEFINITIONS -DHAVE_MMAL=1 -DHAS_MMAL=1) | ||
| 35 | |||
| 36 | mark_as_advanced(MMAL_INCLUDE_DIRS MMAL_LIBRARIES MMAL_DEFINITIONS) | ||
diff --git a/project/cmake/modules/FindMicroHttpd.cmake b/project/cmake/modules/FindMicroHttpd.cmake deleted file mode 100644 index 7d011fa..0000000 --- a/project/cmake/modules/FindMicroHttpd.cmake +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindMicroHttpd | ||
| 3 | # -------------- | ||
| 4 | # Finds the MicroHttpd library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # MICROHTTPD_FOUND - system has MicroHttpd | ||
| 9 | # MICROHTTPD_INCLUDE_DIRS - the MicroHttpd include directory | ||
| 10 | # MICROHTTPD_LIBRARIES - the MicroHttpd libraries | ||
| 11 | # MICROHTTPD_DEFINITIONS - the MicroHttpd definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # MicroHttpd::MicroHttpd - The MicroHttpd library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_MICROHTTPD libmicrohttpd>=0.4 QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(MICROHTTPD_INCLUDE_DIR NAMES microhttpd.h | ||
| 22 | PATHS ${PC_MICROHTTPD_INCLUDEDIR}) | ||
| 23 | find_library(MICROHTTPD_LIBRARY NAMES microhttpd libmicrohttpd | ||
| 24 | PATHS ${PC_MICROHTTPD_LIBDIR}) | ||
| 25 | |||
| 26 | set(MICROHTTPD_VERSION ${PC_MICROHTTPD_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(MicroHttpd | ||
| 30 | REQUIRED_VARS MICROHTTPD_LIBRARY MICROHTTPD_INCLUDE_DIR | ||
| 31 | VERSION_VAR MICROHTTPD_VERSION) | ||
| 32 | |||
| 33 | if(MICROHTTPD_FOUND) | ||
| 34 | set(MICROHTTPD_LIBRARIES ${MICROHTTPD_LIBRARY}) | ||
| 35 | set(MICROHTTPD_INCLUDE_DIRS ${MICROHTTPD_INCLUDE_DIR}) | ||
| 36 | set(MICROHTTPD_DEFINITIONS -DHAVE_LIBMICROHTTPD=1) | ||
| 37 | |||
| 38 | if(NOT WIN32) | ||
| 39 | find_library(GCRYPT_LIBRARY gcrypt) | ||
| 40 | find_library(GPGERROR_LIBRARY gpg-error) | ||
| 41 | list(APPEND MICROHTTPD_LIBRARIES ${GCRYPT_LIBRARY} ${GPGERROR_LIBRARY}) | ||
| 42 | mark_as_advanced(GCRYPT_LIBRARY GPGERROR_LIBRARY) | ||
| 43 | if(NOT APPLE AND NOT CORE_SYSTEM_NAME STREQUAL android) | ||
| 44 | list(APPEND MICROHTTPD_LIBRARIES "-lrt") | ||
| 45 | endif() | ||
| 46 | endif() | ||
| 47 | endif() | ||
| 48 | |||
| 49 | mark_as_advanced(MICROHTTPD_LIBRARY MICROHTTPD_INCLUDE_DIR) | ||
diff --git a/project/cmake/modules/FindMir.cmake b/project/cmake/modules/FindMir.cmake deleted file mode 100644 index 8847a61..0000000 --- a/project/cmake/modules/FindMir.cmake +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | # FindMir | ||
| 2 | # ------- | ||
| 3 | # Finds the Mir library | ||
| 4 | # | ||
| 5 | # This will will define the following variables:: | ||
| 6 | # | ||
| 7 | # MIR_FOUND - the system has Mir | ||
| 8 | # MIR_INCLUDE_DIRS - the Mir include directory | ||
| 9 | # MIR_LIBRARIES - the Mir libraries | ||
| 10 | # MIR_DEFINITIONS - the Mir definitions | ||
| 11 | |||
| 12 | |||
| 13 | if(PKG_CONFIG_FOUND) | ||
| 14 | pkg_check_modules (PC_MIR mirclient QUIET) | ||
| 15 | endif() | ||
| 16 | |||
| 17 | find_path(MIR_INCLUDE_DIR NAMES mir_toolkit/mir_client_library.h | ||
| 18 | PATHS ${PC_MIR_INCLUDE_DIRS}) | ||
| 19 | |||
| 20 | find_library(MIR_LIBRARY NAMES mirclient | ||
| 21 | PATHS ${PC_MIR_LIBRARIES} ${PC_MIR_LIBRARY_DIRS}) | ||
| 22 | |||
| 23 | include (FindPackageHandleStandardArgs) | ||
| 24 | find_package_handle_standard_args (MIR | ||
| 25 | REQUIRED_VARS MIR_LIBRARY MIR_INCLUDE_DIR) | ||
| 26 | |||
| 27 | if (MIR_FOUND) | ||
| 28 | set(MIR_LIBRARIES ${MIR_LIBRARY}) | ||
| 29 | set(MIR_INCLUDE_DIRS ${PC_MIR_INCLUDE_DIRS}) | ||
| 30 | set(MIR_DEFINITIONS -DHAVE_MIR=1) | ||
| 31 | endif() | ||
| 32 | |||
| 33 | mark_as_advanced (MIR_LIBRARY MIR_INCLUDE_DIR) | ||
diff --git a/project/cmake/modules/FindMySqlClient.cmake b/project/cmake/modules/FindMySqlClient.cmake deleted file mode 100644 index ceccea3..0000000 --- a/project/cmake/modules/FindMySqlClient.cmake +++ /dev/null | |||
| @@ -1,69 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindMySqlClient | ||
| 3 | # --------------- | ||
| 4 | # Finds the MySqlClient library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # MYSQLCLIENT_FOUND - system has MySqlClient | ||
| 9 | # MYSQLCLIENT_INCLUDE_DIRS - the MySqlClient include directory | ||
| 10 | # MYSQLCLIENT_LIBRARIES - the MySqlClient libraries | ||
| 11 | # MYSQLCLIENT_DEFINITIONS - the MySqlClient compile definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # MySqlClient::MySqlClient - The MySqlClient 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(MYSQLCLIENT_INCLUDE_DIR mysql/mysql_time.h) | ||
| 25 | find_library(MYSQLCLIENT_LIBRARY_RELEASE NAMES mysqlclient libmysql | ||
| 26 | PATH_SUFFIXES mysql | ||
| 27 | ${EXTRA_FIND_ARGS}) | ||
| 28 | find_library(MYSQLCLIENT_LIBRARY_DEBUG NAMES mysqlclient libmysql | ||
| 29 | PATH_SUFFIXES mysql | ||
| 30 | ${EXTRA_FIND_ARGS}) | ||
| 31 | |||
| 32 | if(MYSQLCLIENT_INCLUDE_DIR AND EXISTS "${MYSQLCLIENT_INCLUDE_DIR}/mysql/mysql_version.h") | ||
| 33 | file(STRINGS "${MYSQLCLIENT_INCLUDE_DIR}/mysql/mysql_version.h" mysql_version_str REGEX "^#define[\t ]+LIBMYSQL_VERSION[\t ]+\".*\".*") | ||
| 34 | string(REGEX REPLACE "^#define[\t ]+LIBMYSQL_VERSION[\t ]+\"([^\"]+)\".*" "\\1" MYSQLCLIENT_VERSION_STRING "${mysql_version_str}") | ||
| 35 | unset(mysql_version_str) | ||
| 36 | endif() | ||
| 37 | |||
| 38 | include(SelectLibraryConfigurations) | ||
| 39 | select_library_configurations(MYSQLCLIENT) | ||
| 40 | |||
| 41 | include(FindPackageHandleStandardArgs) | ||
| 42 | find_package_handle_standard_args(MySqlClient | ||
| 43 | REQUIRED_VARS MYSQLCLIENT_LIBRARY MYSQLCLIENT_INCLUDE_DIR | ||
| 44 | VERSION_VAR MYSQLCLIENT_VERSION_STRING) | ||
| 45 | |||
| 46 | if(MYSQLCLIENT_FOUND) | ||
| 47 | set(MYSQLCLIENT_LIBRARIES ${MYSQLCLIENT_LIBRARY}) | ||
| 48 | set(MYSQLCLIENT_INCLUDE_DIRS ${MYSQLCLIENT_INCLUDE_DIR}) | ||
| 49 | set(MYSQLCLIENT_DEFINITIONS -DHAVE_MYSQL=1) | ||
| 50 | |||
| 51 | if(NOT TARGET MySqlClient::MySqlClient) | ||
| 52 | add_library(MySqlClient::MySqlClient UNKNOWN IMPORTED) | ||
| 53 | if(MYSQLCLIENT_LIBRARY_RELEASE) | ||
| 54 | set_target_properties(MySqlClient::MySqlClient PROPERTIES | ||
| 55 | IMPORTED_CONFIGURATIONS RELEASE | ||
| 56 | IMPORTED_LOCATION "${MYSQLCLIENT_LIBRARY_RELEASE}") | ||
| 57 | endif() | ||
| 58 | if(MYSQLCLIENT_LIBRARY_DEBUG) | ||
| 59 | set_target_properties(MySqlClient::MySqlClient PROPERTIES | ||
| 60 | IMPORTED_CONFIGURATIONS DEBUG | ||
| 61 | IMPORTED_LOCATION "${MYSQLCLIENT_LIBRARY_DEBUG}") | ||
| 62 | endif() | ||
| 63 | set_target_properties(MySqlClient::MySqlClient PROPERTIES | ||
| 64 | INTERFACE_INCLUDE_DIRECTORIES "${MYSQLCLIENT_INCLUDE_DIR}" | ||
| 65 | INTERFACE_COMPILE_DEFINITIONS HAVE_MYSQL=1) | ||
| 66 | endif() | ||
| 67 | endif() | ||
| 68 | |||
| 69 | mark_as_advanced(MYSQLCLIENT_INCLUDE_DIR MYSQLCLIENT_LIBRARY) | ||
diff --git a/project/cmake/modules/FindNFS.cmake b/project/cmake/modules/FindNFS.cmake deleted file mode 100644 index 646ee33..0000000 --- a/project/cmake/modules/FindNFS.cmake +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindNFS | ||
| 3 | # ------- | ||
| 4 | # Finds the libnfs library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # NFS_FOUND - system has libnfs | ||
| 9 | # NFS_INCLUDE_DIRS - the libnfs include directory | ||
| 10 | # NFS_LIBRARIES - the libnfs libraries | ||
| 11 | # NFS_DEFINITIONS - the libnfs compile definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # NFS::NFS - The libnfs library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_NFS libnfs QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(NFS_INCLUDE_DIR nfsc/libnfs.h | ||
| 22 | PATHS ${PC_NFS_INCLUDEDIR}) | ||
| 23 | |||
| 24 | set(NFS_VERSION ${PC_NFS_VERSION}) | ||
| 25 | |||
| 26 | include(FindPackageHandleStandardArgs) | ||
| 27 | if(NOT WIN32) | ||
| 28 | find_library(NFS_LIBRARY NAMES nfs | ||
| 29 | PATHS ${PC_NFS_LIBDIR}) | ||
| 30 | |||
| 31 | find_package_handle_standard_args(NFS | ||
| 32 | REQUIRED_VARS NFS_LIBRARY NFS_INCLUDE_DIR | ||
| 33 | VERSION_VAR NFS_VERSION) | ||
| 34 | else() | ||
| 35 | # Dynamically loaded DLL | ||
| 36 | find_package_handle_standard_args(NFS | ||
| 37 | REQUIRED_VARS NFS_INCLUDE_DIR | ||
| 38 | VERSION_VAR NFS_VERSION) | ||
| 39 | endif() | ||
| 40 | |||
| 41 | if(NFS_FOUND) | ||
| 42 | set(NFS_LIBRARIES ${NFS_LIBRARY}) | ||
| 43 | set(NFS_INCLUDE_DIRS ${NFS_INCLUDE_DIR}) | ||
| 44 | set(NFS_DEFINITIONS -DHAVE_LIBNFS=1) | ||
| 45 | |||
| 46 | if(NOT TARGET NFS::NFS) | ||
| 47 | add_library(NFS::NFS UNKNOWN IMPORTED) | ||
| 48 | if(NFS_LIBRARY) | ||
| 49 | set_target_properties(NFS::NFS PROPERTIES | ||
| 50 | IMPORTED_LOCATION "${NFS_LIBRARY_RELEASE}") | ||
| 51 | endif() | ||
| 52 | set_target_properties(NFS::NFS PROPERTIES | ||
| 53 | INTERFACE_INCLUDE_DIRECTORIES "${NFS_INCLUDE_DIR}" | ||
| 54 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBNFS=1) | ||
| 55 | endif() | ||
| 56 | endif() | ||
| 57 | |||
| 58 | mark_as_advanced(NFS_INCLUDE_DIR NFS_LIBRARY) | ||
diff --git a/project/cmake/modules/FindOpenGLES.cmake b/project/cmake/modules/FindOpenGLES.cmake deleted file mode 100644 index ab06f96..0000000 --- a/project/cmake/modules/FindOpenGLES.cmake +++ /dev/null | |||
| @@ -1,48 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindOpenGLES | ||
| 3 | # ------------ | ||
| 4 | # Finds the OpenGLES2 library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # OPENGLES_FOUND - system has OpenGLES | ||
| 9 | # OPENGLES_INCLUDE_DIRS - the OpenGLES include directory | ||
| 10 | # OPENGLES_LIBRARIES - the OpenGLES libraries | ||
| 11 | # OPENGLES_DEFINITIONS - the OpenGLES definitions | ||
| 12 | |||
| 13 | find_package(EMBEDDED) | ||
| 14 | |||
| 15 | if(PKG_CONFIG_FOUND AND NOT PLATFORM STREQUAL "raspberry-pi") | ||
| 16 | pkg_check_modules(PC_OPENGLES glesv2 QUIET) | ||
| 17 | if(NOT OPENGLES_FOUND AND EMBEDDED_FOUND) | ||
| 18 | set(CMAKE_PREFIX_PATH ${EMBEDDED_FOUND} ${CMAKE_PREFIX_PATH}) | ||
| 19 | endif() | ||
| 20 | endif() | ||
| 21 | |||
| 22 | if(NOT CORE_SYSTEM_NAME STREQUAL ios) | ||
| 23 | find_path(OPENGLES_INCLUDE_DIR GLES2/gl2.h | ||
| 24 | PATHS ${PC_OPENGLES_INCLUDEDIR}) | ||
| 25 | find_library(OPENGLES_gl_LIBRARY NAMES GLESv2 | ||
| 26 | PATHS ${PC_OPENGLES_LIBDIR}) | ||
| 27 | find_library(OPENGLES_egl_LIBRARY NAMES EGL | ||
| 28 | PATHS ${PC_OPENGLES_LIBDIR}) | ||
| 29 | else() | ||
| 30 | find_library(OPENGLES_gl_LIBRARY NAMES OpenGLES | ||
| 31 | PATHS ${CMAKE_OSX_SYSROOT}/System/Library | ||
| 32 | PATH_SUFFIXES Frameworks | ||
| 33 | NO_DEFAULT_PATH) | ||
| 34 | set(OPENGLES_INCLUDE_DIR ${OPENGLES_gl_LIBRARY}/Headers) | ||
| 35 | set(OPENGLES_egl_LIBRARY ${OPENGLES_gl_LIBRARY}) | ||
| 36 | endif() | ||
| 37 | |||
| 38 | include(FindPackageHandleStandardArgs) | ||
| 39 | find_package_handle_standard_args(OpenGLES | ||
| 40 | REQUIRED_VARS OPENGLES_gl_LIBRARY OPENGLES_egl_LIBRARY OPENGLES_INCLUDE_DIR) | ||
| 41 | |||
| 42 | if(OPENGLES_FOUND) | ||
| 43 | set(OPENGLES_INCLUDE_DIRS ${OPENGLES_INCLUDE_DIR}) | ||
| 44 | set(OPENGLES_LIBRARIES ${OPENGLES_gl_LIBRARY} ${OPENGLES_egl_LIBRARY}) | ||
| 45 | set(OPENGLES_DEFINITIONS -DHAVE_LIBGLESV2 -DHAVE_LIBEGL=1) | ||
| 46 | endif() | ||
| 47 | |||
| 48 | mark_as_advanced(OPENGLES_INCLUDE_DIR OPENGLES_gl_LIBRARY OPENGLES_egl_LIBRARY) | ||
diff --git a/project/cmake/modules/FindOpenGl.cmake b/project/cmake/modules/FindOpenGl.cmake deleted file mode 100644 index b8cff79..0000000 --- a/project/cmake/modules/FindOpenGl.cmake +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindOpenGl | ||
| 3 | # ---------- | ||
| 4 | # Finds the FindOpenGl library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # OPENGL_FOUND - system has OpenGl | ||
| 9 | # OPENGL_INCLUDE_DIRS - the OpenGl include directory | ||
| 10 | # OPENGL_LIBRARIES - the OpenGl libraries | ||
| 11 | # OPENGL_DEFINITIONS - the OpenGl definitions | ||
| 12 | |||
| 13 | if(PKG_CONFIG_FOUND) | ||
| 14 | pkg_check_modules(PC_OPENGL gl glu QUIET) | ||
| 15 | endif() | ||
| 16 | |||
| 17 | if(NOT CORE_SYSTEM_NAME STREQUAL osx) | ||
| 18 | find_path(OPENGL_INCLUDE_DIR GL/gl.h | ||
| 19 | PATHS ${PC_OPENGL_gl_INCLUDEDIR}) | ||
| 20 | find_library(OPENGL_gl_LIBRARY NAMES GL | ||
| 21 | PATHS ${PC_OPENGL_gl_LIBDIR}) | ||
| 22 | find_library(OPENGL_glu_LIBRARY NAMES GLU | ||
| 23 | PATHS ${PC_OPENGL_glu_LIBDIR}) | ||
| 24 | else() | ||
| 25 | find_library(OPENGL_gl_LIBRARY NAMES OpenGL | ||
| 26 | PATHS ${CMAKE_OSX_SYSROOT}/System/Library | ||
| 27 | PATH_SUFFIXES Frameworks | ||
| 28 | NO_DEFAULT_PATH) | ||
| 29 | set(OPENGL_INCLUDE_DIR ${OPENGL_gl_LIBRARY}/Headers) | ||
| 30 | set(OPENGL_glu_LIBRARY ${OPENGL_gl_LIBRARY}) | ||
| 31 | endif() | ||
| 32 | |||
| 33 | include(FindPackageHandleStandardArgs) | ||
| 34 | find_package_handle_standard_args(OpenGl | ||
| 35 | REQUIRED_VARS OPENGL_gl_LIBRARY OPENGL_glu_LIBRARY OPENGL_INCLUDE_DIR) | ||
| 36 | |||
| 37 | if(OPENGL_FOUND) | ||
| 38 | set(OPENGL_INCLUDE_DIRS ${OPENGL_INCLUDE_DIR}) | ||
| 39 | set(OPENGL_LIBRARIES ${OPENGL_gl_LIBRARY} ${OPENGL_glu_LIBRARY}) | ||
| 40 | set(OPENGL_DEFINITIONS -DHAVE_LIBGL=1) | ||
| 41 | endif() | ||
| 42 | |||
| 43 | mark_as_advanced(OPENGL_INCLUDE_DIR OPENGL_gl_LIBRARY OPENGL_glu_LIBRARY) | ||
diff --git a/project/cmake/modules/FindPCRE.cmake b/project/cmake/modules/FindPCRE.cmake deleted file mode 100644 index 8babed3..0000000 --- a/project/cmake/modules/FindPCRE.cmake +++ /dev/null | |||
| @@ -1,87 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindPCRE | ||
| 3 | # -------- | ||
| 4 | # Finds the PCRECPP library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # PCRE_FOUND - system has libpcrecpp | ||
| 9 | # PCRE_INCLUDE_DIRS - the libpcrecpp include directory | ||
| 10 | # PCRE_LIBRARIES - the libpcrecpp libraries | ||
| 11 | # PCRE_DEFINITIONS - the libpcrecpp definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # PCRE::PCRECPP - The PCRECPP library | ||
| 16 | # PCRE::PCRE - The PCRE library | ||
| 17 | |||
| 18 | if(PKG_CONFIG_FOUND) | ||
| 19 | pkg_check_modules(PC_PCRE libpcrecpp QUIET) | ||
| 20 | endif() | ||
| 21 | |||
| 22 | find_path(PCRE_INCLUDE_DIR pcrecpp.h | ||
| 23 | PATHS ${PC_PCRE_INCLUDEDIR}) | ||
| 24 | find_library(PCRECPP_LIBRARY_RELEASE NAMES pcrecpp | ||
| 25 | PATHS ${PC_PCRE_LIBDIR}) | ||
| 26 | find_library(PCRE_LIBRARY_RELEASE NAMES pcre | ||
| 27 | PATHS ${PC_PCRE_LIBDIR}) | ||
| 28 | find_library(PCRECPP_LIBRARY_DEBUG NAMES pcrecppd | ||
| 29 | PATHS ${PC_PCRE_LIBDIR}) | ||
| 30 | find_library(PCRE_LIBRARY_DEBUG NAMES pcred | ||
| 31 | PATHS ${PC_PCRE_LIBDIR}) | ||
| 32 | set(PCRE_VERSION ${PC_PCRE_VERSION}) | ||
| 33 | |||
| 34 | include(SelectLibraryConfigurations) | ||
| 35 | select_library_configurations(PCRECPP) | ||
| 36 | select_library_configurations(PCRE) | ||
| 37 | |||
| 38 | include(FindPackageHandleStandardArgs) | ||
| 39 | find_package_handle_standard_args(PCRE | ||
| 40 | REQUIRED_VARS PCRECPP_LIBRARY PCRE_LIBRARY PCRE_INCLUDE_DIR | ||
| 41 | VERSION_VAR PCRE_VERSION) | ||
| 42 | |||
| 43 | if(PCRE_FOUND) | ||
| 44 | set(PCRE_LIBRARIES ${PCRECPP_LIBRARY} ${PCRE_LIBRARY}) | ||
| 45 | set(PCRE_INCLUDE_DIRS ${PCRE_INCLUDE_DIR}) | ||
| 46 | if(WIN32) | ||
| 47 | set(PCRE_DEFINITIONS -DPCRE_STATIC=1) | ||
| 48 | endif() | ||
| 49 | |||
| 50 | if(NOT TARGET PCRE::PCRE) | ||
| 51 | add_library(PCRE::PCRE UNKNOWN IMPORTED) | ||
| 52 | if(PCRE_LIBRARY_RELEASE) | ||
| 53 | set_target_properties(PCRE::PCRE PROPERTIES | ||
| 54 | IMPORTED_CONFIGURATIONS RELEASE | ||
| 55 | IMPORTED_LOCATION "${PCRE_LIBRARY_RELEASE}") | ||
| 56 | endif() | ||
| 57 | if(PCRE_LIBRARY_DEBUG) | ||
| 58 | set_target_properties(PCRE::PCRE PROPERTIES | ||
| 59 | IMPORTED_CONFIGURATIONS DEBUG | ||
| 60 | IMPORTED_LOCATION "${PCRE_LIBRARY_DEBUG}") | ||
| 61 | endif() | ||
| 62 | set_target_properties(PCRE::PCRE PROPERTIES | ||
| 63 | INTERFACE_INCLUDE_DIRECTORIES "${PCRE_INCLUDE_DIR}") | ||
| 64 | if(WIN32) | ||
| 65 | set_target_properties(PCRE::PCRE PROPERTIES | ||
| 66 | INTERFACE_COMPILE_DEFINITIONS PCRE_STATIC=1) | ||
| 67 | endif() | ||
| 68 | |||
| 69 | endif() | ||
| 70 | if(NOT TARGET PCRE::PCRECPP) | ||
| 71 | add_library(PCRE::PCRECPP UNKNOWN IMPORTED) | ||
| 72 | if(PCRE_LIBRARY_RELEASE) | ||
| 73 | set_target_properties(PCRE::PCRECPP PROPERTIES | ||
| 74 | IMPORTED_CONFIGURATIONS RELEASE | ||
| 75 | IMPORTED_LOCATION "${PCRECPP_LIBRARY_RELEASE}") | ||
| 76 | endif() | ||
| 77 | if(PCRE_LIBRARY_DEBUG) | ||
| 78 | set_target_properties(PCRE::PCRECPP PROPERTIES | ||
| 79 | IMPORTED_CONFIGURATIONS DEBUG | ||
| 80 | IMPORTED_LOCATION "${PCRECPP_LIBRARY_DEBUG}") | ||
| 81 | endif() | ||
| 82 | set_target_properties(PCRE::PCRECPP PROPERTIES | ||
| 83 | INTERFACE_LINK_LIBRARIES PCRE::PCRE) | ||
| 84 | endif() | ||
| 85 | endif() | ||
| 86 | |||
| 87 | mark_as_advanced(PCRE_INCLUDE_DIR PCRECPP_LIBRARY PCRE_LIBRARY) | ||
diff --git a/project/cmake/modules/FindPlist.cmake b/project/cmake/modules/FindPlist.cmake deleted file mode 100644 index d7a6c48..0000000 --- a/project/cmake/modules/FindPlist.cmake +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindPlist | ||
| 3 | # --------- | ||
| 4 | # Finds the Plist library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # PLIST_FOUND - system has Plist library | ||
| 9 | # PLIST_INCLUDE_DIRS - the Plist library include directory | ||
| 10 | # PLIST_LIBRARIES - the Plist libraries | ||
| 11 | # PLIST_DEFINITIONS - the Plist compile definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # Plist::Plist - The Plist library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_PLIST libplist QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(PLIST_INCLUDE_DIR plist/plist.h | ||
| 22 | PATHS ${PC_PLIST_INCLUDEDIR}) | ||
| 23 | |||
| 24 | set(PLIST_VERSION ${PC_PLIST_VERSION}) | ||
| 25 | |||
| 26 | include(FindPackageHandleStandardArgs) | ||
| 27 | if(NOT WIN32) | ||
| 28 | find_library(PLIST_LIBRARY NAMES plist | ||
| 29 | PATHS ${PC_PLIST_LIBDIR}) | ||
| 30 | |||
| 31 | find_package_handle_standard_args(PLIST | ||
| 32 | REQUIRED_VARS PLIST_LIBRARY PLIST_INCLUDE_DIR | ||
| 33 | VERSION_VAR PLIST_VERSION) | ||
| 34 | else() | ||
| 35 | # Dynamically loaded DLL | ||
| 36 | find_package_handle_standard_args(PLIST | ||
| 37 | REQUIRED_VARS PLIST_INCLUDE_DIR | ||
| 38 | VERSION_VAR PLIST_VERSION) | ||
| 39 | endif() | ||
| 40 | |||
| 41 | if(PLIST_FOUND) | ||
| 42 | set(PLIST_LIBRARIES ${PLIST_LIBRARY}) | ||
| 43 | set(PLIST_INCLUDE_DIRS ${PLIST_INCLUDE_DIR}) | ||
| 44 | set(PLIST_DEFINITIONS -DHAVE_LIBPLIST=1) | ||
| 45 | |||
| 46 | if(NOT TARGET Plist::Plist) | ||
| 47 | add_library(Plist::Plist UNKNOWN IMPORTED) | ||
| 48 | if(PLIST_LIBRARY) | ||
| 49 | set_target_properties(Plist::Plist PROPERTIES | ||
| 50 | IMPORTED_LOCATION "${PLIST_LIBRARY}") | ||
| 51 | endif() | ||
| 52 | set_target_properties(Plist::Plist PROPERTIES | ||
| 53 | INTERFACE_INCLUDE_DIRECTORIES "${PLIST_INCLUDE_DIR}" | ||
| 54 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBPLIST=1) | ||
| 55 | endif() | ||
| 56 | endif() | ||
| 57 | |||
| 58 | mark_as_advanced(PLIST_INCLUDE_DIR PLIST_LIBRARY) | ||
diff --git a/project/cmake/modules/FindPulseAudio.cmake b/project/cmake/modules/FindPulseAudio.cmake deleted file mode 100644 index 5761005..0000000 --- a/project/cmake/modules/FindPulseAudio.cmake +++ /dev/null | |||
| @@ -1,68 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindPulseAudio | ||
| 3 | # -------------- | ||
| 4 | # Finds the PulseAudio library | ||
| 5 | # | ||
| 6 | # This will define the following variables:: | ||
| 7 | # | ||
| 8 | # PULSEAUDIO_FOUND - system has the PulseAudio library | ||
| 9 | # PULSEAUDIO_INCLUDE_DIRS - the PulseAudio include directory | ||
| 10 | # PULSEAUDIO_LIBRARIES - the libraries needed to use PulseAudio | ||
| 11 | # PULSEAUDIO_DEFINITIONS - the definitions needed to use PulseAudio | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # PulseAudio::PulseAudio - The PulseAudio library | ||
| 16 | |||
| 17 | if(NOT PulseAudio_FIND_VERSION) | ||
| 18 | set(PulseAudio_FIND_VERSION 2.0.0) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | if(PKG_CONFIG_FOUND) | ||
| 22 | pkg_check_modules(PC_PULSEAUDIO libpulse>=${PulseAudio_FIND_VERSION} QUIET) | ||
| 23 | pkg_check_modules(PC_PULSEAUDIO_MAINLOOP libpulse-mainloop-glib QUIET) | ||
| 24 | endif() | ||
| 25 | |||
| 26 | find_path(PULSEAUDIO_INCLUDE_DIR NAMES pulse/pulseaudio.h | ||
| 27 | PATHS ${PC_PULSEAUDIO_INCLUDEDIR} ${PC_PULSEAUDIO_INCLUDE_DIRS}) | ||
| 28 | |||
| 29 | find_library(PULSEAUDIO_LIBRARY NAMES pulse libpulse | ||
| 30 | PATHS ${PC_PULSEAUDIO_LIBDIR} ${PC_PULSEAUDIO_LIBRARY_DIRS}) | ||
| 31 | |||
| 32 | find_library(PULSEAUDIO_MAINLOOP_LIBRARY NAMES pulse-mainloop pulse-mainloop-glib libpulse-mainloop-glib | ||
| 33 | PATHS ${PC_PULSEAUDIO_LIBDIR} ${PC_PULSEAUDIO_LIBRARY_DIRS}) | ||
| 34 | |||
| 35 | if(PC_PULSEAUDIO_VERSION) | ||
| 36 | set(PULSEAUDIO_VERSION_STRING ${PC_PULSEAUDIO_VERSION}) | ||
| 37 | elseif(PULSEAUDIO_INCLUDE_DIR AND EXISTS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h") | ||
| 38 | file(STRINGS "${PULSEAUDIO_INCLUDE_DIR}/pulse/version.h" pulseaudio_version_str REGEX "^#define[\t ]+pa_get_headers_version\\(\\)[\t ]+\\(\".*\"\\).*") | ||
| 39 | string(REGEX REPLACE "^#define[\t ]+pa_get_headers_version\\(\\)[\t ]+\\(\"([^\"]+)\"\\).*" "\\1" PULSEAUDIO_VERSION_STRING "${pulseaudio_version_str}") | ||
| 40 | unset(pulseaudio_version_str) | ||
| 41 | endif() | ||
| 42 | |||
| 43 | include(FindPackageHandleStandardArgs) | ||
| 44 | find_package_handle_standard_args(PulseAudio | ||
| 45 | REQUIRED_VARS PULSEAUDIO_LIBRARY PULSEAUDIO_MAINLOOP_LIBRARY PULSEAUDIO_INCLUDE_DIR | ||
| 46 | VERSION_VAR PULSEAUDIO_VERSION_STRING) | ||
| 47 | |||
| 48 | if(PULSEAUDIO_FOUND) | ||
| 49 | set(PULSEAUDIO_INCLUDE_DIRS ${PULSEAUDIO_INCLUDE_DIR}) | ||
| 50 | set(PULSEAUDIO_LIBRARIES ${PULSEAUDIO_LIBRARY} ${PULSEAUDIO_MAINLOOP_LIBRARY}) | ||
| 51 | set(PULSEAUDIO_DEFINITIONS -DHAVE_LIBPULSE=1) | ||
| 52 | |||
| 53 | if(NOT TARGET PulseAudio::PulseAudioMainloop) | ||
| 54 | add_library(PulseAudio::PulseAudioMainloop UNKNOWN IMPORTED) | ||
| 55 | set_target_properties(PulseAudio::PulseAudioMainloop PROPERTIES | ||
| 56 | IMPORTED_LOCATION "${PULSEAUDIO_MAINLOOP_LIBRARY}") | ||
| 57 | endif() | ||
| 58 | if(NOT TARGET PulseAudio::PulseAudio) | ||
| 59 | add_library(PulseAudio::PulseAudio UNKNOWN IMPORTED) | ||
| 60 | set_target_properties(PulseAudio::PulseAudio PROPERTIES | ||
| 61 | IMPORTED_LOCATION "${PULSEAUDIO_LIBRARY}" | ||
| 62 | INTERFACE_INCLUDE_DIRECTORIES "${PULSEAUDIO_INCLUDE_DIR}" | ||
| 63 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBPULSE=1 | ||
| 64 | INTERFACE_LINK_LIBRARIES PulseAudio::PulseAudioMainloop) | ||
| 65 | endif() | ||
| 66 | endif() | ||
| 67 | |||
| 68 | mark_as_advanced(PULSEAUDIO_INCLUDE_DIR PULSEAUDIO_LIBRARY PULSEAUDIO_MAINLOOP_LIBRARY) | ||
diff --git a/project/cmake/modules/FindPython.cmake b/project/cmake/modules/FindPython.cmake deleted file mode 100644 index 68b7359..0000000 --- a/project/cmake/modules/FindPython.cmake +++ /dev/null | |||
| @@ -1,38 +0,0 @@ | |||
| 1 | # - Try to find python | ||
| 2 | # Once done this will define | ||
| 3 | # | ||
| 4 | # PYTHON_FOUND - system has PYTHON | ||
| 5 | # PYTHON_INCLUDE_DIRS - the python include directory | ||
| 6 | # PYTHON_LIBRARIES - The python libraries | ||
| 7 | |||
| 8 | if(PKG_CONFIG_FOUND) | ||
| 9 | pkg_check_modules(PC_PYTHON python >= 2.7 QUIET) | ||
| 10 | endif() | ||
| 11 | |||
| 12 | find_program(PYTHON_EXECUTABLE python ONLY_CMAKE_FIND_ROOT_PATH) | ||
| 13 | find_library(PYTHON_LIBRARY NAMES python2.7 PATHS ${PC_PYTHON_LIBDIR}) | ||
| 14 | find_path(PYTHON_INCLUDE_DIR NAMES Python.h PATHS ${PC_PYTHON_INCLUDE_DIRS} ${DEPENDS_PATH}/include/python2.7) | ||
| 15 | |||
| 16 | if(CMAKE_CROSSCOMPILING) | ||
| 17 | find_library(FFI_LIBRARY ffi REQUIRED) | ||
| 18 | find_library(EXPAT_LIBRARY expat REQUIRED) | ||
| 19 | find_library(INTL_LIBRARY intl REQUIRED) | ||
| 20 | find_library(GMP_LIBRARY gmp REQUIRED) | ||
| 21 | |||
| 22 | if(NOT CORE_SYSTEM_NAME STREQUAL android) | ||
| 23 | set(PYTHON_DEP_LIBRARIES -lpthread -ldl -lutil) | ||
| 24 | endif() | ||
| 25 | |||
| 26 | set(PYTHON_LIBRARIES ${PYTHON_LIBRARY} ${FFI_LIBRARY} ${EXPAT_LIBRARY} ${INTL_LIBRARY} ${GMP_LIBRARY} ${PYTHON_DEP_LIBRARIES}) | ||
| 27 | else() | ||
| 28 | find_package(PythonLibs 2.7 REQUIRED) | ||
| 29 | endif() | ||
| 30 | |||
| 31 | |||
| 32 | include(FindPackageHandleStandardArgs) | ||
| 33 | find_package_handle_standard_args(PYTHON REQUIRED_VARS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES) | ||
| 34 | if(PYTHON_FOUND) | ||
| 35 | set(PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_DIR}) | ||
| 36 | endif() | ||
| 37 | |||
| 38 | mark_as_advanced(PYTHON_EXECUTABLE PYTHON_INCLUDE_DIRS PYTHON_INCLUDE_DIR PYTHON_LIBRARY PYTHON_LIBRARIES PYTHON_LDFLAGS FFI_LIBRARY EXPAT_LIBRARY INTL_LIBRARY GMP_LIBRARY) | ||
diff --git a/project/cmake/modules/FindSSE.cmake b/project/cmake/modules/FindSSE.cmake deleted file mode 100644 index 0554663..0000000 --- a/project/cmake/modules/FindSSE.cmake +++ /dev/null | |||
| @@ -1,143 +0,0 @@ | |||
| 1 | # Check if SSE instructions are available on the machine where | ||
| 2 | # the project is compiled. | ||
| 3 | include(TestCXXAcceptsFlag) | ||
| 4 | |||
| 5 | if(CMAKE_SYSTEM_NAME MATCHES "Linux") | ||
| 6 | if(CPU MATCHES "x86_64" OR CPU MATCHES "i.86") | ||
| 7 | exec_program(cat ARGS "/proc/cpuinfo" OUTPUT_VARIABLE CPUINFO) | ||
| 8 | |||
| 9 | string(REGEX REPLACE "^.*(sse).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 10 | string(COMPARE EQUAL "sse" "${_SSE_THERE}" _SSE_TRUE) | ||
| 11 | CHECK_CXX_ACCEPTS_FLAG("-msse" _SSE_OK) | ||
| 12 | |||
| 13 | string(REGEX REPLACE "^.*(sse2).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 14 | string(COMPARE EQUAL "sse2" "${_SSE_THERE}" _SSE2_TRUE) | ||
| 15 | CHECK_CXX_ACCEPTS_FLAG("-msse2" _SSE2_OK) | ||
| 16 | |||
| 17 | # /proc/cpuinfo apparently omits sse3 :( | ||
| 18 | string(REGEX REPLACE "^.*[^s](sse3).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 19 | string(COMPARE EQUAL "sse3" "${_SSE_THERE}" _SSE3_TRUE) | ||
| 20 | if(NOT _SSE3_TRUE) | ||
| 21 | string(REGEX REPLACE "^.*(T2300).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 22 | string(COMPARE EQUAL "T2300" "${_SSE_THERE}" _SSE3_TRUE) | ||
| 23 | endif() | ||
| 24 | CHECK_CXX_ACCEPTS_FLAG("-msse3" _SSE3_OK) | ||
| 25 | |||
| 26 | string(REGEX REPLACE "^.*(ssse3).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 27 | string(COMPARE EQUAL "ssse3" "${_SSE_THERE}" _SSSE3_TRUE) | ||
| 28 | CHECK_CXX_ACCEPTS_FLAG("-mssse3" _SSSE3_OK) | ||
| 29 | |||
| 30 | string(REGEX REPLACE "^.*(sse4_1).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 31 | string(COMPARE EQUAL "sse4_1" "${_SSE_THERE}" _SSE41_TRUE) | ||
| 32 | CHECK_CXX_ACCEPTS_FLAG("-msse4.1" _SSE41_OK) | ||
| 33 | |||
| 34 | string(REGEX REPLACE "^.*(sse4_2).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 35 | string(COMPARE EQUAL "sse4_2" "${_SSE_THERE}" _SSE42_TRUE) | ||
| 36 | CHECK_CXX_ACCEPTS_FLAG("-msse4.2" _SSE42_OK) | ||
| 37 | |||
| 38 | string(REGEX REPLACE "^.*(avx).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 39 | string(COMPARE EQUAL "avx" "${_SSE_THERE}" _AVX_TRUE) | ||
| 40 | CHECK_CXX_ACCEPTS_FLAG("-mavx" _AVX_OK) | ||
| 41 | |||
| 42 | string(REGEX REPLACE "^.*(avx2).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 43 | string(COMPARE EQUAL "avx2" "${_SSE_THERE}" _AVX2_TRUE) | ||
| 44 | CHECK_CXX_ACCEPTS_FLAG("-mavx2" _AVX2_OK) | ||
| 45 | endif() | ||
| 46 | elseif(CMAKE_SYSTEM_NAME MATCHES "Darwin") | ||
| 47 | if(NOT CPU MATCHES "arm") | ||
| 48 | exec_program("/usr/sbin/sysctl -n machdep.cpu.features machdep.cpu.leaf7_features" OUTPUT_VARIABLE CPUINFO) | ||
| 49 | |||
| 50 | string(REGEX REPLACE "^.*[^S](SSE).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 51 | string(COMPARE EQUAL "SSE" "${_SSE_THERE}" _SSE_TRUE) | ||
| 52 | CHECK_CXX_ACCEPTS_FLAG("-msse" _SSE_OK) | ||
| 53 | |||
| 54 | string(REGEX REPLACE "^.*[^S](SSE2).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 55 | string(COMPARE EQUAL "SSE2" "${_SSE_THERE}" _SSE2_TRUE) | ||
| 56 | CHECK_CXX_ACCEPTS_FLAG("-msse2" _SSE2_OK) | ||
| 57 | |||
| 58 | string(REGEX REPLACE "^.*[^S](SSE3).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 59 | string(COMPARE EQUAL "SSE3" "${_SSE_THERE}" _SSE3_TRUE) | ||
| 60 | CHECK_CXX_ACCEPTS_FLAG("-msse3" _SSE3_OK) | ||
| 61 | |||
| 62 | string(REGEX REPLACE "^.*(SSSE3).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 63 | string(COMPARE EQUAL "SSSE3" "${_SSE_THERE}" _SSSE3_TRUE) | ||
| 64 | CHECK_CXX_ACCEPTS_FLAG("-mssse3" _SSSE3_OK) | ||
| 65 | |||
| 66 | string(REGEX REPLACE "^.*(SSE4.1).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 67 | string(COMPARE EQUAL "SSE4.1" "${_SSE_THERE}" _SSE41_TRUE) | ||
| 68 | CHECK_CXX_ACCEPTS_FLAG("-msse4.1" _SSE41_OK) | ||
| 69 | |||
| 70 | string(REGEX REPLACE "^.*(SSE4.2).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 71 | string(COMPARE EQUAL "SSE4.2" "${_SSE_THERE}" _SSE42_TRUE) | ||
| 72 | CHECK_CXX_ACCEPTS_FLAG("-msse4.2" _SSE42_OK) | ||
| 73 | |||
| 74 | string(REGEX REPLACE "^.*(AVX).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 75 | string(COMPARE EQUAL "AVX" "${_SSE_THERE}" _AVX_TRUE) | ||
| 76 | CHECK_CXX_ACCEPTS_FLAG("-mavx" _AVX_OK) | ||
| 77 | |||
| 78 | string(REGEX REPLACE "^.*(AVX2).*$" "\\1" _SSE_THERE ${CPUINFO}) | ||
| 79 | string(COMPARE EQUAL "AVX2" "${_SSE_THERE}" _AVX2_TRUE) | ||
| 80 | CHECK_CXX_ACCEPTS_FLAG("-mavx2" _AVX2_OK) | ||
| 81 | endif() | ||
| 82 | elseif(CMAKE_SYSTEM_NAME MATCHES "Windows") | ||
| 83 | # TODO | ||
| 84 | set(_SSE_TRUE true) | ||
| 85 | set(_SSE_OK true) | ||
| 86 | set(_SSE2_TRUE true) | ||
| 87 | set(_SSE2_OK true) | ||
| 88 | endif() | ||
| 89 | |||
| 90 | include(FindPackageHandleStandardArgs) | ||
| 91 | find_package_handle_standard_args(SSE | ||
| 92 | REQUIRED_VARS _SSE_TRUE _SSE_OK | ||
| 93 | FAIL_MESSAGE "Could not find hardware support for SSE") | ||
| 94 | find_package_handle_standard_args(SSE2 | ||
| 95 | REQUIRED_VARS _SSE2_TRUE _SSE2_OK | ||
| 96 | FAIL_MESSAGE "Could not find hardware support for SSE2") | ||
| 97 | find_package_handle_standard_args(SSE3 | ||
| 98 | REQUIRED_VARS _SSE3_TRUE _SSE3_OK | ||
| 99 | FAIL_MESSAGE "Could not find hardware support for SSE3") | ||
| 100 | find_package_handle_standard_args(SSSE3 | ||
| 101 | REQUIRED_VARS _SSSE3_TRUE _SSSE3_OK | ||
| 102 | FAIL_MESSAGE "Could not find hardware support for SSSE3") | ||
| 103 | find_package_handle_standard_args(SSE4_1 | ||
| 104 | REQUIRED_VARS _SSE41_TRUE _SSE41_OK | ||
| 105 | FAIL_MESSAGE "Could not find hardware support for SSE4.1") | ||
| 106 | find_package_handle_standard_args(SSE4_2 | ||
| 107 | REQUIRED_VARS _SSE42_TRUE _SSE42_OK | ||
| 108 | FAIL_MESSAGE "Could not find hardware support for SSE4.2") | ||
| 109 | find_package_handle_standard_args(AVX | ||
| 110 | REQUIRED_VARS _AVX_TRUE _AVX_OK | ||
| 111 | FAIL_MESSAGE "Could not find hardware support for AVX") | ||
| 112 | find_package_handle_standard_args(AVX2 | ||
| 113 | REQUIRED_VARS _AVX2_TRUE _AVX2_OK | ||
| 114 | FAIL_MESSAGE "Could not find hardware support for AVX2") | ||
| 115 | |||
| 116 | mark_as_advanced(SSE2_FOUND SSE3_FOUND SSSE3_FOUND SSE4_1_FOUND SSE4_2_FOUND AVX_FOUND AVX2_FOUND) | ||
| 117 | |||
| 118 | unset(_SSE_THERE) | ||
| 119 | unset(_SSE_TRUE) | ||
| 120 | unset(_SSE_OK) | ||
| 121 | unset(_SSE_OK CACHE) | ||
| 122 | unset(_SSE2_TRUE) | ||
| 123 | unset(_SSE2_OK) | ||
| 124 | unset(_SSE2_OK CACHE) | ||
| 125 | unset(_SSE3_TRUE) | ||
| 126 | unset(_SSE3_OK) | ||
| 127 | unset(_SSE3_OK CACHE) | ||
| 128 | unset(_SSSE3_TRUE) | ||
| 129 | unset(_SSSE3_OK) | ||
| 130 | unset(_SSSE3_OK CACHE) | ||
| 131 | unset(_SSE4_1_TRUE) | ||
| 132 | unset(_SSE41_OK) | ||
| 133 | unset(_SSE41_OK CACHE) | ||
| 134 | unset(_SSE4_2_TRUE) | ||
| 135 | unset(_SSE42_OK) | ||
| 136 | unset(_SSE42_OK CACHE) | ||
| 137 | unset(_AVX_TRUE) | ||
| 138 | unset(_AVX_OK) | ||
| 139 | unset(_AVX_OK CACHE) | ||
| 140 | unset(_AVX2_TRUE) | ||
| 141 | unset(_AVX2_OK) | ||
| 142 | unset(_AVX2_OK CACHE) | ||
| 143 | |||
diff --git a/project/cmake/modules/FindSSH.cmake b/project/cmake/modules/FindSSH.cmake deleted file mode 100644 index 538c699..0000000 --- a/project/cmake/modules/FindSSH.cmake +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindSSH | ||
| 3 | # ------- | ||
| 4 | # Finds the SSH library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # SSH_FOUND - system has SSH | ||
| 9 | # SSH_INCLUDE_DIRS - the SSH include directory | ||
| 10 | # SSH_LIBRARIES - the SSH libraries | ||
| 11 | # SSH_DEFINITIONS - the SSH definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # SSH::SSH - The SSH library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_SSH libssh QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(SSH_INCLUDE_DIR NAMES libssh/libssh.h | ||
| 22 | PATHS ${PC_SSH_INCLUDEDIR}) | ||
| 23 | find_library(SSH_LIBRARY NAMES ssh | ||
| 24 | PATHS ${PC_SSH_LIBDIR}) | ||
| 25 | |||
| 26 | set(SSH_VERSION ${PC_SSH_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(SSH | ||
| 30 | REQUIRED_VARS SSH_LIBRARY SSH_INCLUDE_DIR | ||
| 31 | VERSION_VAR SSH_VERSION) | ||
| 32 | |||
| 33 | if(SSH_FOUND) | ||
| 34 | set(SSH_LIBRARIES ${SSH_LIBRARY}) | ||
| 35 | set(SSH_INCLUDE_DIRS ${SSH_INCLUDE_DIR}) | ||
| 36 | set(SSH_DEFINITIONS -DHAVE_LIBSSH=1) | ||
| 37 | |||
| 38 | if(NOT TARGET SSH::SSH) | ||
| 39 | add_library(SSH::SSH UNKNOWN IMPORTED) | ||
| 40 | set_target_properties(SSH::SSH PROPERTIES | ||
| 41 | IMPORTED_LOCATION "${SSH_LIBRARY}" | ||
| 42 | INTERFACE_INCLUDE_DIRECTORIES "${SSH_INCLUDE_DIR}" | ||
| 43 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBSSH=1) | ||
| 44 | endif() | ||
| 45 | endif() | ||
| 46 | |||
| 47 | mark_as_advanced(SSH_INCLUDE_DIR SSH_LIBRARY) | ||
diff --git a/project/cmake/modules/FindSWIG.cmake b/project/cmake/modules/FindSWIG.cmake deleted file mode 100644 index 523b49b..0000000 --- a/project/cmake/modules/FindSWIG.cmake +++ /dev/null | |||
| @@ -1,29 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindSWIG | ||
| 3 | # -------- | ||
| 4 | # Finds the SWIG executable | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # SWIG_FOUND - system has SWIG | ||
| 9 | # SWIG_EXECUTABLE - the SWIG executable | ||
| 10 | |||
| 11 | find_program(SWIG_EXECUTABLE NAMES swig3.0 swig2.0 swig | ||
| 12 | PATH_SUFFIXES swig) | ||
| 13 | if(SWIG_EXECUTABLE) | ||
| 14 | execute_process(COMMAND ${SWIG_EXECUTABLE} -swiglib | ||
| 15 | OUTPUT_VARIABLE SWIG_DIR | ||
| 16 | ERROR_VARIABLE SWIG_swiglib_error | ||
| 17 | RESULT_VARIABLE SWIG_swiglib_result) | ||
| 18 | execute_process(COMMAND ${SWIG_EXECUTABLE} -version | ||
| 19 | OUTPUT_VARIABLE SWIG_version_output | ||
| 20 | ERROR_VARIABLE SWIG_version_output | ||
| 21 | RESULT_VARIABLE SWIG_version_result) | ||
| 22 | string(REGEX REPLACE ".*SWIG Version[^0-9.]*\([0-9.]+\).*" "\\1" | ||
| 23 | SWIG_VERSION "${SWIG_version_output}") | ||
| 24 | endif() | ||
| 25 | |||
| 26 | include(FindPackageHandleStandardArgs) | ||
| 27 | find_package_handle_standard_args(SWIG | ||
| 28 | REQUIRED_VARS SWIG_EXECUTABLE SWIG_DIR | ||
| 29 | VERSION_VAR SWIG_VERSION) | ||
diff --git a/project/cmake/modules/FindSdl.cmake b/project/cmake/modules/FindSdl.cmake deleted file mode 100644 index 91bcac5..0000000 --- a/project/cmake/modules/FindSdl.cmake +++ /dev/null | |||
| @@ -1,46 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindSDL | ||
| 3 | # ------- | ||
| 4 | # Finds the SDL library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # SDL_FOUND - system has SDL | ||
| 9 | # SDL_INCLUDE_DIRS - the SDL include directory | ||
| 10 | # SDL_LIBRARIES - the SDL libraries | ||
| 11 | # SDL_DEFINITIONS - the SDL compile definitions | ||
| 12 | |||
| 13 | if(PKG_CONFIG_FOUND) | ||
| 14 | pkg_check_modules(PC_SDL2 sdl2 QUIET) | ||
| 15 | if(PC_SDL2_FOUND) | ||
| 16 | set(SDL_VERSION ${PC_SDL2_VERSION}) | ||
| 17 | else() | ||
| 18 | pkg_check_modules(PC_SDL1 sdl QUIET) | ||
| 19 | if(PC_SDL1_FOUND) | ||
| 20 | set(SDL_VERSION ${PC_SDL1_VERSION}) | ||
| 21 | endif() | ||
| 22 | endif() | ||
| 23 | endif() | ||
| 24 | |||
| 25 | find_path(SDL_INCLUDE_DIR SDL/SDL.h | ||
| 26 | PATHS ${PC_SDL2_INCLUDE_DIR} ${PC_SDL1_INCLUDE_DIR}) | ||
| 27 | find_library(SDL_LIBRARY NAMES SDL2 SDL | ||
| 28 | PATHS ${PC_SDL2_LIBDIR} ${PC_SDL1_LIBDIR}) | ||
| 29 | |||
| 30 | include(FindPackageHandleStandardArgs) | ||
| 31 | find_package_handle_standard_args(Sdl REQUIRED_VARS SDL_LIBRARY SDL_INCLUDE_DIR | ||
| 32 | VERSION_VAR SDL_VERSION) | ||
| 33 | |||
| 34 | if(SDL_FOUND) | ||
| 35 | set(SDL_LIBRARIES ${SDL_LIBRARY}) | ||
| 36 | set(SDL_INCLUDE_DIRS ${SDL_INCLUDE_DIR}) | ||
| 37 | set(SDL_DEFINITIONS -DHAVE_SDL=1) | ||
| 38 | |||
| 39 | if(SDL_VERSION VERSION_GREATER 2) | ||
| 40 | list(APPEND SDL_DEFINITIONS -DHAVE_SDL_VERSION=2) | ||
| 41 | elseif(SDL_VERSION VERSION_GREATER 1) | ||
| 42 | list(APPEND SDL_DEFINITIONS -DHAVE_SDL_VERSION=1) | ||
| 43 | endif() | ||
| 44 | endif() | ||
| 45 | |||
| 46 | mark_as_advanced(SDL_LIBRARY SDL_INCLUDE_DIR) | ||
diff --git a/project/cmake/modules/FindShairplay.cmake b/project/cmake/modules/FindShairplay.cmake deleted file mode 100644 index 87d3107..0000000 --- a/project/cmake/modules/FindShairplay.cmake +++ /dev/null | |||
| @@ -1,63 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindShairplay | ||
| 3 | # ------------- | ||
| 4 | # Finds the Shairplay library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # SHAIRPLAY_FOUND - system has Shairplay | ||
| 9 | # SHAIRPLAY_INCLUDE_DIRS - the Shairplay include directory | ||
| 10 | # SHAIRPLAY_LIBRARIES - the Shairplay libraries | ||
| 11 | # SHAIRPLAY_DEFINITIONS - the Shairplay compile definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # Shairplay::Shairplay - The Shairplay library | ||
| 16 | |||
| 17 | find_path(SHAIRPLAY_INCLUDE_DIR shairplay/raop.h) | ||
| 18 | |||
| 19 | include(FindPackageHandleStandardArgs) | ||
| 20 | if(NOT WIN32) | ||
| 21 | find_library(SHAIRPLAY_LIBRARY NAMES shairplay) | ||
| 22 | |||
| 23 | if(SHAIRPLAY_INCLUDE_DIR AND SHAIRPLAY_LIBRARY) | ||
| 24 | include(CheckCSourceCompiles) | ||
| 25 | set(CMAKE_REQUIRED_INCLUDES ${SHAIRPLAY_INCLUDE_DIRS}) | ||
| 26 | set(CMAKE_REQUIRED_LIBRARIES ${SHAIRPLAY_LIBRARIES}) | ||
| 27 | check_c_source_compiles("#include <shairplay/raop.h> | ||
| 28 | |||
| 29 | int main() | ||
| 30 | { | ||
| 31 | struct raop_callbacks_s foo; | ||
| 32 | foo.cls; | ||
| 33 | return 0; | ||
| 34 | } | ||
| 35 | " HAVE_SHAIRPLAY_CALLBACK_CLS) | ||
| 36 | endif() | ||
| 37 | |||
| 38 | find_package_handle_standard_args(Shairplay | ||
| 39 | REQUIRED_VARS SHAIRPLAY_LIBRARY SHAIRPLAY_INCLUDE_DIR HAVE_SHAIRPLAY_CALLBACK_CLS) | ||
| 40 | else() | ||
| 41 | # Dynamically loaded DLL | ||
| 42 | find_package_handle_standard_args(Shairplay | ||
| 43 | REQUIRED_VARS SHAIRPLAY_INCLUDE_DIR) | ||
| 44 | endif() | ||
| 45 | |||
| 46 | if(SHAIRPLAY_FOUND) | ||
| 47 | set(SHAIRPLAY_LIBRARIES ${SHAIRPLAY_LIBRARY}) | ||
| 48 | set(SHAIRPLAY_INCLUDE_DIRS ${SHAIRPLAY_INCLUDE_DIR}) | ||
| 49 | set(SHAIRPLAY_DEFINITIONS -DHAVE_LIBSHAIRPLAY=1) | ||
| 50 | |||
| 51 | if(NOT TARGET Shairplay::Shairplay) | ||
| 52 | add_library(Shairplay::Shairplay UNKNOWN IMPORTED) | ||
| 53 | if(SHAIRPLAY_LIBRARY) | ||
| 54 | set_target_properties(Shairplay::Shairplay PROPERTIES | ||
| 55 | IMPORTED_LOCATION "${SHAIRPLAY_LIBRARY}") | ||
| 56 | endif() | ||
| 57 | set_target_properties(Shairplay::Shairplay PROPERTIES | ||
| 58 | INTERFACE_INCLUDE_DIRECTORIES "${SHAIRPLAY_INCLUDE_DIR}" | ||
| 59 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBSHAIRPLAY=1) | ||
| 60 | endif() | ||
| 61 | endif() | ||
| 62 | |||
| 63 | mark_as_advanced(SHAIRPLAY_INCLUDE_DIR SHAIRPLAY_LIBRARY) | ||
diff --git a/project/cmake/modules/FindSmbClient.cmake b/project/cmake/modules/FindSmbClient.cmake deleted file mode 100644 index 6455cce..0000000 --- a/project/cmake/modules/FindSmbClient.cmake +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindSmbClient | ||
| 3 | # ------------- | ||
| 4 | # Finds the SMB Client library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # SMBCLIENT_FOUND - system has SmbClient | ||
| 9 | # SMBCLIENT_INCLUDE_DIRS - the SmbClient include directory | ||
| 10 | # SMBCLIENT_LIBRARIES - the SmbClient libraries | ||
| 11 | # SMBCLIENT_DEFINITIONS - the SmbClient definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # SmbClient::SmbClient - The SmbClient library | ||
| 16 | |||
| 17 | if(PKGCONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_SMBCLIENT smbclient QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(SMBCLIENT_INCLUDE_DIR NAMES libsmbclient.h | ||
| 22 | PATHS ${PC_SMBCLIENT_INCLUDEDIR}) | ||
| 23 | find_library(SMBCLIENT_LIBRARY NAMES smbclient | ||
| 24 | PATHS ${PC_SMBCLIENT_LIBDIR}) | ||
| 25 | |||
| 26 | set(SMBCLIENT_VERSION ${PC_SMBCLIENT_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(SmbClient | ||
| 30 | REQUIRED_VARS SMBCLIENT_LIBRARY SMBCLIENT_INCLUDE_DIR | ||
| 31 | VERSION_VAR SMBCLIENT_VERSION) | ||
| 32 | |||
| 33 | if(SMBCLIENT_FOUND) | ||
| 34 | set(SMBCLIENT_LIBRARIES ${SMBCLIENT_LIBRARY}) | ||
| 35 | set(SMBCLIENT_INCLUDE_DIRS ${SMBCLIENT_INCLUDE_DIR}) | ||
| 36 | set(SMBCLIENT_DEFINITIONS -DHAVE_LIBSMBCLIENT=1) | ||
| 37 | |||
| 38 | if(NOT TARGET SmbClient::SmbClient) | ||
| 39 | add_library(SmbClient::SmbClient UNKNOWN IMPORTED) | ||
| 40 | set_target_properties(SmbClient::SmbClient PROPERTIES | ||
| 41 | IMPORTED_LOCATION "${SMBCLIENT_LIBRARY}" | ||
| 42 | INTERFACE_INCLUDE_DIRECTORIES "${SMBCLIENT_INCLUDE_DIR}" | ||
| 43 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBSMBCLIENT=1) | ||
| 44 | endif() | ||
| 45 | endif() | ||
| 46 | |||
| 47 | mark_as_advanced(LIBSMBCLIENT_INCLUDE_DIR LIBSMBCLIENT_LIBRARY) | ||
diff --git a/project/cmake/modules/FindSqlite3.cmake b/project/cmake/modules/FindSqlite3.cmake deleted file mode 100644 index abde0cf..0000000 --- a/project/cmake/modules/FindSqlite3.cmake +++ /dev/null | |||
| @@ -1,44 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindSqlite3 | ||
| 3 | # ----------- | ||
| 4 | # Finds the SQLite3 library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # SQLITE3_FOUND - system has SQLite3 | ||
| 9 | # SQLITE3_INCLUDE_DIRS - the SQLite3 include directory | ||
| 10 | # SQLITE3_LIBRARIES - the SQLite3 libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # SQLite3::SQLite3 - The SQLite3 library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_SQLITE3 sqlite3 QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(SQLITE3_INCLUDE_DIR NAMES sqlite3.h | ||
| 21 | PATHS ${PC_SQLITE3_INCLUDEDIR}) | ||
| 22 | find_library(SQLITE3_LIBRARY NAMES sqlite3 | ||
| 23 | PATHS ${PC_SQLITE3_LIBDIR}) | ||
| 24 | |||
| 25 | set(SQLITE3_VERSION ${PC_SQLITE3_VERSION}) | ||
| 26 | |||
| 27 | include(FindPackageHandleStandardArgs) | ||
| 28 | find_package_handle_standard_args(Sqlite3 | ||
| 29 | REQUIRED_VARS SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR | ||
| 30 | VERSION_VAR SQLITE3_VERSION) | ||
| 31 | |||
| 32 | if(SQLITE3_FOUND) | ||
| 33 | set(SQLITE3_INCLUDE_DIRS ${SQLITE3_INCLUDE_DIR}) | ||
| 34 | set(SQLITE3_LIBRARIES ${SQLITE3_LIBRARY}) | ||
| 35 | |||
| 36 | if(NOT TARGET SQLite3::SQLite3) | ||
| 37 | add_library(SQLite3::SQLite3 UNKNOWN IMPORTED) | ||
| 38 | set_target_properties(SQLite3::SQLite3 PROPERTIES | ||
| 39 | IMPORTED_LOCATION "${SQLITE3_LIBRARY}" | ||
| 40 | INTERFACE_INCLUDE_DIRECTORIES "${SQLITE3_INCLUDE_DIR}") | ||
| 41 | endif() | ||
| 42 | endif() | ||
| 43 | |||
| 44 | mark_as_advanced(SQLITE3_INCLUDE_DIR SQLITE3_LIBRARY) | ||
diff --git a/project/cmake/modules/FindTagLib.cmake b/project/cmake/modules/FindTagLib.cmake deleted file mode 100644 index 8c8c2f3..0000000 --- a/project/cmake/modules/FindTagLib.cmake +++ /dev/null | |||
| @@ -1,60 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindTagLib | ||
| 3 | # ---------- | ||
| 4 | # Finds the TagLib library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # TAGLIB_FOUND - system has TagLib | ||
| 9 | # TAGLIB_INCLUDE_DIRS - the TagLib include directory | ||
| 10 | # TAGLIB_LIBRARIES - the TagLib libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # TagLib::TagLib - The TagLib library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_TAGLIB taglib>=1.9.0 QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(TAGLIB_INCLUDE_DIR taglib/tag.h | ||
| 21 | PATHS ${PC_TAGLIB_INCLUDEDIR}) | ||
| 22 | find_library(TAGLIB_LIBRARY_RELEASE NAMES tag | ||
| 23 | PATHS ${PC_TAGLIB_LIBDIR}) | ||
| 24 | find_library(TAGLIB_LIBRARY_DEBUG NAMES tagd | ||
| 25 | PATHS ${PC_TAGLIB_LIBDIR}) | ||
| 26 | set(TAGLIB_VERSION ${PC_TAGLIB_VERSION}) | ||
| 27 | |||
| 28 | include(SelectLibraryConfigurations) | ||
| 29 | select_library_configurations(TAGLIB) | ||
| 30 | |||
| 31 | include(FindPackageHandleStandardArgs) | ||
| 32 | find_package_handle_standard_args(TagLib | ||
| 33 | REQUIRED_VARS TAGLIB_LIBRARY TAGLIB_INCLUDE_DIR | ||
| 34 | VERSION_VAR TAGLIB_VERSION) | ||
| 35 | |||
| 36 | if(TAGLIB_FOUND) | ||
| 37 | set(TAGLIB_LIBRARIES ${TAGLIB_LIBRARY}) | ||
| 38 | |||
| 39 | # Workaround broken .pc file | ||
| 40 | list(APPEND TAGLIB_LIBRARIES ${PC_TAGLIB_ZLIB_LIBRARIES}) | ||
| 41 | |||
| 42 | set(TAGLIB_INCLUDE_DIRS ${TAGLIB_INCLUDE_DIR}) | ||
| 43 | if(NOT TARGET TagLib::TagLib) | ||
| 44 | add_library(TagLib::TagLib UNKNOWN IMPORTED) | ||
| 45 | if(TAGLIB_LIBRARY_RELEASE) | ||
| 46 | set_target_properties(TagLib::TagLib PROPERTIES | ||
| 47 | IMPORTED_CONFIGURATIONS RELEASE | ||
| 48 | IMPORTED_LOCATION "${TAGLIB_LIBRARY_RELEASE}") | ||
| 49 | endif() | ||
| 50 | if(TAGLIB_LIBRARY_DEBUG) | ||
| 51 | set_target_properties(TagLib::TagLib PROPERTIES | ||
| 52 | IMPORTED_CONFIGURATIONS DEBUG | ||
| 53 | IMPORTED_LOCATION "${TAGLIB_LIBRARY_DEBUG}") | ||
| 54 | endif() | ||
| 55 | set_target_properties(TagLib::TagLib PROPERTIES | ||
| 56 | INTERFACE_INCLUDE_DIRECTORIES "${TAGLIB_INCLUDE_DIR}") | ||
| 57 | endif() | ||
| 58 | endif() | ||
| 59 | |||
| 60 | mark_as_advanced(TAGLIB_INCLUDE_DIR TAGLIB_LIBRARY) | ||
diff --git a/project/cmake/modules/FindTexturePacker.cmake b/project/cmake/modules/FindTexturePacker.cmake deleted file mode 100644 index f9e4c75..0000000 --- a/project/cmake/modules/FindTexturePacker.cmake +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindTexturePacker | ||
| 3 | # ----------------- | ||
| 4 | # Finds the TexturePacker | ||
| 5 | # | ||
| 6 | # If WITH_TEXTUREPACKER is defined and points to a directory, | ||
| 7 | # this path will be used to search for the Texturepacker binary | ||
| 8 | # | ||
| 9 | # | ||
| 10 | # This will define the following (imported) targets:: | ||
| 11 | # | ||
| 12 | # TexturePacker::TexturePacker - The TexturePacker executable | ||
| 13 | |||
| 14 | if(NOT TARGET TexturePacker::TexturePacker) | ||
| 15 | if(CMAKE_CROSSCOMPILING) | ||
| 16 | add_executable(TexturePacker::TexturePacker IMPORTED GLOBAL) | ||
| 17 | set_target_properties(TexturePacker::TexturePacker PROPERTIES | ||
| 18 | IMPORTED_LOCATION "${NATIVEPREFIX}/bin/TexturePacker") | ||
| 19 | elseif(WIN32) | ||
| 20 | add_executable(TexturePacker::TexturePacker IMPORTED GLOBAL) | ||
| 21 | set_target_properties(TexturePacker::TexturePacker PROPERTIES | ||
| 22 | IMPORTED_LOCATION "${CORE_SOURCE_DIR}/tools/TexturePacker/TexturePacker.exe") | ||
| 23 | else() | ||
| 24 | if(WITH_TEXTUREPACKER) | ||
| 25 | get_filename_component(_tppath ${WITH_TEXTUREPACKER} ABSOLUTE) | ||
| 26 | find_program(TEXTUREPACKER_EXECUTABLE TexturePacker PATHS ${_tppath}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(TexturePacker DEFAULT_MSG TEXTUREPACKER_EXECUTABLE) | ||
| 30 | if(TEXTUREPACKER_FOUND) | ||
| 31 | add_executable(TexturePacker::TexturePacker IMPORTED GLOBAL) | ||
| 32 | set_target_properties(TexturePacker::TexturePacker PROPERTIES | ||
| 33 | IMPORTED_LOCATION "${TEXTUREPACKER_EXECUTABLE}") | ||
| 34 | endif() | ||
| 35 | mark_as_advanced(TEXTUREPACKER) | ||
| 36 | else() | ||
| 37 | add_subdirectory(${CORE_SOURCE_DIR}/tools/depends/native/TexturePacker build/texturepacker) | ||
| 38 | add_executable(TexturePacker::TexturePacker ALIAS TexturePacker) | ||
| 39 | endif() | ||
| 40 | endif() | ||
| 41 | endif() | ||
diff --git a/project/cmake/modules/FindTinyXML.cmake b/project/cmake/modules/FindTinyXML.cmake deleted file mode 100644 index 1220a94..0000000 --- a/project/cmake/modules/FindTinyXML.cmake +++ /dev/null | |||
| @@ -1,68 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindTinyXML | ||
| 3 | # ----------- | ||
| 4 | # Finds the TinyXML library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # TINYXML_FOUND - system has TinyXML | ||
| 9 | # TINYXML_INCLUDE_DIRS - the TinyXML include directory | ||
| 10 | # TINYXML_LIBRARIES - the TinyXML libraries | ||
| 11 | # TINYXML_DEFINITIONS - the TinyXML definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # TinyXML::TinyXML - The TinyXML library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_TINYXML tinyxml QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(TINYXML_INCLUDE_DIR tinyxml.h | ||
| 22 | PATH_SUFFIXES tinyxml | ||
| 23 | PATHS ${PC_TINYXML_INCLUDEDIR}) | ||
| 24 | find_library(TINYXML_LIBRARY_RELEASE NAMES tinyxml tinyxmlSTL | ||
| 25 | PATH_SUFFIXES tinyxml | ||
| 26 | PATHS ${PC_TINYXML_LIBDIR}) | ||
| 27 | find_library(TINYXML_LIBRARY_DEBUG NAMES tinyxmld tinyxmlSTLd | ||
| 28 | PATH_SUFFIXES tinyxml | ||
| 29 | PATHS ${PC_TINYXML_LIBDIR}) | ||
| 30 | set(TINYXML_VERSION ${PC_TINYXML_VERSION}) | ||
| 31 | |||
| 32 | include(SelectLibraryConfigurations) | ||
| 33 | select_library_configurations(TINYXML) | ||
| 34 | |||
| 35 | include(FindPackageHandleStandardArgs) | ||
| 36 | find_package_handle_standard_args(TinyXML | ||
| 37 | REQUIRED_VARS TINYXML_LIBRARY TINYXML_INCLUDE_DIR | ||
| 38 | VERSION_VAR TINYXML_VERSION) | ||
| 39 | |||
| 40 | if(TINYXML_FOUND) | ||
| 41 | set(TINYXML_LIBRARIES ${TINYXML_LIBRARY}) | ||
| 42 | set(TINYXML_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR}) | ||
| 43 | if(WIN32) | ||
| 44 | set(TINYXML_DEFINITIONS -DTIXML_USE_STL=1) | ||
| 45 | endif() | ||
| 46 | |||
| 47 | if(NOT TARGET TinyXML::TinyXML) | ||
| 48 | add_library(TinyXML::TinyXML UNKNOWN IMPORTED) | ||
| 49 | if(TINYXML_LIBRARY_RELEASE) | ||
| 50 | set_target_properties(TinyXML::TinyXML PROPERTIES | ||
| 51 | IMPORTED_CONFIGURATIONS RELEASE | ||
| 52 | IMPORTED_LOCATION "${TINYXML_LIBRARY_RELEASE}") | ||
| 53 | endif() | ||
| 54 | if(TINYXML_LIBRARY_DEBUG) | ||
| 55 | set_target_properties(TinyXML::TinyXML PROPERTIES | ||
| 56 | IMPORTED_CONFIGURATIONS DEBUG | ||
| 57 | IMPORTED_LOCATION "${TINYXML_LIBRARY_DEBUG}") | ||
| 58 | endif() | ||
| 59 | set_target_properties(TinyXML::TinyXML PROPERTIES | ||
| 60 | INTERFACE_INCLUDE_DIRECTORIES "${TINYXML_INCLUDE_DIR}") | ||
| 61 | if(WIN32) | ||
| 62 | set_target_properties(TinyXML::TinyXML PROPERTIES | ||
| 63 | INTERFACE_COMPILE_DEFINITIONS TIXML_USE_STL=1) | ||
| 64 | endif() | ||
| 65 | endif() | ||
| 66 | endif() | ||
| 67 | |||
| 68 | mark_as_advanced(TINYXML_INCLUDE_DIR TINYXML_LIBRARY) | ||
diff --git a/project/cmake/modules/FindUDEV.cmake b/project/cmake/modules/FindUDEV.cmake deleted file mode 100644 index 422c437..0000000 --- a/project/cmake/modules/FindUDEV.cmake +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindUDEV | ||
| 3 | # ------- | ||
| 4 | # Finds the UDEV library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # UDEV_FOUND - system has UDEV | ||
| 9 | # UDEV_INCLUDE_DIRS - the UDEV include directory | ||
| 10 | # UDEV_LIBRARIES - the UDEV libraries | ||
| 11 | # UDEV_DEFINITIONS - the UDEV definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # UDEV::UDEV - The UDEV library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_UDEV libudev QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(UDEV_INCLUDE_DIR NAMES libudev.h | ||
| 22 | PATHS ${PC_UDEV_INCLUDEDIR}) | ||
| 23 | find_library(UDEV_LIBRARY NAMES udev | ||
| 24 | PATHS ${PC_UDEV_LIBDIR}) | ||
| 25 | |||
| 26 | set(UDEV_VERSION ${PC_UDEV_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(UDEV | ||
| 30 | REQUIRED_VARS UDEV_LIBRARY UDEV_INCLUDE_DIR | ||
| 31 | VERSION_VAR UDEV_VERSION) | ||
| 32 | |||
| 33 | if(UDEV_FOUND) | ||
| 34 | set(UDEV_LIBRARIES ${UDEV_LIBRARY}) | ||
| 35 | set(UDEV_INCLUDE_DIRS ${UDEV_INCLUDE_DIR}) | ||
| 36 | set(UDEV_DEFINITIONS -DHAVE_LIBUDEV=1) | ||
| 37 | |||
| 38 | if(NOT TARGET UDEV::UDEV) | ||
| 39 | add_library(UDEV::UDEV UNKNOWN IMPORTED) | ||
| 40 | set_target_properties(UDEV::UDEV PROPERTIES | ||
| 41 | IMPORTED_LOCATION "${UDEV_LIBRARY}" | ||
| 42 | INTERFACE_INCLUDE_DIRECTORIES "${UDEV_INCLUDE_DIR}" | ||
| 43 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBUDEV=1) | ||
| 44 | endif() | ||
| 45 | endif() | ||
| 46 | |||
| 47 | mark_as_advanced(UDEV_INCLUDE_DIR UDEV_LIBRARY) | ||
diff --git a/project/cmake/modules/FindUUID.cmake b/project/cmake/modules/FindUUID.cmake deleted file mode 100644 index 173fac2..0000000 --- a/project/cmake/modules/FindUUID.cmake +++ /dev/null | |||
| @@ -1,43 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindUUID | ||
| 3 | # -------- | ||
| 4 | # Finds the libuuid library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # UUID_FOUND - system has libuuid | ||
| 9 | # UUID_INCLUDE_DIRS - the libuuid include directory | ||
| 10 | # UUID_LIBRARIES - the libuuid libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # UUID::UUID - The libuuid library | ||
| 15 | |||
| 16 | if(PKG_CONFIG_FOUND) | ||
| 17 | pkg_check_modules(PC_UUID uuid QUIET) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | find_path(UUID_INCLUDE_DIR uuid/uuid.h | ||
| 21 | PATHS ${PC_UUID_INCLUDEDIR}) | ||
| 22 | find_library(UUID_LIBRARY uuid | ||
| 23 | PATHS ${PC_UUID_LIBRARY}) | ||
| 24 | set(UUID_VERSION ${PC_UUID_VERSION}) | ||
| 25 | |||
| 26 | include(FindPackageHandleStandardArgs) | ||
| 27 | find_package_handle_standard_args(UUID | ||
| 28 | REQUIRED_VARS UUID_LIBRARY UUID_INCLUDE_DIR | ||
| 29 | VERSION_VAR UUID_VERSION) | ||
| 30 | |||
| 31 | if(UUID_FOUND) | ||
| 32 | set(UUID_LIBRARIES ${UUID_LIBRARY}) | ||
| 33 | set(UUID_INCLUDE_DIRS ${UUID_INCLUDE_DIR}) | ||
| 34 | |||
| 35 | if(NOT TARGET UUID::UUID) | ||
| 36 | add_library(UUID::UUID UNKNOWN IMPORTED) | ||
| 37 | set_target_properties(UUID::UUID PROPERTIES | ||
| 38 | IMPORTED_LOCATION "${UUID_LIBRARY}" | ||
| 39 | INTERFACE_INCLUDE_DIRECTORIES "${UUID_INCLUDE_DIR}") | ||
| 40 | endif() | ||
| 41 | endif() | ||
| 42 | |||
| 43 | mark_as_advanced(UUID_INCLUDE_DIR UUID_LIBRARY) | ||
diff --git a/project/cmake/modules/FindVAAPI.cmake b/project/cmake/modules/FindVAAPI.cmake deleted file mode 100644 index ea9a3c9..0000000 --- a/project/cmake/modules/FindVAAPI.cmake +++ /dev/null | |||
| @@ -1,72 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindVAAPI | ||
| 3 | # --------- | ||
| 4 | # Finds the VAAPI library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # VAAPI_FOUND - system has VAAPI | ||
| 9 | # VAAPI_INCLUDE_DIRS - the VAAPI include directory | ||
| 10 | # VAAPI_LIBRARIES - the VAAPI libraries | ||
| 11 | # VAAPI_DEFINITIONS - the VAAPI definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # VAAPI::VAAPI - The VAAPI library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_VAAPI libva libva-x11 QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(VAAPI_INCLUDE_DIR va/va.h | ||
| 22 | PATHS ${PC_VAAPI_libva_INCLUDEDIR}) | ||
| 23 | find_library(VAAPI_libva_LIBRARY NAMES va | ||
| 24 | PATHS ${PC_VAAPI_libva_LIBDIR}) | ||
| 25 | find_library(VAAPI_libva-x11_LIBRARY NAMES va-x11 | ||
| 26 | PATHS ${PC_VAAPI_libva_LIBDIR}) | ||
| 27 | find_library(VAAPI_libva-drm_LIBRARY NAMES va-drm | ||
| 28 | PATHS ${PC_VAAPI_libva_LIBDIR}) | ||
| 29 | |||
| 30 | if(PC_VAAPI_libva_VERSION) | ||
| 31 | set(VAAPI_VERSION_STRING ${PC_VAAPI_libva_VERSION}) | ||
| 32 | elseif(VAAPI_INCLUDE_DIR AND EXISTS "${VAAPI_INCLUDE_DIR}/va/va_version.h") | ||
| 33 | file(STRINGS "${VAAPI_INCLUDE_DIR}/va/va_version.h" vaapi_version_str REGEX "^#define[\t ]+VA_VERSION_S[\t ]+\".*\".*") | ||
| 34 | string(REGEX REPLACE "^#define[\t ]+VA_VERSION_S[\t ]+\"([^\"]+)\".*" "\\1" VAAPI_VERSION_STRING "${vaapi_version_str}") | ||
| 35 | unset(vaapi_version_str) | ||
| 36 | endif() | ||
| 37 | |||
| 38 | if(NOT VAAPI_FIND_VERSION) | ||
| 39 | set(VAAPI_FIND_VERSION 0.38.0) | ||
| 40 | endif() | ||
| 41 | |||
| 42 | include(FindPackageHandleStandardArgs) | ||
| 43 | find_package_handle_standard_args(VAAPI | ||
| 44 | REQUIRED_VARS VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_libva-drm_LIBRARY VAAPI_INCLUDE_DIR | ||
| 45 | VERSION_VAR VAAPI_VERSION_STRING) | ||
| 46 | |||
| 47 | if(VAAPI_FOUND) | ||
| 48 | set(VAAPI_INCLUDE_DIRS ${VAAPI_INCLUDE_DIR}) | ||
| 49 | set(VAAPI_LIBRARIES ${VAAPI_libva_LIBRARY} ${VAAPI_libva-x11_LIBRARY} ${VAAPI_libva-drm_LIBRARY}) | ||
| 50 | set(VAAPI_DEFINITIONS -DHAVE_LIBVA=1) | ||
| 51 | |||
| 52 | if(NOT TARGET VAAPI::VAAPI_X11) | ||
| 53 | add_library(VAAPI::VAAPI_X11 UNKNOWN IMPORTED) | ||
| 54 | set_target_properties(VAAPI::VAAPI_X11 PROPERTIES | ||
| 55 | IMPORTED_LOCATION "${VAAPI_libva-x11_LIBRARY}") | ||
| 56 | endif() | ||
| 57 | if (NOT TARGET VAAPI::VAAPI_DRM) | ||
| 58 | add_library(VAAPI::VAAPI_DRM UNKNOWN IMPORTED) | ||
| 59 | set_target_properties(VAAPI::VAAPI_DRM PROPERTIES | ||
| 60 | IMPORTED_LOCATION "${VAAPI_libva-drm_LIBRARY}") | ||
| 61 | endif() | ||
| 62 | if(NOT TARGET VAAPI::VAAPI) | ||
| 63 | add_library(VAAPI::VAAPI UNKNOWN IMPORTED) | ||
| 64 | set_target_properties(VAAPI::VAAPI PROPERTIES | ||
| 65 | IMPORTED_LOCATION "${VAAPI_libva_LIBRARY}" | ||
| 66 | INTERFACE_INCLUDE_DIRECTORIES "${VAAPI_INCLUDE_DIR}" | ||
| 67 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBVA=1 | ||
| 68 | INTERFACE_LINK_LIBRARIES "VAAPI::VAAPI_X11 VAAPI::VAAPI_DRM") | ||
| 69 | endif() | ||
| 70 | endif() | ||
| 71 | |||
| 72 | mark_as_advanced(VAAPI_INCLUDE_DIR VAAPI_libva_LIBRARY VAAPI_libva-x11_LIBRARY VAAPI_libva-drm_LIBRARY) | ||
diff --git a/project/cmake/modules/FindVDPAU.cmake b/project/cmake/modules/FindVDPAU.cmake deleted file mode 100644 index b99e03f..0000000 --- a/project/cmake/modules/FindVDPAU.cmake +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindVDPAU | ||
| 3 | # --------- | ||
| 4 | # Finds the VDPAU library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # VDPAU_FOUND - system has VDPAU | ||
| 9 | # VDPAU_INCLUDE_DIRS - the VDPAU include directory | ||
| 10 | # VDPAU_LIBRARIES - the VDPAU libraries | ||
| 11 | # VDPAU_DEFINITIONS - the VDPAU definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # VDPAU::VDPAU - The VDPAU library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_VDPAU vdpau QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(VDPAU_INCLUDE_DIR NAMES vdpau/vdpau.h vdpau/vdpau_x11.h | ||
| 22 | PATHS ${PC_VDPAU_INCLUDEDIR}) | ||
| 23 | find_library(VDPAU_LIBRARY NAMES vdpau | ||
| 24 | PATHS ${PC_VDPAU_LIBDIR}) | ||
| 25 | |||
| 26 | set(VDPAU_VERSION ${PC_VDPAU_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(VDPAU | ||
| 30 | REQUIRED_VARS VDPAU_LIBRARY VDPAU_INCLUDE_DIR | ||
| 31 | VERSION_VAR VDPAU_VERSION) | ||
| 32 | |||
| 33 | if(VDPAU_FOUND) | ||
| 34 | set(VDPAU_INCLUDE_DIRS ${VDPAU_INCLUDE_DIR}) | ||
| 35 | set(VDPAU_LIBRARIES ${VDPAU_LIBRARY}) | ||
| 36 | set(VDPAU_DEFINITIONS -DHAVE_LIBVDPAU=1) | ||
| 37 | |||
| 38 | if(NOT TARGET VDPAU::VDPAU) | ||
| 39 | add_library(VDPAU::VDPAU UNKNOWN IMPORTED) | ||
| 40 | set_target_properties(VDPAU::VDPAU PROPERTIES | ||
| 41 | IMPORTED_LOCATION "${VDPAU_LIBRARY}" | ||
| 42 | INTERFACE_INCLUDE_DIRECTORIES "${VDPAU_INCLUDE_DIR}" | ||
| 43 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBVDPAU=1) | ||
| 44 | endif() | ||
| 45 | endif() | ||
| 46 | |||
| 47 | mark_as_advanced(VDPAU_INCLUDE_DIR VDPAU_LIBRARY) | ||
diff --git a/project/cmake/modules/FindX.cmake b/project/cmake/modules/FindX.cmake deleted file mode 100644 index 19bb770..0000000 --- a/project/cmake/modules/FindX.cmake +++ /dev/null | |||
| @@ -1,57 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindX | ||
| 3 | # ----- | ||
| 4 | # Finds the X11 library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # X_FOUND - system has X11 | ||
| 9 | # X_INCLUDE_DIRS - the X11 include directory | ||
| 10 | # X_LIBRARIES - the X11 libraries | ||
| 11 | # X_DEFINITIONS - the X11 definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # X::X - The X11 library | ||
| 16 | # X::Xext - The X11 extension library | ||
| 17 | |||
| 18 | if(PKG_CONFIG_FOUND) | ||
| 19 | pkg_check_modules(PC_X x11 xext QUIET) | ||
| 20 | endif() | ||
| 21 | |||
| 22 | find_path(X_INCLUDE_DIR NAMES X11/Xlib.h | ||
| 23 | PATHS ${PC_X_x11_INCLUDEDIR}) | ||
| 24 | find_library(X_LIBRARY NAMES X11 | ||
| 25 | PATHS ${PC_X_x11_LIBDIR}) | ||
| 26 | find_library(X_EXT_LIBRARY NAMES Xext | ||
| 27 | PATHS ${PC_X_xext_LIBDIR}) | ||
| 28 | |||
| 29 | set(X_VERSION ${PC_X_x11_VERSION}) | ||
| 30 | |||
| 31 | include(FindPackageHandleStandardArgs) | ||
| 32 | find_package_handle_standard_args(X | ||
| 33 | REQUIRED_VARS X_LIBRARY X_EXT_LIBRARY X_INCLUDE_DIR | ||
| 34 | VERSION_VAR X_VERSION) | ||
| 35 | |||
| 36 | if(X_FOUND) | ||
| 37 | set(X_LIBRARIES ${X_LIBRARY} ${X_EXT_LIBRARY}) | ||
| 38 | set(X_INCLUDE_DIRS ${X_INCLUDE_DIR}) | ||
| 39 | set(X_DEFINITIONS -DHAVE_X11=1) | ||
| 40 | |||
| 41 | if(NOT TARGET X::X) | ||
| 42 | add_library(X::X UNKNOWN IMPORTED) | ||
| 43 | set_target_properties(X::X PROPERTIES | ||
| 44 | IMPORTED_LOCATION "${X_LIBRARY}" | ||
| 45 | INTERFACE_INCLUDE_DIRECTORIES "${X_INCLUDE_DIR}" | ||
| 46 | INTERFACE_COMPILE_DEFINITIONS HAVE_X11=1) | ||
| 47 | endif() | ||
| 48 | if(NOT TARGET X::Xext) | ||
| 49 | add_library(X::Xext UNKNOWN IMPORTED) | ||
| 50 | set_target_properties(X::Xext PROPERTIES | ||
| 51 | IMPORTED_LOCATION "${X_EXT_LIBRARY}" | ||
| 52 | INTERFACE_INCLUDE_DIRECTORIES "${X_INCLUDE_DIR}" | ||
| 53 | INTERFACE_LINK_LIBRARIES X::X) | ||
| 54 | endif() | ||
| 55 | endif() | ||
| 56 | |||
| 57 | mark_as_advanced(X_INCLUDE_DIR X_LIBRARY X_EXT_LIBRARY) | ||
diff --git a/project/cmake/modules/FindXRandR.cmake b/project/cmake/modules/FindXRandR.cmake deleted file mode 100644 index 9feaedc..0000000 --- a/project/cmake/modules/FindXRandR.cmake +++ /dev/null | |||
| @@ -1,47 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindXRandR | ||
| 3 | # ---------- | ||
| 4 | # Finds the XRandR library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # XRANDR_FOUND - system has XRANDR | ||
| 9 | # XRANDR_INCLUDE_DIRS - the XRANDR include directory | ||
| 10 | # XRANDR_LIBRARIES - the XRANDR libraries | ||
| 11 | # XRANDR_DEFINITIONS - the XRANDR definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # XRandR::XRandR - The XRANDR library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_XRANDR xrandr QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(XRANDR_INCLUDE_DIR NAMES X11/extensions/Xrandr.h | ||
| 22 | PATHS ${PC_XRANDR_INCLUDEDIR}) | ||
| 23 | find_library(XRANDR_LIBRARY NAMES Xrandr | ||
| 24 | PATHS ${PC_XRANDR_LIBDIR}) | ||
| 25 | |||
| 26 | set(XRANDR_VERSION ${PC_XRANDR_VERSION}) | ||
| 27 | |||
| 28 | include(FindPackageHandleStandardArgs) | ||
| 29 | find_package_handle_standard_args(XRandR | ||
| 30 | REQUIRED_VARS XRANDR_LIBRARY XRANDR_INCLUDE_DIR | ||
| 31 | VERSION_VAR XRANDR_VERSION) | ||
| 32 | |||
| 33 | if(XRANDR_FOUND) | ||
| 34 | set(XRANDR_LIBRARIES ${XRANDR_LIBRARY}) | ||
| 35 | set(XRANDR_INCLUDE_DIRS ${XRANDR_INCLUDE_DIR}) | ||
| 36 | set(XRANDR_DEFINITIONS -DHAVE_LIBXRANDR=1) | ||
| 37 | |||
| 38 | if(NOT TARGET XRandR::XRandR) | ||
| 39 | add_library(XRandR::XRandR UNKNOWN IMPORTED) | ||
| 40 | set_target_properties(XRandR::XRandR PROPERTIES | ||
| 41 | IMPORTED_LOCATION "${XRANDR_LIBRARY}" | ||
| 42 | INTERFACE_INCLUDE_DIRECTORIES "${XRANDR_INCLUDE_DIR}" | ||
| 43 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBXRANDR=1) | ||
| 44 | endif() | ||
| 45 | endif() | ||
| 46 | |||
| 47 | mark_as_advanced(XRANDR_INCLUDE_DIR XRANDR_LIBRARY) | ||
diff --git a/project/cmake/modules/FindXSLT.cmake b/project/cmake/modules/FindXSLT.cmake deleted file mode 100644 index f7fea9e..0000000 --- a/project/cmake/modules/FindXSLT.cmake +++ /dev/null | |||
| @@ -1,50 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindXSLT | ||
| 3 | # -------- | ||
| 4 | # Finds the XSLT library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # XSLT_FOUND - system has XSLT | ||
| 9 | # XSLT_INCLUDE_DIRS - the XSLT include directory | ||
| 10 | # XSLT_LIBRARIES - the XSLT libraries | ||
| 11 | # XSLT_DEFINITIONS - the XSLT definitions | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # XSLT::XSLT - The XSLT library | ||
| 16 | |||
| 17 | find_package(LibXml2 REQUIRED) | ||
| 18 | |||
| 19 | if(PKG_CONFIG_FOUND) | ||
| 20 | pkg_check_modules(PC_XSLT libxslt QUIET) | ||
| 21 | endif() | ||
| 22 | |||
| 23 | find_path(XSLT_INCLUDE_DIR NAMES libxslt/xslt.h | ||
| 24 | PATHS ${PC_XSLT_INCLUDEDIR}) | ||
| 25 | find_library(XSLT_LIBRARY NAMES xslt libxslt | ||
| 26 | PATHS ${PC_XSLT_LIBDIR}) | ||
| 27 | |||
| 28 | set(XSLT_VERSION ${PC_XSLT_VERSION}) | ||
| 29 | |||
| 30 | include(FindPackageHandleStandardArgs) | ||
| 31 | find_package_handle_standard_args(XSLT | ||
| 32 | REQUIRED_VARS XSLT_LIBRARY XSLT_INCLUDE_DIR | ||
| 33 | VERSION_VAR XSLT_VERSION) | ||
| 34 | |||
| 35 | if(XSLT_FOUND) | ||
| 36 | set(XSLT_LIBRARIES ${XSLT_LIBRARY} ${LIBXML2_LIBRARIES}) | ||
| 37 | set(XSLT_INCLUDE_DIRS ${XSLT_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}) | ||
| 38 | set(XSLT_DEFINITIONS -DHAVE_LIBXSLT=1) | ||
| 39 | |||
| 40 | if(NOT TARGET XSLT::XSLT) | ||
| 41 | add_library(XSLT::XSLT UNKNOWN IMPORTED) | ||
| 42 | set_target_properties(XSLT::XSLT PROPERTIES | ||
| 43 | IMPORTED_LOCATION "${XSLT_LIBRARY}" | ||
| 44 | INTERFACE_INCLUDE_DIRECTORIES "${XSLT_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR}" | ||
| 45 | INTERFACE_COMPILE_DEFINITIONS HAVE_LIBXSLT=1 | ||
| 46 | INTERFACE_LINK_LIBRARIES "${LIBXML2_LIBRARIES}") | ||
| 47 | endif() | ||
| 48 | endif() | ||
| 49 | |||
| 50 | mark_as_advanced(XSLT_INCLUDE_DIR XSLT_LIBRARY) | ||
diff --git a/project/cmake/modules/FindYajl.cmake b/project/cmake/modules/FindYajl.cmake deleted file mode 100644 index c73a67b..0000000 --- a/project/cmake/modules/FindYajl.cmake +++ /dev/null | |||
| @@ -1,62 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindYajl | ||
| 3 | # -------- | ||
| 4 | # Finds the Yajl library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # YAJL_FOUND - system has Yajl | ||
| 9 | # YAJL_INCLUDE_DIRS - Yajl include directory | ||
| 10 | # YAJL_LIBRARIES - the Yajl libraries | ||
| 11 | # | ||
| 12 | # and the following imported targets:: | ||
| 13 | # | ||
| 14 | # Yajl::Yajl - The Yajl library | ||
| 15 | |||
| 16 | if(NOT Yajl_FIND_VERSION) | ||
| 17 | set(Yajl_FIND_VERSION 2.0.0) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | if(PKG_CONFIG_FOUND) | ||
| 21 | pkg_check_modules(PC_YAJL yajl>=${Yajl_FIND_VERSION} QUIET) | ||
| 22 | endif() | ||
| 23 | |||
| 24 | find_path(YAJL_INCLUDE_DIR NAMES yajl/yajl_common.h | ||
| 25 | PATHS ${PC_YAJL_INCLUDEDIR}) | ||
| 26 | find_library(YAJL_LIBRARY NAMES yajl | ||
| 27 | PATHS ${PC_YAJL_LIBDIR}) | ||
| 28 | |||
| 29 | if(PC_YAJL_VERSION) | ||
| 30 | set(YAJL_VERSION_STRING ${PC_YAJL_VERSION}) | ||
| 31 | elseif(YAJL_INCLUDE_DIR AND EXISTS "${YAJL_INCLUDE_DIR}/yajl/yajl_version.h") | ||
| 32 | file(STRINGS "${YAJL_INCLUDE_DIR}/yajl/yajl_version.h" yajl_version_str REGEX "^[ \t]*#define[ \t]+YAJL_(MAJOR|MINOR|MICRO)") | ||
| 33 | string(REGEX REPLACE "YAJL_MAJOR ([0-9]+)" "\\1" YAJL_VERSION_MAJOR "${YAJL_VERSION_MAJOR}") | ||
| 34 | |||
| 35 | string(REGEX REPLACE ".*YAJL_MAJOR ([0-9]+).*" "\\1" yajl_major "${yajl_version_str}") | ||
| 36 | string(REGEX REPLACE ".*YAJL_MINOR ([0-9]+).*" "\\1" yajl_minor "${yajl_version_str}") | ||
| 37 | string(REGEX REPLACE ".*YAJL_MICRO ([0-9]+).*" "\\1" yajl_micro "${yajl_version_str}") | ||
| 38 | set(YAJL_VERSION_STRING "${yajl_major}.${yajl_minor}.${yajl_micro}") | ||
| 39 | unset(yajl_version_str) | ||
| 40 | unset(yajl_major) | ||
| 41 | unset(yajl_minor) | ||
| 42 | unset(yajl_micro) | ||
| 43 | endif() | ||
| 44 | |||
| 45 | include(FindPackageHandleStandardArgs) | ||
| 46 | find_package_handle_standard_args(Yajl | ||
| 47 | REQUIRED_VARS YAJL_LIBRARY YAJL_INCLUDE_DIR | ||
| 48 | VERSION_VAR YAJL_VERSION_STRING) | ||
| 49 | |||
| 50 | if(YAJL_FOUND) | ||
| 51 | set(YAJL_INCLUDE_DIRS ${YAJL_INCLUDE_DIR}) | ||
| 52 | set(YAJL_LIBRARIES ${YAJL_LIBRARY}) | ||
| 53 | |||
| 54 | if(NOT TARGET Yajl::Yajl) | ||
| 55 | add_library(Yajl::Yajl UNKNOWN IMPORTED) | ||
| 56 | set_target_properties(Yajl::Yajl PROPERTIES | ||
| 57 | IMPORTED_LOCATION "${YAJL_LIBRARY}" | ||
| 58 | INTERFACE_INCLUDE_DIRECTORIES "${YAJL_INCLUDE_DIR}") | ||
| 59 | endif() | ||
| 60 | endif() | ||
| 61 | |||
| 62 | mark_as_advanced(YAJL_INCLUDE_DIR YAJL_LIBRARY) | ||
diff --git a/project/cmake/modules/FindZip.cmake b/project/cmake/modules/FindZip.cmake deleted file mode 100644 index e0a38c1..0000000 --- a/project/cmake/modules/FindZip.cmake +++ /dev/null | |||
| @@ -1,46 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # FindZip | ||
| 3 | # ----------- | ||
| 4 | # Finds the Zip library | ||
| 5 | # | ||
| 6 | # This will will define the following variables:: | ||
| 7 | # | ||
| 8 | # ZIP_FOUND - system has Zip | ||
| 9 | # ZIP_INCLUDE_DIRS - the Zip include directory | ||
| 10 | # ZIP_LIBRARIES - the Zip libraries | ||
| 11 | # ZIP_DEFINITIONS - the Zip libraries | ||
| 12 | # | ||
| 13 | # and the following imported targets:: | ||
| 14 | # | ||
| 15 | # ZIP::ZIP - The Zip library | ||
| 16 | |||
| 17 | if(PKG_CONFIG_FOUND) | ||
| 18 | pkg_check_modules(PC_ZIP libzip QUIET) | ||
| 19 | endif() | ||
| 20 | |||
| 21 | find_path(ZIP_INCLUDE_DIR zip.h | ||
| 22 | PATHS ${PC_ZIP_INCLUDEDIR}) | ||
| 23 | find_library(ZIP_LIBRARY NAMES zip | ||
| 24 | PATHS ${PC_ZIP_LIBDIR}) | ||
| 25 | set(ZIP_VERSION ${PC_ZIP_VERSION}) | ||
| 26 | |||
| 27 | include(FindPackageHandleStandardArgs) | ||
| 28 | find_package_handle_standard_args(ZIP | ||
| 29 | REQUIRED_VARS ZIP_LIBRARY ZIP_INCLUDE_DIR | ||
| 30 | VERSION_VAR ZIP_VERSION) | ||
| 31 | |||
| 32 | if(ZIP_FOUND) | ||
| 33 | set(ZIP_LIBRARIES ${ZIP_LIBRARY}) | ||
| 34 | set(ZIP_INCLUDE_DIRS ${ZIP_INCLUDE_DIR}) | ||
| 35 | set(ZIP_DEFINITIONS "${PC_ZIP_CFLAGS}") | ||
| 36 | |||
| 37 | if(NOT TARGET ZIP::ZIP) | ||
| 38 | add_library(ZIP::ZIP UNKNOWN IMPORTED) | ||
| 39 | set_target_properties(ZIP::ZIP PROPERTIES | ||
| 40 | IMPORTED_LOCATION "${ZIP_LIBRARY}" | ||
| 41 | INTERFACE_INCLUDE_DIRECTORIES "${ZIP_INCLUDE_DIR}" | ||
| 42 | INTERFACE_COMPILE_DEFINITIONS "${PC_ZIP_CFLAGS}") | ||
| 43 | endif() | ||
| 44 | endif() | ||
| 45 | |||
| 46 | mark_as_advanced(ZIP_INCLUDE_DIR ZIP_LIBRARY) | ||
diff --git a/project/cmake/modules/LDGOLD.cmake b/project/cmake/modules/LDGOLD.cmake deleted file mode 100644 index ad19c6b..0000000 --- a/project/cmake/modules/LDGOLD.cmake +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | option(ENABLE_LDGOLD "Use GNU gold linker" ON) | ||
| 2 | |||
| 3 | set(LDGOLD_FOUND FALSE) | ||
| 4 | if(ENABLE_LDGOLD) | ||
| 5 | execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE LD_VERSION) | ||
| 6 | if(LD_VERSION MATCHES "GNU gold") | ||
| 7 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold") | ||
| 8 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold") | ||
| 9 | set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold") | ||
| 10 | set(LDGOLD_FOUND TRUE) | ||
| 11 | message(STATUS "Linker: GNU gold") | ||
| 12 | else() | ||
| 13 | message(WARNING "GNU gold linker is not available, falling back to default system linker") | ||
| 14 | endif() | ||
| 15 | else() | ||
| 16 | message(STATUS "Linker: Default system linker") | ||
| 17 | endif() | ||
| 18 | |||
| 19 | set(DEFAULT_ENABLE_DEBUGFISSION FALSE) | ||
| 20 | if(CMAKE_BUILD_TYPE STREQUAL Debug OR | ||
| 21 | CMAKE_BUILD_TYPE STREQUAL RelWithDebInfo AND | ||
| 22 | LDGOLD_FOUND) | ||
| 23 | set(DEFAULT_ENABLE_DEBUGFISSION TRUE) | ||
| 24 | endif() | ||
| 25 | |||
| 26 | include(CMakeDependentOption) | ||
| 27 | cmake_dependent_option(ENABLE_DEBUGFISSION "Enable Debug Fission support" ON | ||
| 28 | "DEFAULT_ENABLE_DEBUGFISSION" OFF) | ||
| 29 | |||
| 30 | set(DEBUGFISSION_FOUND FALSE) | ||
| 31 | if(ENABLE_DEBUGFISSION) | ||
| 32 | include(TestCXXAcceptsFlag) | ||
| 33 | check_cxx_accepts_flag(-gsplit-dwarf CXX_ACCEPTS_GSPLIT_DWARF) | ||
| 34 | if(CXX_ACCEPTS_GSPLIT_DWARF) | ||
| 35 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -gsplit-dwarf") | ||
| 36 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -gsplit-dwarf") | ||
| 37 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index") | ||
| 38 | set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index") | ||
| 39 | set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--gdb-index") | ||
| 40 | set(DEBUGFISSION_FOUND TRUE) | ||
| 41 | message(STATUS "Debug Fission enabled") | ||
| 42 | else() | ||
| 43 | message(WARNING "Debug Fission is not available") | ||
| 44 | endif() | ||
| 45 | endif() | ||
diff --git a/project/cmake/modules/extra/ECMEnableSanitizers.cmake b/project/cmake/modules/extra/ECMEnableSanitizers.cmake deleted file mode 100644 index aa7092d..0000000 --- a/project/cmake/modules/extra/ECMEnableSanitizers.cmake +++ /dev/null | |||
| @@ -1,149 +0,0 @@ | |||
| 1 | #.rst: | ||
| 2 | # ECMEnableSanitizers | ||
| 3 | # ------------------- | ||
| 4 | # | ||
| 5 | # Enable compiler sanitizer flags. | ||
| 6 | # | ||
| 7 | # The following sanitizers are supported: | ||
| 8 | # | ||
| 9 | # - Address Sanitizer | ||
| 10 | # - Memory Sanitizer | ||
| 11 | # - Thread Sanitizer | ||
| 12 | # - Leak Sanitizer | ||
| 13 | # - Undefined Behaviour Sanitizer | ||
| 14 | # | ||
| 15 | # All of them are implemented in Clang, depending on your version, and | ||
| 16 | # there is an work in progress in GCC, where some of them are currently | ||
| 17 | # implemented. | ||
| 18 | # | ||
| 19 | # This module will check your current compiler version to see if it | ||
| 20 | # supports the sanitizers that you want to enable | ||
| 21 | # | ||
| 22 | # Usage | ||
| 23 | # ===== | ||
| 24 | # | ||
| 25 | # Simply add:: | ||
| 26 | # | ||
| 27 | # include(ECMEnableSanitizers) | ||
| 28 | # | ||
| 29 | # to your ``CMakeLists.txt``. Note that this module is included in | ||
| 30 | # KDECompilerSettings, so projects using that module do not need to also | ||
| 31 | # include this one. | ||
| 32 | # | ||
| 33 | # The sanitizers are not enabled by default. Instead, you must set | ||
| 34 | # ``ECM_ENABLE_SANITIZERS`` (either in your ``CMakeLists.txt`` or on the | ||
| 35 | # command line) to a semicolon-separated list of sanitizers you wish to enable. | ||
| 36 | # The options are: | ||
| 37 | # | ||
| 38 | # - address | ||
| 39 | # - memory | ||
| 40 | # - thread | ||
| 41 | # - leak | ||
| 42 | # - undefined | ||
| 43 | # | ||
| 44 | # The sanitizers "address", "memory" and "thread" are mutually exclusive. You | ||
| 45 | # cannot enable two of them in the same build. | ||
| 46 | # | ||
| 47 | # "leak" requires the "address" sanitizer. | ||
| 48 | # | ||
| 49 | # .. note:: | ||
| 50 | # | ||
| 51 | # To reduce the overhead induced by the instrumentation of the sanitizers, it | ||
| 52 | # is advised to enable compiler optimizations (``-O1`` or higher). | ||
| 53 | # | ||
| 54 | # Example | ||
| 55 | # ======= | ||
| 56 | # | ||
| 57 | # This is an example of usage:: | ||
| 58 | # | ||
| 59 | # mkdir build | ||
| 60 | # cd build | ||
| 61 | # cmake -DECM_ENABLE_SANITIZERS='address;leak;undefined' .. | ||
| 62 | # | ||
| 63 | # .. note:: | ||
| 64 | # | ||
| 65 | # Most of the sanitizers will require Clang. To enable it, use:: | ||
| 66 | # | ||
| 67 | # -DCMAKE_CXX_COMPILER=clang++ | ||
| 68 | # | ||
| 69 | # Since 1.3.0. | ||
| 70 | |||
| 71 | #============================================================================= | ||
| 72 | # Copyright 2014 Mathieu Tarral <mathieu.tarral@gmail.com> | ||
| 73 | # | ||
| 74 | # Distributed under the OSI-approved BSD License (the "License"); | ||
| 75 | # see accompanying file COPYING-CMAKE-SCRIPTS for details. | ||
| 76 | # | ||
| 77 | # This software is distributed WITHOUT ANY WARRANTY; without even the | ||
| 78 | # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. | ||
| 79 | # See the License for more information. | ||
| 80 | #============================================================================= | ||
| 81 | # (To distribute this file outside of extra-cmake-modules, substitute the full | ||
| 82 | # License text for the above reference.) | ||
| 83 | |||
| 84 | # MACRO check_compiler_version | ||
| 85 | #----------------------------- | ||
| 86 | macro (check_compiler_version gcc_required_version clang_required_version) | ||
| 87 | if ( | ||
| 88 | ( | ||
| 89 | CMAKE_CXX_COMPILER_ID MATCHES "GNU" | ||
| 90 | AND | ||
| 91 | CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${gcc_required_version} | ||
| 92 | ) | ||
| 93 | OR | ||
| 94 | ( | ||
| 95 | CMAKE_CXX_COMPILER_ID MATCHES "Clang" | ||
| 96 | AND | ||
| 97 | CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${clang_required_version} | ||
| 98 | ) | ||
| 99 | ) | ||
| 100 | # error ! | ||
| 101 | message(FATAL_ERROR "You ask to enable the sanitizer ${CUR_SANITIZER}, | ||
| 102 | but your compiler ${CMAKE_CXX_COMPILER_ID} version ${CMAKE_CXX_COMPILER_VERSION} | ||
| 103 | does not support it ! | ||
| 104 | You should use at least GCC ${gcc_required_version} or Clang ${clang_required_version} | ||
| 105 | (99.99 means not implemented yet)") | ||
| 106 | endif () | ||
| 107 | endmacro () | ||
| 108 | |||
| 109 | # MACRO check_compiler_support | ||
| 110 | #------------------------------ | ||
| 111 | macro (enable_sanitizer_flags sanitize_option) | ||
| 112 | if (${sanitize_option} MATCHES "address") | ||
| 113 | check_compiler_version("4.8" "3.1") | ||
| 114 | set(XSAN_COMPILE_FLAGS "-fsanitize=address -fno-omit-frame-pointer -fno-optimize-sibling-calls") | ||
| 115 | set(XSAN_LINKER_FLAGS "asan") | ||
| 116 | elseif (${sanitize_option} MATCHES "thread") | ||
| 117 | check_compiler_version("4.8" "3.1") | ||
| 118 | set(XSAN_COMPILE_FLAGS "-fsanitize=thread") | ||
| 119 | set(XSAN_LINKER_FLAGS "tsan") | ||
| 120 | elseif (${sanitize_option} MATCHES "memory") | ||
| 121 | check_compiler_version("99.99" "3.1") | ||
| 122 | set(XSAN_COMPILE_FLAGS "-fsanitize=memory") | ||
| 123 | elseif (${sanitize_option} MATCHES "leak") | ||
| 124 | check_compiler_version("4.9" "3.4") | ||
| 125 | set(XSAN_COMPILE_FLAGS "-fsanitize=leak") | ||
| 126 | set(XSAN_LINKER_FLAGS "lsan") | ||
| 127 | elseif (${sanitize_option} MATCHES "undefined") | ||
| 128 | check_compiler_version("4.9" "3.1") | ||
| 129 | set(XSAN_COMPILE_FLAGS "-fsanitize=undefined -fno-omit-frame-pointer -fno-optimize-sibling-calls") | ||
| 130 | else () | ||
| 131 | message(FATAL_ERROR "Compiler sanitizer option \"${sanitize_option}\" not supported.") | ||
| 132 | endif () | ||
| 133 | endmacro () | ||
| 134 | |||
| 135 | # for each element of the ECM_ENABLE_SANITIZERS list | ||
| 136 | foreach ( CUR_SANITIZER ${ECM_ENABLE_SANITIZERS} ) | ||
| 137 | # lowercase filter | ||
| 138 | string(TOLOWER ${CUR_SANITIZER} CUR_SANITIZER) | ||
| 139 | # check option and enable appropriate flags | ||
| 140 | enable_sanitizer_flags ( ${CUR_SANITIZER} ) | ||
| 141 | set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${XSAN_COMPILE_FLAGS}" ) | ||
| 142 | if(CMAKE_CXX_COMPILER_ID MATCHES "GNU") | ||
| 143 | link_libraries(${XSAN_LINKER_FLAGS}) | ||
| 144 | endif() | ||
| 145 | if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang") | ||
| 146 | string(REPLACE "-Wl,--no-undefined" "" CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}") | ||
| 147 | string(REPLACE "-Wl,--no-undefined" "" CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}") | ||
| 148 | endif () | ||
| 149 | endforeach () | ||
diff --git a/project/cmake/platform/android/defines.txt b/project/cmake/platform/android/defines.txt deleted file mode 100644 index fa103d0..0000000 --- a/project/cmake/platform/android/defines.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID | ||
diff --git a/project/cmake/platform/freebsd/defines.txt b/project/cmake/platform/freebsd/defines.txt deleted file mode 100644 index 9483597..0000000 --- a/project/cmake/platform/freebsd/defines.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | -DTARGET_POSIX -DTARGET_FREEBSD -D_LINUX | ||
diff --git a/project/cmake/platform/ios/defines.txt b/project/cmake/platform/ios/defines.txt deleted file mode 100644 index d0989ea..0000000 --- a/project/cmake/platform/ios/defines.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | -DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_IOS -D_LINUX | ||
diff --git a/project/cmake/platform/linux/defines.txt b/project/cmake/platform/linux/defines.txt deleted file mode 100644 index 3fe9c5c..0000000 --- a/project/cmake/platform/linux/defines.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -fPIC | ||
diff --git a/project/cmake/platform/osx/defines.txt b/project/cmake/platform/osx/defines.txt deleted file mode 100644 index 33b009e..0000000 --- a/project/cmake/platform/osx/defines.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | -DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX -D_LINUX | ||
diff --git a/project/cmake/platform/rbpi/defines.txt b/project/cmake/platform/rbpi/defines.txt deleted file mode 100644 index 08fe4cb..0000000 --- a/project/cmake/platform/rbpi/defines.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI | ||
diff --git a/project/cmake/platform/windows/defines.txt b/project/cmake/platform/windows/defines.txt deleted file mode 100644 index 5ccd98a..0000000 --- a/project/cmake/platform/windows/defines.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | -DTARGET_WINDOWS -DNOMINMAX -D_CRT_SECURE_NO_WARNINGS -D_USE_32BIT_TIME_T -D_WINSOCKAPI_ \ No newline at end of file | ||
diff --git a/project/cmake/scripts/android/ArchSetup.cmake b/project/cmake/scripts/android/ArchSetup.cmake deleted file mode 100644 index 281f94f..0000000 --- a/project/cmake/scripts/android/ArchSetup.cmake +++ /dev/null | |||
| @@ -1,35 +0,0 @@ | |||
| 1 | if(NOT CMAKE_TOOLCHAIN_FILE) | ||
| 2 | message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for android. See ${PROJECT_SOURCE_DIR}/README.md") | ||
| 3 | elseif(NOT SDK_PLATFORM) | ||
| 4 | message(FATAL_ERROR "Toolchain did not define SDK_PLATFORM. Possibly outdated depends.") | ||
| 5 | endif() | ||
| 6 | |||
| 7 | set(ARCH_DEFINES -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -DTARGET_ANDROID) | ||
| 8 | set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED | ||
| 9 | -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) | ||
| 10 | set(PLATFORM_DIR linux) | ||
| 11 | if(WITH_ARCH) | ||
| 12 | set(ARCH ${WITH_ARCH}) | ||
| 13 | else() | ||
| 14 | if(CPU STREQUAL armeabi-v7a) | ||
| 15 | set(ARCH arm) | ||
| 16 | set(NEON True) | ||
| 17 | elseif(CPU STREQUAL arm64-v8a) | ||
| 18 | set(ARCH aarch64) | ||
| 19 | elseif(CPU STREQUAL i686) | ||
| 20 | set(ARCH i486-linux) | ||
| 21 | set(NEON False) | ||
| 22 | else() | ||
| 23 | message(SEND_ERROR "Unknown CPU: ${CPU}") | ||
| 24 | endif() | ||
| 25 | endif() | ||
| 26 | |||
| 27 | set(FFMPEG_OPTS --enable-cross-compile --cpu=cortex-a9 --arch=arm --target-os=linux --enable-neon | ||
| 28 | --disable-vdpau --cc=${CMAKE_C_COMPILER} --host-cc=${CMAKE_C_COMPILER} | ||
| 29 | --strip=${CMAKE_STRIP}) | ||
| 30 | set(ENABLE_SDL OFF CACHE BOOL "" FORCE) | ||
| 31 | set(ENABLE_X11 OFF CACHE BOOL "" FORCE) | ||
| 32 | set(ENABLE_AML OFF CACHE BOOL "" FORCE) | ||
| 33 | set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) | ||
| 34 | |||
| 35 | list(APPEND DEPLIBS android log jnigraphics) | ||
diff --git a/project/cmake/scripts/android/Install.cmake b/project/cmake/scripts/android/Install.cmake deleted file mode 100644 index 025f194..0000000 --- a/project/cmake/scripts/android/Install.cmake +++ /dev/null | |||
| @@ -1,122 +0,0 @@ | |||
| 1 | # Android packaging | ||
| 2 | |||
| 3 | find_program(AAPT_EXECUTABLE aapt PATHS ${SDK_BUILDTOOLS_PATH}) | ||
| 4 | if(NOT AAPT_EXECUTABLE) | ||
| 5 | message(FATAL_ERROR "Could NOT find aapt executable") | ||
| 6 | endif() | ||
| 7 | find_program(DX_EXECUTABLE dx PATHS ${SDK_BUILDTOOLS_PATH}) | ||
| 8 | if(NOT DX_EXECUTABLE) | ||
| 9 | message(FATAL_ERROR "Could NOT find dx executable") | ||
| 10 | endif() | ||
| 11 | find_program(ZIPALIGN_EXECUTABLE zipalign PATHS ${SDK_BUILDTOOLS_PATH}) | ||
| 12 | if(NOT ZIPALIGN_EXECUTABLE) | ||
| 13 | message(FATAL_ERROR "Could NOT find zipalign executable") | ||
| 14 | endif() | ||
| 15 | |||
| 16 | # Configure files into packaging environment. | ||
| 17 | configure_file(${CORE_SOURCE_DIR}/tools/android/packaging/Makefile.in | ||
| 18 | ${CMAKE_BINARY_DIR}/tools/android/packaging/Makefile @ONLY) | ||
| 19 | configure_file(${CORE_SOURCE_DIR}/tools/android/packaging/apksign | ||
| 20 | ${CMAKE_BINARY_DIR}/tools/android/packaging/apksign COPYONLY) | ||
| 21 | configure_file(${CORE_SOURCE_DIR}/tools/android/packaging/make_symbols.sh | ||
| 22 | ${CMAKE_BINARY_DIR}/tools/android/packaging/make_symbols.sh COPYONLY) | ||
| 23 | file(WRITE ${CMAKE_BINARY_DIR}/tools/depends/Makefile.include | ||
| 24 | "$(PREFIX)/lib/${APP_NAME_LC}/lib${APP_NAME_LC}.so: ;\n") | ||
| 25 | |||
| 26 | set(package_files strings.xml | ||
| 27 | activity_main.xml | ||
| 28 | AndroidManifest.xml | ||
| 29 | src/org/xbmc/kodi/XBMCOnAudioFocusChangeListener.java | ||
| 30 | src/org/xbmc/kodi/XBMCInputDeviceListener.java | ||
| 31 | src/org/xbmc/kodi/Main.java | ||
| 32 | src/org/xbmc/kodi/XBMCSettingsContentObserver.java | ||
| 33 | src/org/xbmc/kodi/XBMCOnFrameAvailableListener.java | ||
| 34 | src/org/xbmc/kodi/XBMCVideoView.java | ||
| 35 | src/org/xbmc/kodi/Splash.java | ||
| 36 | src/org/xbmc/kodi/XBMCBroadcastReceiver.java) | ||
| 37 | foreach(file IN LISTS package_files) | ||
| 38 | configure_file(${CORE_SOURCE_DIR}/tools/android/packaging/xbmc/${file}.in | ||
| 39 | ${CMAKE_BINARY_DIR}/tools/android/packaging/xbmc/${file} @ONLY) | ||
| 40 | endforeach() | ||
| 41 | |||
| 42 | # Copy files to the location expected by the Android packaging scripts. | ||
| 43 | add_custom_target(bundle | ||
| 44 | COMMAND ${CMAKE_COMMAND} -E copy_directory ${CORE_SOURCE_DIR}/tools/android/packaging/media | ||
| 45 | ${CMAKE_BINARY_DIR}/tools/android/packaging/media | ||
| 46 | COMMAND ${CMAKE_COMMAND} -E copy_directory ${CORE_SOURCE_DIR}/tools/android/packaging/xbmc/res | ||
| 47 | ${CMAKE_BINARY_DIR}/tools/android/packaging/xbmc/res | ||
| 48 | COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDS_PATH}/lib/python2.7 ${libdir}/python2.7 | ||
| 49 | COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDS_PATH}/share/${APP_NAME_LC} ${datadir}/${APP_NAME_LC} | ||
| 50 | COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${APP_NAME_LC}> | ||
| 51 | ${libdir}/${APP_NAME_LC}/$<TARGET_FILE_NAME:${APP_NAME_LC}>) | ||
| 52 | add_dependencies(bundle ${APP_NAME_LC}) | ||
| 53 | |||
| 54 | # This function is used to prepare a prefix expected by the Android packaging | ||
| 55 | # scripts. It creates a bundle_files command that is added to the bundle target. | ||
| 56 | function(add_bundle_file file destination relative) | ||
| 57 | if(NOT TARGET bundle_files) | ||
| 58 | file(REMOVE ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/BundleFiles.cmake) | ||
| 59 | add_custom_target(bundle_files COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/BundleFiles.cmake) | ||
| 60 | add_dependencies(bundle bundle_files) | ||
| 61 | endif() | ||
| 62 | |||
| 63 | string(REPLACE "${relative}/" "" outfile ${file}) | ||
| 64 | get_filename_component(file ${file} REALPATH) | ||
| 65 | get_filename_component(outdir ${outfile} DIRECTORY) | ||
| 66 | file(APPEND ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/BundleFiles.cmake | ||
| 67 | "file(COPY \"${file}\" DESTINATION \"${destination}/${outdir}\")\n") | ||
| 68 | if(file MATCHES "\\.so\\..+$") | ||
| 69 | get_filename_component(srcfile "${file}" NAME) | ||
| 70 | string(REGEX REPLACE "\\.so\\..+$" "\.so" destfile ${srcfile}) | ||
| 71 | file(APPEND ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/BundleFiles.cmake | ||
| 72 | "file(RENAME \"${destination}/${outdir}/${srcfile}\" \"${destination}/${outdir}/${destfile}\")\n") | ||
| 73 | endif() | ||
| 74 | endfunction() | ||
| 75 | |||
| 76 | # Copy files into prefix | ||
| 77 | foreach(file IN LISTS XBT_FILES install_data) | ||
| 78 | string(REPLACE "${CMAKE_BINARY_DIR}/" "" file ${file}) | ||
| 79 | add_bundle_file(${CMAKE_BINARY_DIR}/${file} ${datarootdir}/${APP_NAME_LC} ${CMAKE_BINARY_DIR}) | ||
| 80 | endforeach() | ||
| 81 | |||
| 82 | foreach(library IN LISTS LIBRARY_FILES) | ||
| 83 | add_bundle_file(${library} ${libdir}/${APP_NAME_LC} ${CMAKE_BINARY_DIR}) | ||
| 84 | endforeach() | ||
| 85 | |||
| 86 | foreach(lib IN LISTS required_dyload dyload_optional ITEMS Shairplay) | ||
| 87 | string(TOUPPER ${lib} lib_up) | ||
| 88 | set(lib_so ${${lib_up}_SONAME}) | ||
| 89 | if(lib_so AND EXISTS ${DEPENDS_PATH}/lib/${lib_so}) | ||
| 90 | add_bundle_file(${DEPENDS_PATH}/lib/${lib_so} ${libdir} "") | ||
| 91 | endif() | ||
| 92 | endforeach() | ||
| 93 | add_bundle_file(${SMBCLIENT_LIBRARY} ${libdir} "") | ||
| 94 | |||
| 95 | # Main targets from Makefile.in | ||
| 96 | if(CPU MATCHES i686) | ||
| 97 | set(CPU x86) | ||
| 98 | set(ARCH x86) | ||
| 99 | endif() | ||
| 100 | foreach(target apk obb apk-unsigned apk-obb apk-obb-unsigned apk-noobb apk-clean apk-sign) | ||
| 101 | add_custom_target(${target} | ||
| 102 | COMMAND PATH=${NATIVEPREFIX}/bin:$ENV{PATH} ${CMAKE_MAKE_PROGRAM} | ||
| 103 | -C ${CMAKE_BINARY_DIR}/tools/android/packaging | ||
| 104 | CORE_SOURCE_DIR=${CORE_SOURCE_DIR} | ||
| 105 | CC=${CMAKE_C_COMPILER} | ||
| 106 | CPU=${CPU} | ||
| 107 | ARCH=${ARCH} | ||
| 108 | PREFIX=${prefix} | ||
| 109 | NDKROOT=${NDKROOT} | ||
| 110 | SDKROOT=${SDKROOT} | ||
| 111 | SDK_PLATFORM=${SDK_PLATFORM} | ||
| 112 | STRIP=${CMAKE_STRIP} | ||
| 113 | AAPT=${AAPT_EXECUTABLE} | ||
| 114 | DX=${DX_EXECUTABLE} | ||
| 115 | ZIPALIGN=${ZIPALIGN_EXECUTABLE} | ||
| 116 | ${target} | ||
| 117 | WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tools/android/packaging | ||
| 118 | ) | ||
| 119 | if(NOT target STREQUAL apk-clean) | ||
| 120 | add_dependencies(${target} bundle) | ||
| 121 | endif() | ||
| 122 | endforeach() | ||
diff --git a/project/cmake/scripts/android/Macros.cmake b/project/cmake/scripts/android/Macros.cmake deleted file mode 120000 index 2fdbb25..0000000 --- a/project/cmake/scripts/android/Macros.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../linux/Macros.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/android/PathSetup.cmake b/project/cmake/scripts/android/PathSetup.cmake deleted file mode 100644 index 69de883..0000000 --- a/project/cmake/scripts/android/PathSetup.cmake +++ /dev/null | |||
| @@ -1,33 +0,0 @@ | |||
| 1 | if(NOT prefix) | ||
| 2 | set(prefix ${CMAKE_BINARY_DIR}/install) | ||
| 3 | endif() | ||
| 4 | set(CMAKE_INSTALL_PREFIX ${prefix}) | ||
| 5 | if(NOT exec_prefix) | ||
| 6 | set(exec_prefix ${prefix}) | ||
| 7 | endif() | ||
| 8 | if(NOT libdir) | ||
| 9 | set(libdir ${prefix}/lib) | ||
| 10 | endif() | ||
| 11 | if(NOT bindir) | ||
| 12 | set(bindir ${prefix}/bin) | ||
| 13 | endif() | ||
| 14 | if(NOT includedir) | ||
| 15 | set(includedir ${prefix}/include) | ||
| 16 | endif() | ||
| 17 | if(NOT datarootdir) | ||
| 18 | set(datarootdir ${prefix}/share) | ||
| 19 | endif() | ||
| 20 | if(NOT datadir) | ||
| 21 | set(datadir ${datarootdir}) | ||
| 22 | endif() | ||
| 23 | |||
| 24 | list(APPEND final_message "-- PATH config --") | ||
| 25 | list(APPEND final_message "Prefix: ${prefix}") | ||
| 26 | list(APPEND final_message "Libdir: ${libdir}") | ||
| 27 | list(APPEND final_message "Bindir: ${bindir}") | ||
| 28 | list(APPEND final_message "Includedir: ${includedir}") | ||
| 29 | list(APPEND final_message "Datarootdir: ${datarootdir}") | ||
| 30 | list(APPEND final_message "Datadir: ${datadir}") | ||
| 31 | |||
| 32 | set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" | ||
| 33 | -DINSTALL_PATH=\"${datarootdir}/kodi\") | ||
diff --git a/project/cmake/scripts/common/AddOptions.cmake b/project/cmake/scripts/common/AddOptions.cmake deleted file mode 100644 index 96837c1..0000000 --- a/project/cmake/scripts/common/AddOptions.cmake +++ /dev/null | |||
| @@ -1,78 +0,0 @@ | |||
| 1 | # - Add options without repeating them on the command line | ||
| 2 | # | ||
| 3 | # Synopsis: | ||
| 4 | # | ||
| 5 | # add_options (lang build opts) | ||
| 6 | # | ||
| 7 | # where: | ||
| 8 | # | ||
| 9 | # lang Name of the language whose compiler should receive the | ||
| 10 | # options, e.g. CXX. If a comma-separated list is received | ||
| 11 | # then the option is added for all those languages. Use the | ||
| 12 | # special value ALL_LANGUAGES for these languages: CXX, C | ||
| 13 | # and Fortran | ||
| 14 | # | ||
| 15 | # build Kind of build to which this options should apply, | ||
| 16 | # such as DEBUG and RELEASE. This can also be a comma- | ||
| 17 | # separated list. Use the special value ALL_BUILDS to apply | ||
| 18 | # to all builds. | ||
| 19 | # | ||
| 20 | # opts List of options to add. Each should be quoted. | ||
| 21 | # | ||
| 22 | # Example: | ||
| 23 | # | ||
| 24 | # add_options (CXX RELEASE "-O3" "-DNDEBUG" "-Wall") | ||
| 25 | |||
| 26 | function(add_options langs builds) | ||
| 27 | # special handling of empty language specification | ||
| 28 | if("${langs}" STREQUAL "ALL_LANGUAGES") | ||
| 29 | set(langs CXX C Fortran) | ||
| 30 | endif() | ||
| 31 | foreach(lang IN LISTS langs) | ||
| 32 | # prepend underscore if necessary | ||
| 33 | foreach(build IN LISTS builds) | ||
| 34 | if(NOT ("${build}" STREQUAL "ALL_BUILDS")) | ||
| 35 | set(_bld "_${build}") | ||
| 36 | string(TOUPPER "${_bld}" _bld) | ||
| 37 | else() | ||
| 38 | set(_bld "") | ||
| 39 | endif() | ||
| 40 | foreach(_opt IN LISTS ARGN) | ||
| 41 | set(_var "CMAKE_${lang}_FLAGS${_bld}") | ||
| 42 | #message(STATUS "Adding \"${_opt}\" to \${${_var}}") | ||
| 43 | # remove it first | ||
| 44 | string(REPLACE "${_opt}" "" _without "${${_var}}") | ||
| 45 | string(STRIP "${_without}" _without) | ||
| 46 | # we need to strip this one as well, so they are comparable | ||
| 47 | string(STRIP "${${_var}}" _stripped) | ||
| 48 | # if it wasn't there, then add it at the end | ||
| 49 | if("${_without}" STREQUAL "${_stripped}") | ||
| 50 | # don't add any extra spaces if no options yet are set | ||
| 51 | if(NOT ${_stripped} STREQUAL "") | ||
| 52 | set(${_var} "${_stripped} ${_opt}") | ||
| 53 | else() | ||
| 54 | set(${_var} "${_opt}") | ||
| 55 | endif() | ||
| 56 | set(${_var} "${${_var}}" PARENT_SCOPE) | ||
| 57 | endif() | ||
| 58 | endforeach() | ||
| 59 | endforeach() | ||
| 60 | endforeach() | ||
| 61 | endfunction() | ||
| 62 | |||
| 63 | # set varname to flag unless user has specified something that matches regex | ||
| 64 | function(set_default_option varname flag regex) | ||
| 65 | if(NOT "$ENV{CXXFLAGS}" MATCHES "${regex}" | ||
| 66 | AND NOT "${CMAKE_CXX_FLAGS}" MATCHES "${regex}" | ||
| 67 | AND NOT "${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}}" MATCHES "${regex}") | ||
| 68 | set(${varname} ${flag} PARENT_SCOPE) | ||
| 69 | else() | ||
| 70 | set(${varname} PARENT_SCOPE) | ||
| 71 | endif() | ||
| 72 | endfunction() | ||
| 73 | |||
| 74 | # note: this must be called before project() | ||
| 75 | macro(no_default_options) | ||
| 76 | # prevent the platform probe to set options | ||
| 77 | set(CMAKE_NOT_USING_CONFIG_FLAGS TRUE) | ||
| 78 | endmacro() | ||
diff --git a/project/cmake/scripts/common/AddonHelpers.cmake b/project/cmake/scripts/common/AddonHelpers.cmake deleted file mode 100644 index 6680ed1..0000000 --- a/project/cmake/scripts/common/AddonHelpers.cmake +++ /dev/null | |||
| @@ -1,268 +0,0 @@ | |||
| 1 | # Workaround for the fact that cpack's filenames are not customizable. | ||
| 2 | # Each add-on is added as a separate component to facilitate zip/tgz packaging. | ||
| 3 | # The filenames are always of the form basename-component, which is | ||
| 4 | # incompatible with the addonid-version scheme we want. This hack renames | ||
| 5 | # the files from the file names generated by the 'package' target. | ||
| 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 | ||
| 8 | # Thus, we have to add an 'addon-package' target. | ||
| 9 | add_custom_target(addon-package | ||
| 10 | COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target package) | ||
| 11 | |||
| 12 | macro(add_cpack_workaround target version ext) | ||
| 13 | if(NOT PACKAGE_DIR) | ||
| 14 | set(PACKAGE_DIR "${CMAKE_INSTALL_PREFIX}/zips") | ||
| 15 | endif() | ||
| 16 | |||
| 17 | add_custom_command(TARGET addon-package PRE_BUILD | ||
| 18 | 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}) | ||
| 20 | endmacro() | ||
| 21 | |||
| 22 | # Grab the version from a given add-on's addon.xml | ||
| 23 | macro (addon_version dir prefix) | ||
| 24 | if(EXISTS ${PROJECT_SOURCE_DIR}/${dir}/addon.xml.in) | ||
| 25 | file(READ ${PROJECT_SOURCE_DIR}/${dir}/addon.xml.in ADDONXML) | ||
| 26 | else() | ||
| 27 | file(READ ${dir}/addon.xml ADDONXML) | ||
| 28 | endif() | ||
| 29 | |||
| 30 | string(REGEX MATCH "<addon[^>]*version.?=.?.[0-9\\.]+" VERSION_STRING ${ADDONXML}) | ||
| 31 | string(REGEX REPLACE ".*version=.([0-9\\.]+).*" "\\1" ${prefix}_VERSION ${VERSION_STRING}) | ||
| 32 | message(STATUS ${prefix}_VERSION=${${prefix}_VERSION}) | ||
| 33 | endmacro() | ||
| 34 | |||
| 35 | # Build, link and optionally package an add-on | ||
| 36 | macro (build_addon target prefix libs) | ||
| 37 | addon_version(${target} ${prefix}) | ||
| 38 | if(${prefix}_SOURCES) | ||
| 39 | add_library(${target} ${${prefix}_SOURCES}) | ||
| 40 | target_link_libraries(${target} ${${libs}}) | ||
| 41 | set_target_properties(${target} PROPERTIES VERSION ${${prefix}_VERSION} | ||
| 42 | SOVERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR} | ||
| 43 | PREFIX "") | ||
| 44 | if(OS STREQUAL "android") | ||
| 45 | set_target_properties(${target} PROPERTIES PREFIX "lib") | ||
| 46 | endif() | ||
| 47 | elseif(${prefix}_CUSTOM_BINARY) | ||
| 48 | add_custom_target(${target} ALL) | ||
| 49 | endif() | ||
| 50 | |||
| 51 | # get the library's location | ||
| 52 | if(${prefix}_CUSTOM_BINARY) | ||
| 53 | list(GET ${prefix}_CUSTOM_BINARY 0 LIBRARY_LOCATION) | ||
| 54 | list(GET ${prefix}_CUSTOM_BINARY 1 LIBRARY_FILENAME) | ||
| 55 | else() | ||
| 56 | set(LIBRARY_LOCATION $<TARGET_FILE:${target}>) | ||
| 57 | # get the library's filename | ||
| 58 | if("${CORE_SYSTEM_NAME}" STREQUAL "android") | ||
| 59 | # for android we need the filename without any version numbers | ||
| 60 | set(LIBRARY_FILENAME $<TARGET_LINKER_FILE_NAME:${target}>) | ||
| 61 | else() | ||
| 62 | set(LIBRARY_FILENAME $<TARGET_FILE_NAME:${target}>) | ||
| 63 | endif() | ||
| 64 | endif() | ||
| 65 | |||
| 66 | # if there's an addon.xml.in we need to generate the addon.xml | ||
| 67 | if(EXISTS ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in) | ||
| 68 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in) | ||
| 69 | set(PLATFORM ${CORE_SYSTEM_NAME}) | ||
| 70 | |||
| 71 | file(READ ${PROJECT_SOURCE_DIR}/${target}/addon.xml.in addon_file) | ||
| 72 | string(CONFIGURE "${addon_file}" addon_file_conf @ONLY) | ||
| 73 | file(GENERATE OUTPUT ${PROJECT_SOURCE_DIR}/${target}/addon.xml CONTENT "${addon_file_conf}") | ||
| 74 | if(${APP_NAME_UC}_BUILD_DIR) | ||
| 75 | file(GENERATE OUTPUT ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/addon.xml CONTENT "${addon_file_conf}") | ||
| 76 | endif() | ||
| 77 | endif() | ||
| 78 | |||
| 79 | # if there's an settings.xml.in we need to generate the settings.xml | ||
| 80 | if(EXISTS ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in) | ||
| 81 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in) | ||
| 82 | set(PLATFORM ${CORE_SYSTEM_NAME}) | ||
| 83 | |||
| 84 | file(READ ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml.in settings_file) | ||
| 85 | string(CONFIGURE "${settings_file}" settings_file_conf @ONLY) | ||
| 86 | file(GENERATE OUTPUT ${PROJECT_SOURCE_DIR}/${target}/resources/settings.xml CONTENT "${settings_file_conf}") | ||
| 87 | if(${APP_NAME_UC}_BUILD_DIR) | ||
| 88 | file(GENERATE OUTPUT ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/resources/settings.xml CONTENT "${settings_file_conf}") | ||
| 89 | endif() | ||
| 90 | endif() | ||
| 91 | |||
| 92 | # set zip as default if addon-package is called without PACKAGE_XXX | ||
| 93 | set(CPACK_GENERATOR "ZIP") | ||
| 94 | set(ext "zip") | ||
| 95 | if(PACKAGE_ZIP OR PACKAGE_TGZ) | ||
| 96 | if(PACKAGE_TGZ) | ||
| 97 | set(CPACK_GENERATOR "TGZ") | ||
| 98 | set(ext "tar.gz") | ||
| 99 | endif() | ||
| 100 | set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY OFF) | ||
| 101 | set(CPACK_PACKAGE_FILE_NAME addon) | ||
| 102 | if(CMAKE_BUILD_TYPE STREQUAL "Release") | ||
| 103 | set(CPACK_STRIP_FILES TRUE) | ||
| 104 | endif() | ||
| 105 | set(CPACK_ARCHIVE_COMPONENT_INSTALL ON) | ||
| 106 | set(CPACK_COMPONENTS_IGNORE_GROUPS 1) | ||
| 107 | list(APPEND CPACK_COMPONENTS_ALL ${target}-${${prefix}_VERSION}) | ||
| 108 | # Pack files together to create an archive | ||
| 109 | install(DIRECTORY ${target} DESTINATION ./ COMPONENT ${target}-${${prefix}_VERSION} PATTERN "xml.in" EXCLUDE) | ||
| 110 | if(WIN32) | ||
| 111 | if(NOT CPACK_PACKAGE_DIRECTORY) | ||
| 112 | # determine the temporary path | ||
| 113 | file(TO_CMAKE_PATH "$ENV{TEMP}" WIN32_TEMP_PATH) | ||
| 114 | string(LENGTH "${WIN32_TEMP_PATH}" WIN32_TEMP_PATH_LENGTH) | ||
| 115 | string(LENGTH "${PROJECT_BINARY_DIR}" PROJECT_BINARY_DIR_LENGTH) | ||
| 116 | |||
| 117 | # check if the temporary path is shorter than the default packaging directory path | ||
| 118 | if(WIN32_TEMP_PATH_LENGTH GREATER 0 AND WIN32_TEMP_PATH_LENGTH LESS PROJECT_BINARY_DIR_LENGTH) | ||
| 119 | # set the directory used by CPack for packaging to the temp directory | ||
| 120 | set(CPACK_PACKAGE_DIRECTORY ${WIN32_TEMP_PATH}) | ||
| 121 | endif() | ||
| 122 | endif() | ||
| 123 | |||
| 124 | # in case of a VC++ project the installation location contains a $(Configuration) VS variable | ||
| 125 | # we replace it with ${CMAKE_BUILD_TYPE} (which doesn't cover the case when the build configuration | ||
| 126 | # is changed within Visual Studio) | ||
| 127 | string(REPLACE "$(Configuration)" "${CMAKE_BUILD_TYPE}" LIBRARY_LOCATION "${LIBRARY_LOCATION}") | ||
| 128 | |||
| 129 | if(${prefix}_SOURCES) | ||
| 130 | # install the generated DLL file | ||
| 131 | install(PROGRAMS ${LIBRARY_LOCATION} DESTINATION ${target} | ||
| 132 | COMPONENT ${target}-${${prefix}_VERSION}) | ||
| 133 | |||
| 134 | if(CMAKE_BUILD_TYPE MATCHES Debug) | ||
| 135 | # for debug builds also install the PDB file | ||
| 136 | get_filename_component(LIBRARY_DIR ${LIBRARY_LOCATION} DIRECTORY) | ||
| 137 | install(FILES $<TARGET_PDB_FILE:${target}> DESTINATION ${target} | ||
| 138 | COMPONENT ${target}-${${prefix}_VERSION}) | ||
| 139 | endif() | ||
| 140 | endif() | ||
| 141 | if (${prefix}_CUSTOM_BINARY) | ||
| 142 | list(GET ${prefix}_CUSTOM_BINARY 0 FROM_BINARY) | ||
| 143 | list(GET ${prefix}_CUSTOM_BINARY 1 TO_BINARY) | ||
| 144 | install(FILES ${FROM_BINARY} DESTINATION ${target} RENAME ${TO_BINARY}) | ||
| 145 | endif() | ||
| 146 | if(${prefix}_CUSTOM_DATA) | ||
| 147 | install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) | ||
| 148 | endif() | ||
| 149 | else() | ||
| 150 | if(NOT CPACK_PACKAGE_DIRECTORY) | ||
| 151 | set(CPACK_PACKAGE_DIRECTORY ${CMAKE_BINARY_DIR}) | ||
| 152 | endif() | ||
| 153 | if(${prefix}_SOURCES) | ||
| 154 | install(TARGETS ${target} DESTINATION ${target} | ||
| 155 | COMPONENT ${target}-${${prefix}_VERSION}) | ||
| 156 | endif() | ||
| 157 | if (${prefix}_CUSTOM_BINARY) | ||
| 158 | list(GET ${prefix}_CUSTOM_BINARY 0 FROM_BINARY) | ||
| 159 | list(GET ${prefix}_CUSTOM_BINARY 1 TO_BINARY) | ||
| 160 | if(OS STREQUAL "android") | ||
| 161 | set(TO_BINARY "lib${TO_BINARY}") | ||
| 162 | endif() | ||
| 163 | install(FILES ${FROM_BINARY} DESTINATION ${target} RENAME ${TO_BINARY} | ||
| 164 | COMPONENT ${target}-${${prefix}_VERSION}) | ||
| 165 | endif() | ||
| 166 | if(${prefix}_CUSTOM_DATA) | ||
| 167 | install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${target}/resources) | ||
| 168 | endif() | ||
| 169 | endif() | ||
| 170 | add_cpack_workaround(${target} ${${prefix}_VERSION} ${ext}) | ||
| 171 | else() | ||
| 172 | if(CORE_SYSTEM_NAME STREQUAL linux OR CORE_SYSTEM_NAME STREQUAL rbpi OR CORE_SYSTEM_NAME STREQUAL freebsd) | ||
| 173 | if(NOT OVERRIDE_PATHS) | ||
| 174 | if(CMAKE_INSTALL_PREFIX AND NOT CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND NOT CMAKE_INSTALL_PREFIX STREQUAL "${${APP_NAME_UC}_PREFIX}") | ||
| 175 | message(WARNING "CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX} differs from ${APP_NAME} prefix, changing to ${${APP_NAME_UC}_PREFIX}. Please pass -DOVERRIDE_PATHS=1 to skip this check") | ||
| 176 | endif() | ||
| 177 | if(CMAKE_INSTALL_LIBDIR AND NOT CMAKE_INSTALL_LIBDIR STREQUAL "${${APP_NAME_UC}_LIB_DIR}") | ||
| 178 | message(WARNING "CMAKE_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR} differs from ${APP_NAME} libdir, changing to ${${APP_NAME_UC}_LIB_DIR}. Please pass -DOVERRIDE_PATHS=1 to skip this check") | ||
| 179 | endif() | ||
| 180 | if(CMAKE_INSTALL_DATADIR AND NOT CMAKE_INSTALL_DATADIR STREQUAL "${${APP_NAME_UC}_DATA_DIR}") | ||
| 181 | message(WARNING "CMAKE_INSTALL_DATADIR ${CMAKE_INSTALL_DATADIR} differs from ${APP_NAME} datadir, changing to ${${APP_NAME_UC}_DATA_DIR}. Please pass -DOVERRIDE_PATHS=1 to skip this check") | ||
| 182 | endif() | ||
| 183 | set(CMAKE_INSTALL_PREFIX "${${APP_NAME_UC}_PREFIX}" CACHE PATH "${APP_NAME} install prefix" FORCE) | ||
| 184 | set(CMAKE_INSTALL_LIBDIR "${${APP_NAME_UC}_LIB_DIR}" CACHE PATH "${APP_NAME} install libdir" FORCE) | ||
| 185 | set(CMAKE_INSTALL_DATADIR "${${APP_NAME_UC}_DATA_DIR}" CACHE PATH "${APP_NAME} install datadir" FORCE) | ||
| 186 | else() | ||
| 187 | if(NOT CMAKE_INSTALL_LIBDIR) | ||
| 188 | set(CMAKE_INSTALL_LIBDIR "${CMAKE_INSTALL_PREFIX}/lib/${APP_NAME_LC}") | ||
| 189 | endif() | ||
| 190 | if(NOT CMAKE_INSTALL_DATADIR) | ||
| 191 | set(CMAKE_INSTALL_DATADIR "${CMAKE_INSTALL_PREFIX}/share/${APP_NAME_LC}") | ||
| 192 | endif() | ||
| 193 | endif() | ||
| 194 | else() | ||
| 195 | set(CMAKE_INSTALL_LIBDIR "lib/${APP_NAME_LC}") | ||
| 196 | set(CMAKE_INSTALL_DATADIR "share/${APP_NAME_LC}") | ||
| 197 | endif() | ||
| 198 | if(${prefix}_SOURCES) | ||
| 199 | install(TARGETS ${target} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target}) | ||
| 200 | endif() | ||
| 201 | if (${prefix}_CUSTOM_BINARY) | ||
| 202 | list(GET ${prefix}_CUSTOM_BINARY 0 FROM_BINARY) | ||
| 203 | list(GET ${prefix}_CUSTOM_BINARY 1 TO_BINARY) | ||
| 204 | if(OS STREQUAL "android") | ||
| 205 | set(TO_BINARY "lib${TO_BINARY}") | ||
| 206 | endif() | ||
| 207 | install(FILES ${FROM_BINARY} DESTINATION ${CMAKE_INSTALL_LIBDIR}/addons/${target} RENAME ${TO_BINARY}) | ||
| 208 | endif() | ||
| 209 | install(DIRECTORY ${target} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons PATTERN "xml.in" EXCLUDE) | ||
| 210 | if(${prefix}_CUSTOM_DATA) | ||
| 211 | install(DIRECTORY ${${prefix}_CUSTOM_DATA} DESTINATION ${CMAKE_INSTALL_DATADIR}/addons/${target}/resources) | ||
| 212 | endif() | ||
| 213 | endif() | ||
| 214 | if(${APP_NAME_UC}_BUILD_DIR) | ||
| 215 | file(GLOB_RECURSE files ${CMAKE_CURRENT_SOURCE_DIR}/${target}/*) | ||
| 216 | if(${prefix}_CUSTOM_DATA) | ||
| 217 | add_custom_command(TARGET ${target} POST_BUILD | ||
| 218 | COMMAND ${CMAKE_COMMAND} -E copy_directory | ||
| 219 | ${${prefix}_CUSTOM_DATA} | ||
| 220 | ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/resources) | ||
| 221 | endif() | ||
| 222 | foreach(file ${files}) | ||
| 223 | string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/${target}/" "" name "${file}") | ||
| 224 | # A good way to deal with () in filenames | ||
| 225 | if(NOT ${file} MATCHES xml.in) | ||
| 226 | configure_file(${file} ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/${name} COPYONLY) | ||
| 227 | endif() | ||
| 228 | endforeach() | ||
| 229 | add_custom_command(TARGET ${target} POST_BUILD | ||
| 230 | COMMAND ${CMAKE_COMMAND} -E copy | ||
| 231 | ${LIBRARY_LOCATION} | ||
| 232 | ${${APP_NAME_UC}_BUILD_DIR}/addons/${target}/${LIBRARY_FILENAME}) | ||
| 233 | endif() | ||
| 234 | endmacro() | ||
| 235 | |||
| 236 | # finds a path to a given file (recursive) | ||
| 237 | function (kodi_find_path var_name filename search_path strip_file) | ||
| 238 | file(GLOB_RECURSE PATH_TO_FILE ${search_path} ${filename}) | ||
| 239 | if(strip_file) | ||
| 240 | string(REPLACE ${filename} "" PATH_TO_FILE ${PATH_TO_FILE}) | ||
| 241 | endif() | ||
| 242 | set (${var_name} ${PATH_TO_FILE} PARENT_SCOPE) | ||
| 243 | endfunction() | ||
| 244 | |||
| 245 | # Cmake build options | ||
| 246 | include(AddOptions) | ||
| 247 | include(TestCXXAcceptsFlag) | ||
| 248 | option(PACKAGE_ZIP "Package Zip file?" OFF) | ||
| 249 | option(PACKAGE_TGZ "Package TGZ file?" OFF) | ||
| 250 | option(BUILD_SHARED_LIBS "Build shared libs?" ON) | ||
| 251 | |||
| 252 | # LTO support? | ||
| 253 | CHECK_CXX_ACCEPTS_FLAG("-flto" HAVE_LTO) | ||
| 254 | if(HAVE_LTO) | ||
| 255 | option(USE_LTO "use link time optimization" OFF) | ||
| 256 | if(USE_LTO) | ||
| 257 | add_options(ALL_LANGUAGES ALL_BUILDS "-flto") | ||
| 258 | endif() | ||
| 259 | endif() | ||
| 260 | |||
| 261 | # set this to try linking dependencies as static as possible | ||
| 262 | if(ADDONS_PREFER_STATIC_LIBS) | ||
| 263 | set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES}) | ||
| 264 | endif() | ||
| 265 | |||
| 266 | if(${APP_NAME_UC}_BUILD_DIR) | ||
| 267 | list(APPEND CMAKE_PREFIX_PATH ${${APP_NAME_UC}_BUILD_DIR}/build) | ||
| 268 | endif() | ||
diff --git a/project/cmake/scripts/common/ArchSetup.cmake b/project/cmake/scripts/common/ArchSetup.cmake deleted file mode 100644 index 538fcaf..0000000 --- a/project/cmake/scripts/common/ArchSetup.cmake +++ /dev/null | |||
| @@ -1,155 +0,0 @@ | |||
| 1 | # This script configures the build for a given architecture. | ||
| 2 | # Flags and stringified arch is set up. | ||
| 3 | # General compiler tests belongs here. | ||
| 4 | # | ||
| 5 | # On return, the following variables are set: | ||
| 6 | # CMAKE_SYSTEM_NAME - a lowercased system name | ||
| 7 | # CPU - the CPU on the target | ||
| 8 | # ARCH - the system architecture | ||
| 9 | # ARCH_DEFINES - list of compiler definitions for this architecture | ||
| 10 | # SYSTEM_DEFINES - list of compiler definitions for this system | ||
| 11 | # DEP_DEFINES - compiler definitions for system dependencies (e.g. LIRC) | ||
| 12 | # + the results of compiler tests etc. | ||
| 13 | |||
| 14 | include(CheckCXXSourceCompiles) | ||
| 15 | include(CheckSymbolExists) | ||
| 16 | include(CheckFunctionExists) | ||
| 17 | include(CheckIncludeFile) | ||
| 18 | |||
| 19 | # Macro to check if a given type exists in a given header | ||
| 20 | # Arguments: | ||
| 21 | # header the header to check | ||
| 22 | # type the type to check for existence | ||
| 23 | # var the compiler definition to set if type exists | ||
| 24 | # On return: | ||
| 25 | # If type was found, the definition is added to SYSTEM_DEFINES | ||
| 26 | macro(check_type header type var) | ||
| 27 | check_cxx_source_compiles("#include <${header}> | ||
| 28 | int main() | ||
| 29 | { | ||
| 30 | ${type} s; | ||
| 31 | }" ${var}) | ||
| 32 | if(${var}) | ||
| 33 | list(APPEND SYSTEM_DEFINES -D${var}=1) | ||
| 34 | endif() | ||
| 35 | endmacro() | ||
| 36 | |||
| 37 | # Macro to check if a given builtin function exists | ||
| 38 | # Arguments: | ||
| 39 | # func the function to check | ||
| 40 | # var the compiler definition to set if type exists | ||
| 41 | # On return: | ||
| 42 | # If type was found, the definition is added to SYSTEM_DEFINES | ||
| 43 | macro(check_builtin func var) | ||
| 44 | check_cxx_source_compiles(" | ||
| 45 | int main() | ||
| 46 | { | ||
| 47 | ${func}; | ||
| 48 | }" ${var}) | ||
| 49 | if(${var}) | ||
| 50 | list(APPEND SYSTEM_DEFINES -D${var}=1) | ||
| 51 | endif() | ||
| 52 | endmacro() | ||
| 53 | |||
| 54 | |||
| 55 | # -------- Main script --------- | ||
| 56 | message(STATUS "System type: ${CMAKE_SYSTEM_NAME}") | ||
| 57 | if(NOT CORE_SYSTEM_NAME) | ||
| 58 | string(TOLOWER ${CMAKE_SYSTEM_NAME} CORE_SYSTEM_NAME) | ||
| 59 | endif() | ||
| 60 | |||
| 61 | if(WITH_CPU) | ||
| 62 | set(CPU ${WITH_CPU}) | ||
| 63 | elseif(NOT CMAKE_TOOLCHAIN_FILE) | ||
| 64 | set(CPU ${CMAKE_SYSTEM_PROCESSOR}) | ||
| 65 | endif() | ||
| 66 | |||
| 67 | if(CMAKE_TOOLCHAIN_FILE) | ||
| 68 | if(NOT EXISTS "${CMAKE_TOOLCHAIN_FILE}") | ||
| 69 | message(FATAL_ERROR "Toolchain file ${CMAKE_TOOLCHAIN_FILE} does not exist.") | ||
| 70 | elseif(NOT DEPENDS_PATH OR NOT NATIVEPREFIX) | ||
| 71 | message(FATAL_ERROR "Toolchain did not define DEPENDS_PATH or NATIVEPREFIX. Possibly outdated depends.") | ||
| 72 | endif() | ||
| 73 | endif() | ||
| 74 | |||
| 75 | # While CMAKE_CROSSCOMPILING is set unconditionally if there's a toolchain file, | ||
| 76 | # this variable is set if we can execute build artefacts on the host system (for example unit tests). | ||
| 77 | if(CMAKE_HOST_SYSTEM_PROCESSOR STREQUAL CMAKE_SYSTEM_PROCESSOR AND | ||
| 78 | CMAKE_HOST_SYSTEM_NAME STREQUAL CMAKE_SYSTEM_NAME) | ||
| 79 | set(CORE_HOST_IS_TARGET TRUE) | ||
| 80 | else() | ||
| 81 | set(CORE_HOST_IS_TARGET FALSE) | ||
| 82 | endif() | ||
| 83 | |||
| 84 | # Main cpp | ||
| 85 | set(CORE_MAIN_SOURCE ${CORE_SOURCE_DIR}/xbmc/platform/posix/main.cpp) | ||
| 86 | |||
| 87 | # system specific arch setup | ||
| 88 | if(NOT EXISTS ${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/ArchSetup.cmake) | ||
| 89 | message(FATAL_ERROR "Couldn't find configuration for '${CORE_SYSTEM_NAME}' " | ||
| 90 | "Either the platform is not (yet) supported " | ||
| 91 | "or a toolchain file has to be specified. " | ||
| 92 | "Consult ${CMAKE_SOURCE_DIR}/README.md for instructions. " | ||
| 93 | "Note: Specifying a toolchain requires a clean build directory!") | ||
| 94 | endif() | ||
| 95 | include(${PROJECT_SOURCE_DIR}/scripts/${CORE_SYSTEM_NAME}/ArchSetup.cmake) | ||
| 96 | |||
| 97 | message(STATUS "Core system type: ${CORE_SYSTEM_NAME}") | ||
| 98 | message(STATUS "Platform: ${PLATFORM}") | ||
| 99 | message(STATUS "CPU: ${CPU}, ARCH: ${ARCH}") | ||
| 100 | message(STATUS "Cross-Compiling: ${CMAKE_CROSSCOMPILING}") | ||
| 101 | message(STATUS "Execute build artefacts on host: ${CORE_HOST_IS_TARGET}") | ||
| 102 | |||
| 103 | check_type(string std::u16string HAVE_STD__U16_STRING) | ||
| 104 | check_type(string std::u32string HAVE_STD__U32_STRING) | ||
| 105 | check_type(string char16_t HAVE_CHAR16_T) | ||
| 106 | check_type(string char32_t HAVE_CHAR32_T) | ||
| 107 | check_type(stdint.h uint_least16_t HAVE_STDINT_H) | ||
| 108 | check_symbol_exists(posix_fadvise fcntl.h HAVE_POSIX_FADVISE) | ||
| 109 | check_symbol_exists(PRIdMAX inttypes.h HAVE_INTTYPES_H) | ||
| 110 | check_builtin("long* temp=0; long ret=__sync_add_and_fetch(temp, 1)" HAS_BUILTIN_SYNC_ADD_AND_FETCH) | ||
| 111 | check_builtin("long* temp=0; long ret=__sync_sub_and_fetch(temp, 1)" HAS_BUILTIN_SYNC_SUB_AND_FETCH) | ||
| 112 | check_builtin("long* temp=0; long ret=__sync_val_compare_and_swap(temp, 1, 1)" HAS_BUILTIN_SYNC_VAL_COMPARE_AND_SWAP) | ||
| 113 | check_include_file(sys/inotify.h HAVE_INOTIFY) | ||
| 114 | if(HAVE_INOTIFY) | ||
| 115 | list(APPEND SYSTEM_DEFINES -DHAVE_INOTIFY=1) | ||
| 116 | endif() | ||
| 117 | if(HAVE_POSIX_FADVISE) | ||
| 118 | list(APPEND SYSTEM_DEFINES -DHAVE_POSIX_FADVISE=1) | ||
| 119 | endif() | ||
| 120 | check_function_exists(localtime_r HAVE_LOCALTIME_R) | ||
| 121 | if(HAVE_LOCALTIME_R) | ||
| 122 | list(APPEND SYSTEM_DEFINES -DHAVE_LOCALTIME_R=1) | ||
| 123 | endif() | ||
| 124 | if(HAVE_INTTYPES_H) | ||
| 125 | list(APPEND SYSTEM_DEFINES -DHAVE_INTTYPES_H=1) | ||
| 126 | endif() | ||
| 127 | |||
| 128 | find_package(SSE) | ||
| 129 | foreach(_sse SSE SSE2 SSE3 SSSE3 SSE4_1 SSE4_2 AVX AVX2) | ||
| 130 | if(${${_sse}_FOUND}) | ||
| 131 | # enable SSE versions up to 4.1 by default, if available | ||
| 132 | if(NOT ${_sse} MATCHES "AVX" AND NOT ${_sse} STREQUAL "SSE4_2") | ||
| 133 | option(ENABLE_${_sse} "Enable ${_sse}" ON) | ||
| 134 | else() | ||
| 135 | option(ENABLE_${_sse} "Enable ${_sse}" OFF) | ||
| 136 | endif() | ||
| 137 | endif() | ||
| 138 | if(ENABLE_${_sse}) | ||
| 139 | set(HAVE_${_sse} TRUE CACHE STRING "${_sse} enabled") | ||
| 140 | list(APPEND ARCH_DEFINES -DHAVE_${_sse}=1) | ||
| 141 | endif() | ||
| 142 | endforeach() | ||
| 143 | |||
| 144 | if(NOT DEFINED NEON OR NEON) | ||
| 145 | option(ENABLE_NEON "Enable NEON optimization" ${NEON}) | ||
| 146 | if(ENABLE_NEON) | ||
| 147 | message(STATUS "NEON optimization enabled") | ||
| 148 | add_options(CXX ALL_BUILDS "-mfpu=neon -mvectorize-with-neon-quad") | ||
| 149 | endif() | ||
| 150 | endif() | ||
| 151 | |||
| 152 | if(CMAKE_BUILD_TYPE STREQUAL "Debug") | ||
| 153 | add_options (ALL_LANGUAGES DEBUG "-g" "-D_DEBUG" "-Wall") | ||
| 154 | endif() | ||
| 155 | |||
diff --git a/project/cmake/scripts/common/CMakeHelpers.cmake b/project/cmake/scripts/common/CMakeHelpers.cmake deleted file mode 100644 index 995c38a..0000000 --- a/project/cmake/scripts/common/CMakeHelpers.cmake +++ /dev/null | |||
| @@ -1,54 +0,0 @@ | |||
| 1 | # This file contains functions that support the debugging of the CMake files. | ||
| 2 | |||
| 3 | # This file shouldn't be included per default in any CMake file. It should be | ||
| 4 | # included and used only on demand. All functions are prefixed with "debug_". | ||
| 5 | # | ||
| 6 | # Usage: | ||
| 7 | # include(scripts/common/CMakeHelpers.cmake) | ||
| 8 | # debug_print_variables() | ||
| 9 | |||
| 10 | # Print all CMake variables. | ||
| 11 | macro(debug_print_variables) | ||
| 12 | get_cmake_property(_variableNames VARIABLES) | ||
| 13 | foreach(_variableName ${_variableNames}) | ||
| 14 | message(STATUS "${_variableName} = ${${_variableName}}") | ||
| 15 | endforeach() | ||
| 16 | endmacro() | ||
| 17 | |||
| 18 | # Get all properties that CMake supports and convert them to a list. | ||
| 19 | function(debug_get_properties VAR) | ||
| 20 | execute_process(COMMAND cmake --help-property-list | ||
| 21 | OUTPUT_VARIABLE _properties) | ||
| 22 | string(REGEX REPLACE ";" "\\\\;" _properties "${_properties}") | ||
| 23 | string(REGEX REPLACE "\n" ";" _properties "${_properties}") | ||
| 24 | list(REMOVE_DUPLICATES _properties) | ||
| 25 | list(REMOVE_ITEM _properties LOCATION) | ||
| 26 | set(${VAR} ${_properties} PARENT_SCOPE) | ||
| 27 | endfunction() | ||
| 28 | |||
| 29 | # List all properties. | ||
| 30 | function(debug_list_properties) | ||
| 31 | debug_get_properties(_properties) | ||
| 32 | message("CMake properties = ${_properties}") | ||
| 33 | endfunction() | ||
| 34 | |||
| 35 | # Print all set properties of a specified target. | ||
| 36 | function(debug_print_target_properties target) | ||
| 37 | if(NOT TARGET ${target}) | ||
| 38 | message(FATAL_ERROR "There is no target named '${target}'") | ||
| 39 | endif() | ||
| 40 | |||
| 41 | debug_get_properties(_properties) | ||
| 42 | |||
| 43 | # Reading LOCATION property is deprecated and triggers a fatal error. | ||
| 44 | string(REGEX REPLACE ";LOCATION;|LOCATION" "" _properties "${_properties}") | ||
| 45 | string(REGEX REPLACE "<CONFIG>" "${CMAKE_BUILD_TYPE}" _properties | ||
| 46 | "${_properties}") | ||
| 47 | foreach(_property ${_properties}) | ||
| 48 | get_property(_value TARGET ${target} PROPERTY ${_property} SET) | ||
| 49 | if(_value) | ||
| 50 | get_target_property(_value ${target} ${_property}) | ||
| 51 | message("${target} ${_property} = ${_value}") | ||
| 52 | endif() | ||
| 53 | endforeach() | ||
| 54 | endfunction() | ||
diff --git a/project/cmake/scripts/common/CheckCommits.cmake b/project/cmake/scripts/common/CheckCommits.cmake deleted file mode 100644 index 304e623..0000000 --- a/project/cmake/scripts/common/CheckCommits.cmake +++ /dev/null | |||
| @@ -1,75 +0,0 @@ | |||
| 1 | find_package(Git REQUIRED) | ||
| 2 | |||
| 3 | macro(sanity_check message) | ||
| 4 | if(status_code) | ||
| 5 | message(FATAL_ERROR "${message}") | ||
| 6 | endif() | ||
| 7 | endmacro() | ||
| 8 | |||
| 9 | # Check that there are no changes in working-tree | ||
| 10 | execute_process(COMMAND ${GIT_EXECUTABLE} diff --quiet | ||
| 11 | RESULT_VARIABLE status_code) | ||
| 12 | sanity_check("Cannot run with working tree changes. Commit, stash or drop them.") | ||
| 13 | |||
| 14 | # Setup base of tests | ||
| 15 | set(check_base $ENV{CHECK_BASE}) | ||
| 16 | if(NOT check_base) | ||
| 17 | set(check_base origin/master) | ||
| 18 | endif() | ||
| 19 | |||
| 20 | # Setup end of tests | ||
| 21 | set(check_head $ENV{CHECK_HEAD}) | ||
| 22 | if(NOT check_head) | ||
| 23 | set(check_head HEAD) | ||
| 24 | endif() | ||
| 25 | |||
| 26 | # Setup target to build | ||
| 27 | set(check_target $ENV{CHECK_TARGET}) | ||
| 28 | if(NOT check_target) | ||
| 29 | set(check_target check) | ||
| 30 | endif() | ||
| 31 | |||
| 32 | # Build threads | ||
| 33 | set(build_threads $ENV{CHECK_THREADS}) | ||
| 34 | if(NOT build_threads) | ||
| 35 | if(UNIX) | ||
| 36 | execute_process(COMMAND nproc | ||
| 37 | OUTPUT_VARIABLE build_threads) | ||
| 38 | string(REGEX REPLACE "(\r?\n)+$" "" build_threads "${build_threads}") | ||
| 39 | endif() | ||
| 40 | endif() | ||
| 41 | |||
| 42 | # Record current HEAD | ||
| 43 | execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD | ||
| 44 | OUTPUT_VARIABLE current_branch) | ||
| 45 | |||
| 46 | string(REGEX REPLACE "(\r?\n)+$" "" current_branch "${current_branch}") | ||
| 47 | |||
| 48 | # Grab revision list | ||
| 49 | execute_process(COMMAND ${GIT_EXECUTABLE} rev-list ${check_base}..${check_head} --reverse | ||
| 50 | OUTPUT_VARIABLE rev_list) | ||
| 51 | |||
| 52 | string(REPLACE "\n" ";" rev_list ${rev_list}) | ||
| 53 | foreach(rev ${rev_list}) | ||
| 54 | # Checkout | ||
| 55 | message("Testing revision ${rev}") | ||
| 56 | execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${rev} | ||
| 57 | RESULT_VARIABLE status_code) | ||
| 58 | sanity_check("Failed to checkout ${rev}") | ||
| 59 | |||
| 60 | # Build | ||
| 61 | if(build_threads GREATER 2) | ||
| 62 | execute_process(COMMAND ${CMAKE_COMMAND} "--build" "${CMAKE_BINARY_DIR}" "--target" "${check_target}" "--use-stderr" "--" "-j${build_threads}" | ||
| 63 | RESULT_VARIABLE status_code) | ||
| 64 | else() | ||
| 65 | execute_process(COMMAND ${CMAKE_COMMAND} "--build" "${CMAKE_BINARY_DIR}" "--target" "${check_target}" "--use-stderr" | ||
| 66 | RESULT_VARIABLE status_code) | ||
| 67 | endif() | ||
| 68 | if(status_code) | ||
| 69 | execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${current_branch}) | ||
| 70 | endif() | ||
| 71 | sanity_check("Failed to build target for revision ${rev}") | ||
| 72 | endforeach() | ||
| 73 | |||
| 74 | message("Everything checks out fine") | ||
| 75 | execute_process(COMMAND ${GIT_EXECUTABLE} checkout ${current_branch}) | ||
diff --git a/project/cmake/scripts/common/CheckTargetPlatform.cmake b/project/cmake/scripts/common/CheckTargetPlatform.cmake deleted file mode 100644 index 82ee668..0000000 --- a/project/cmake/scripts/common/CheckTargetPlatform.cmake +++ /dev/null | |||
| @@ -1,67 +0,0 @@ | |||
| 1 | # handle target platforms | ||
| 2 | function(check_target_platform dir target_platform build) | ||
| 3 | # param[in] dir path/directory of the addon/dependency | ||
| 4 | # param[in] target_platform target platform of the build | ||
| 5 | # param[out] build Result whether the addon/dependency should be built for the specified target platform | ||
| 6 | |||
| 7 | set(${build} FALSE) | ||
| 8 | # check if the given directory exists and contains a platforms.txt | ||
| 9 | if(EXISTS ${dir} AND EXISTS ${dir}/platforms.txt) | ||
| 10 | # get all the specified platforms | ||
| 11 | file(STRINGS ${dir}/platforms.txt platforms) | ||
| 12 | |||
| 13 | list( LENGTH platforms listlen ) | ||
| 14 | if(${listlen} EQUAL 1) | ||
| 15 | string(REPLACE " " ";" platforms ${platforms}) | ||
| 16 | endif() | ||
| 17 | |||
| 18 | # check if the addon/dependency should be built for the current platform | ||
| 19 | foreach(platform ${platforms}) | ||
| 20 | if(${platform} STREQUAL "all" OR ${platform} STREQUAL ${target_platform}) | ||
| 21 | set(${build} TRUE) | ||
| 22 | else() | ||
| 23 | # check if the platform is defined as "!<platform>" | ||
| 24 | string(SUBSTRING ${platform} 0 1 platform_first) | ||
| 25 | if(${platform_first} STREQUAL "!") | ||
| 26 | # extract the platform | ||
| 27 | string(LENGTH ${platform} platform_length) | ||
| 28 | math(EXPR platform_length "${platform_length} - 1") | ||
| 29 | string(SUBSTRING ${platform} 1 ${platform_length} platform) | ||
| 30 | |||
| 31 | # check if the current platform does not match the extracted platform | ||
| 32 | if(NOT ${platform} STREQUAL ${target_platform}) | ||
| 33 | set(${build} TRUE) | ||
| 34 | endif() | ||
| 35 | endif() | ||
| 36 | endif() | ||
| 37 | endforeach() | ||
| 38 | else() | ||
| 39 | set(${build} TRUE) | ||
| 40 | endif() | ||
| 41 | |||
| 42 | # make the ${build} variable available to the calling script | ||
| 43 | set(${build} "${${build}}" PARENT_SCOPE) | ||
| 44 | endfunction() | ||
| 45 | |||
| 46 | function(check_install_permissions install_dir have_perms) | ||
| 47 | # param[in] install_dir directory to check for write permissions | ||
| 48 | # param[out] have_perms wether we have permissions to install to install_dir | ||
| 49 | |||
| 50 | set(testfile_lib ${install_dir}/lib/kodi/.cmake-inst-test) | ||
| 51 | set(testfile_share ${install_dir}/share/kodi/.cmake-inst-test) | ||
| 52 | get_filename_component(testdir_lib ${testfile_lib} DIRECTORY) | ||
| 53 | get_filename_component(testdir_share ${testfile_share} DIRECTORY) | ||
| 54 | |||
| 55 | execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${testdir_lib}) | ||
| 56 | execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${testdir_share}) | ||
| 57 | execute_process(COMMAND ${CMAKE_COMMAND} -E touch ${testfile_lib}) | ||
| 58 | execute_process(COMMAND ${CMAKE_COMMAND} -E touch ${testfile_share}) | ||
| 59 | |||
| 60 | if(EXISTS ${testfile_lib} AND EXISTS ${testfile_share}) | ||
| 61 | set(${have_perms} True PARENT_SCOPE) | ||
| 62 | else() | ||
| 63 | message(STATUS "check_install_permissions ${install_dir}: failed to create files") | ||
| 64 | set(${have_perms} False PARENT_SCOPE) | ||
| 65 | endif() | ||
| 66 | file(REMOVE ${testfile_lib} ${testfile_share}) | ||
| 67 | endfunction() | ||
diff --git a/project/cmake/scripts/common/GenerateVersionedFiles.cmake b/project/cmake/scripts/common/GenerateVersionedFiles.cmake deleted file mode 100644 index e105b27..0000000 --- a/project/cmake/scripts/common/GenerateVersionedFiles.cmake +++ /dev/null | |||
| @@ -1,18 +0,0 @@ | |||
| 1 | include(${CORE_SOURCE_DIR}/project/cmake/scripts/common/Macros.cmake) | ||
| 2 | |||
| 3 | core_find_versions() | ||
| 4 | file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/addons/xbmc.addon) | ||
| 5 | file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/addons/kodi.guilib) | ||
| 6 | |||
| 7 | # configure_file without dependency tracking | ||
| 8 | # configure_file would register additional file dependencies that interfere | ||
| 9 | # with the ones from add_custom_command (and the generation would happen twice) | ||
| 10 | function(generate_versioned_file _SRC _DEST) | ||
| 11 | file(READ ${CORE_SOURCE_DIR}/${_SRC} file_content) | ||
| 12 | string(CONFIGURE "${file_content}" file_content @ONLY) | ||
| 13 | file(WRITE ${CMAKE_BINARY_DIR}/${_DEST} "${file_content}") | ||
| 14 | endfunction() | ||
| 15 | |||
| 16 | generate_versioned_file(addons/xbmc.addon/addon.xml.in addons/xbmc.addon/addon.xml) | ||
| 17 | generate_versioned_file(addons/kodi.guilib/addon.xml.in addons/kodi.guilib/addon.xml) | ||
| 18 | generate_versioned_file(xbmc/CompileInfo.cpp.in ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp) | ||
diff --git a/project/cmake/scripts/common/GeneratorSetup.cmake b/project/cmake/scripts/common/GeneratorSetup.cmake deleted file mode 100644 index 304b504..0000000 --- a/project/cmake/scripts/common/GeneratorSetup.cmake +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | # Configure single-/multiconfiguration generators and variables | ||
| 2 | # | ||
| 3 | # CORE_BUILD_CONFIG that is set to | ||
| 4 | # - CMAKE_BUILD_TYPE for single configuration generators such as make, nmake | ||
| 5 | # - a variable that expands on build time to the current configuration for | ||
| 6 | # multi configuration generators such as VS or Xcode | ||
| 7 | if(CMAKE_CONFIGURATION_TYPES) | ||
| 8 | if(CMAKE_BUILD_TYPE) | ||
| 9 | message(FATAL_ERROR "CMAKE_BUILD_TYPE must not be defined for multi-configuration generators") | ||
| 10 | endif() | ||
| 11 | set(CORE_BUILD_CONFIG ${CMAKE_CFG_INTDIR}) | ||
| 12 | message(STATUS "Generator: Multi-configuration (${CMAKE_GENERATOR})") | ||
| 13 | else() | ||
| 14 | if(CMAKE_BUILD_TYPE) | ||
| 15 | set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE} | ||
| 16 | CACHE STRING "Choose build type (${CMAKE_BUILD_TYPES})" FORCE) | ||
| 17 | else() | ||
| 18 | # Set default | ||
| 19 | set(CMAKE_BUILD_TYPE Release | ||
| 20 | CACHE STRING "Choose build type (${CMAKE_BUILD_TYPES})" FORCE) | ||
| 21 | endif() | ||
| 22 | set(CORE_BUILD_CONFIG ${CMAKE_BUILD_TYPE}) | ||
| 23 | message(STATUS "Generator: Single-configuration: ${CMAKE_BUILD_TYPE} (${CMAKE_GENERATOR})") | ||
| 24 | endif() | ||
| 25 | |||
| 26 | # Print CMake version | ||
| 27 | message(STATUS "CMake Version: ${CMAKE_VERSION}") | ||
| 28 | |||
| 29 | # Deal with CMake special cases | ||
| 30 | if(CMAKE_VERSION VERSION_EQUAL 3.5.1) | ||
| 31 | message(WARNING "CMake 3.5.1 introduced a crash during configuration. " | ||
| 32 | "Please consider upgrading to 3.5.2 (cmake.org/Bug/view.php?id=16044)") | ||
| 33 | endif() | ||
| 34 | |||
| 35 | # Darwin needs CMake 3.4 | ||
| 36 | if(APPLE AND CMAKE_VERSION VERSION_LESS 3.4) | ||
| 37 | message(WARNING "Build on Darwin requires CMake 3.4 or later (tdb library support) " | ||
| 38 | "or the usage of the patched version in depends.") | ||
| 39 | endif() | ||
| 40 | |||
| 41 | # Windows needs CMake 3.6 (VS_STARTUP_PROJECT) | ||
| 42 | if(WIN32 AND CMAKE_VERSION VERSION_LESS 3.6) | ||
| 43 | message(FATAL_ERROR "Build on Windows needs CMake 3.6 or later") | ||
| 44 | endif() | ||
| 45 | |||
| 46 | # Ninja needs CMake 3.2 due to ExternalProject BUILD_BYPRODUCTS usage | ||
| 47 | if(CMAKE_GENERATOR STREQUAL Ninja AND CMAKE_VERSION VERSION_LESS 3.2) | ||
| 48 | message(FATAL_ERROR "Generator: Ninja requires CMake 3.2 or later") | ||
| 49 | endif() | ||
diff --git a/project/cmake/scripts/common/HandleDepends.cmake b/project/cmake/scripts/common/HandleDepends.cmake deleted file mode 100644 index adc105b..0000000 --- a/project/cmake/scripts/common/HandleDepends.cmake +++ /dev/null | |||
| @@ -1,252 +0,0 @@ | |||
| 1 | include(${CORE_SOURCE_DIR}/project/cmake/scripts/common/CheckTargetPlatform.cmake) | ||
| 2 | |||
| 3 | # handle addon depends | ||
| 4 | function(add_addon_depends addon searchpath) | ||
| 5 | # input: string addon string searchpath | ||
| 6 | |||
| 7 | set(OUTPUT_DIR ${ADDON_DEPENDS_PATH}) | ||
| 8 | # look for platform-specific dependencies | ||
| 9 | file(GLOB_RECURSE cmake_input_files ${searchpath}/${CORE_SYSTEM_NAME}/*.txt) | ||
| 10 | file(GLOB_RECURSE cmake_input_files2 ${searchpath}/common/*.txt) | ||
| 11 | list(APPEND cmake_input_files ${cmake_input_files2}) | ||
| 12 | |||
| 13 | foreach(file ${cmake_input_files}) | ||
| 14 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${file}) | ||
| 15 | if(NOT (file MATCHES CMakeLists.txt OR | ||
| 16 | file MATCHES install.txt OR | ||
| 17 | file MATCHES noinstall.txt OR | ||
| 18 | file MATCHES flags.txt OR | ||
| 19 | file MATCHES deps.txt OR | ||
| 20 | file MATCHES "[a-z]+-deps[.]txt" OR | ||
| 21 | file MATCHES platforms.txt)) | ||
| 22 | message(STATUS "Processing ${file}") | ||
| 23 | file(STRINGS ${file} def) | ||
| 24 | string(REPLACE " " ";" def ${def}) | ||
| 25 | list(LENGTH def deflength) | ||
| 26 | get_filename_component(dir ${file} DIRECTORY) | ||
| 27 | |||
| 28 | # get the id of the dependency | ||
| 29 | if(NOT "${def}" STREQUAL "") | ||
| 30 | # read the id from the file | ||
| 31 | list(GET def 0 id) | ||
| 32 | else() | ||
| 33 | # read the id from the filename | ||
| 34 | get_filename_component(id ${file} NAME_WE) | ||
| 35 | endif() | ||
| 36 | |||
| 37 | # check if the dependency has a platforms.txt | ||
| 38 | set(platform_found FALSE) | ||
| 39 | check_target_platform(${dir} ${CORE_SYSTEM_NAME} platform_found) | ||
| 40 | |||
| 41 | if(${platform_found} AND NOT TARGET ${id}) | ||
| 42 | # determine the download URL of the dependency | ||
| 43 | set(url "") | ||
| 44 | if(deflength GREATER 1) | ||
| 45 | list(GET def 1 url) | ||
| 46 | message(STATUS "${id} url: ${url}") | ||
| 47 | endif() | ||
| 48 | |||
| 49 | # check if there are any library specific flags that need to be passed on | ||
| 50 | if(EXISTS ${dir}/flags.txt) | ||
| 51 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/flags.txt) | ||
| 52 | file(STRINGS ${dir}/flags.txt extraflags) | ||
| 53 | |||
| 54 | # replace some custom placeholders | ||
| 55 | string(REPLACE "@MINGW_TOOLCHAIN_FILE@" "${OUTPUT_DIR}/Toolchain_mingw32.cmake" extraflags "${extraflags}") | ||
| 56 | string(REPLACE " " ";" extraflags ${extraflags}) | ||
| 57 | |||
| 58 | message(STATUS "${id} extraflags: ${extraflags}") | ||
| 59 | endif() | ||
| 60 | |||
| 61 | set(BUILD_ARGS -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} | ||
| 62 | -DOUTPUT_DIR=${OUTPUT_DIR} | ||
| 63 | -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} | ||
| 64 | -DCMAKE_USER_MAKE_RULES_OVERRIDE=${CMAKE_USER_MAKE_RULES_OVERRIDE} | ||
| 65 | -DCMAKE_USER_MAKE_RULES_OVERRIDE_CXX=${CMAKE_USER_MAKE_RULES_OVERRIDE_CXX} | ||
| 66 | -DCMAKE_INSTALL_PREFIX=${OUTPUT_DIR} | ||
| 67 | -DCORE_SYSTEM_NAME=${CORE_SYSTEM_NAME} | ||
| 68 | -DENABLE_STATIC=1 | ||
| 69 | -DBUILD_SHARED_LIBS=0) | ||
| 70 | # if there are no make rules override files available take care of manually passing on ARCH_DEFINES | ||
| 71 | if(NOT CMAKE_USER_MAKE_RULES_OVERRIDE AND NOT CMAKE_USER_MAKE_RULES_OVERRIDE_CXX) | ||
| 72 | # make sure we create strings, not lists | ||
| 73 | set(TMP_C_FLAGS "${CMAKE_C_FLAGS} ${ARCH_DEFINES}") | ||
| 74 | set(TMP_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ARCH_DEFINES}") | ||
| 75 | list(APPEND BUILD_ARGS -DCMAKE_C_FLAGS=${TMP_C_FLAGS} | ||
| 76 | -DCMAKE_CXX_FLAGS=${TMP_CXX_FLAGS}) | ||
| 77 | endif() | ||
| 78 | |||
| 79 | if(CMAKE_TOOLCHAIN_FILE) | ||
| 80 | list(APPEND BUILD_ARGS -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}) | ||
| 81 | message("toolchain specified") | ||
| 82 | message(${BUILD_ARGS}) | ||
| 83 | endif() | ||
| 84 | |||
| 85 | # prepare patchfile. ensure we have a clean file after reconfiguring | ||
| 86 | set(PATCH_FILE ${BUILD_DIR}/${id}/tmp/patch.cmake) | ||
| 87 | file(REMOVE ${PATCH_FILE}) | ||
| 88 | |||
| 89 | # if there's a CMakeLists.txt use it to prepare the build | ||
| 90 | if(EXISTS ${dir}/CMakeLists.txt) | ||
| 91 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/CMakeLists.txt) | ||
| 92 | file(APPEND ${PATCH_FILE} | ||
| 93 | "file(COPY ${dir}/CMakeLists.txt | ||
| 94 | DESTINATION ${BUILD_DIR}/${id}/src/${id})\n") | ||
| 95 | endif() | ||
| 96 | |||
| 97 | # check if we have patches to apply | ||
| 98 | file(GLOB patches ${dir}/*.patch) | ||
| 99 | list(SORT patches) | ||
| 100 | foreach(patch ${patches}) | ||
| 101 | if(NOT PATCH_PROGRAM OR "${PATCH_PROGRAM}" STREQUAL "") | ||
| 102 | if(NOT PATCH_EXECUTABLE) | ||
| 103 | # find the path to the patch executable | ||
| 104 | find_program(PATCH_EXECUTABLE NAMES patch) | ||
| 105 | |||
| 106 | if(NOT PATCH_EXECUTABLE) | ||
| 107 | message(FATAL_ERROR "Missing patch command (we looked in ${CMAKE_PREFIX_PATH})") | ||
| 108 | endif() | ||
| 109 | endif() | ||
| 110 | |||
| 111 | set(PATCH_PROGRAM ${PATCH_EXECUTABLE}) | ||
| 112 | |||
| 113 | # On Windows "patch.exe" can only handle CR-LF line-endings. | ||
| 114 | # Our patches have LF-only line endings - except when they | ||
| 115 | # have been checked out as part of a dependency hosted on Git | ||
| 116 | # and core.autocrlf=true. | ||
| 117 | if(WIN32) | ||
| 118 | file(READ ${patch} patch_content_hex HEX) | ||
| 119 | # Force handle LF-only line endings | ||
| 120 | if(NOT patch_content_hex MATCHES "0d0a") | ||
| 121 | set(PATCH_PROGRAM "\"${PATCH_PROGRAM}\" --binary") | ||
| 122 | endif() | ||
| 123 | endif() | ||
| 124 | endif() | ||
| 125 | |||
| 126 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${patch}) | ||
| 127 | file(APPEND ${PATCH_FILE} | ||
| 128 | "execute_process(COMMAND ${PATCH_PROGRAM} -p1 -i \"${patch}\")\n") | ||
| 129 | endforeach() | ||
| 130 | |||
| 131 | |||
| 132 | # if there's an install.txt use it to properly install the built files | ||
| 133 | set(INSTALL_COMMAND "") | ||
| 134 | if(EXISTS ${dir}/install.txt) | ||
| 135 | set(INSTALL_COMMAND INSTALL_COMMAND ${CMAKE_COMMAND} | ||
| 136 | -DINPUTDIR=${BUILD_DIR}/${id}/src/${id}-build/ | ||
| 137 | -DINPUTFILE=${dir}/install.txt | ||
| 138 | -DDESTDIR=${OUTPUT_DIR} | ||
| 139 | -DENABLE_STATIC=1 | ||
| 140 | "${extraflags}" | ||
| 141 | -P ${PROJECT_SOURCE_DIR}/install.cmake) | ||
| 142 | elseif(EXISTS ${dir}/noinstall.txt) | ||
| 143 | set(INSTALL_COMMAND INSTALL_COMMAND "") | ||
| 144 | endif() | ||
| 145 | |||
| 146 | # check if there's a platform-specific or generic deps.txt containing dependencies on other libraries | ||
| 147 | if(EXISTS ${dir}/${CORE_SYSTEM_NAME}-deps.txt) | ||
| 148 | file(STRINGS ${dir}/${CORE_SYSTEM_NAME}-deps.txt deps) | ||
| 149 | message(STATUS "${id} depends: ${deps}") | ||
| 150 | elseif(EXISTS ${dir}/deps.txt) | ||
| 151 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${dir}/deps.txt) | ||
| 152 | file(STRINGS ${dir}/deps.txt deps) | ||
| 153 | message(STATUS "${id} depends: ${deps}") | ||
| 154 | else() | ||
| 155 | set(deps) | ||
| 156 | endif() | ||
| 157 | |||
| 158 | if(CROSS_AUTOCONF AND AUTOCONF_FILES) | ||
| 159 | foreach(afile ${AUTOCONF_FILES}) | ||
| 160 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${afile}) | ||
| 161 | file(APPEND ${PATCH_FILE} | ||
| 162 | "message(STATUS \"AUTOCONF: copying ${afile} to ${BUILD_DIR}/${id}/src/${id}\")\n | ||
| 163 | file(COPY ${afile} DESTINATION ${BUILD_DIR}/${id}/src/${id})\n") | ||
| 164 | endforeach() | ||
| 165 | endif() | ||
| 166 | |||
| 167 | # if the patch file exists we need to set the PATCH_COMMAND | ||
| 168 | set(PATCH_COMMAND "") | ||
| 169 | if(EXISTS ${PATCH_FILE}) | ||
| 170 | set(PATCH_COMMAND ${CMAKE_COMMAND} -P ${PATCH_FILE}) | ||
| 171 | endif() | ||
| 172 | |||
| 173 | # prepare the setup of the call to externalproject_add() | ||
| 174 | set(EXTERNALPROJECT_SETUP PREFIX ${BUILD_DIR}/${id} | ||
| 175 | CMAKE_ARGS ${extraflags} ${BUILD_ARGS} | ||
| 176 | PATCH_COMMAND ${PATCH_COMMAND} | ||
| 177 | "${INSTALL_COMMAND}") | ||
| 178 | |||
| 179 | if(CMAKE_VERSION VERSION_GREATER 3.5.9) | ||
| 180 | list(APPEND EXTERNALPROJECT_SETUP GIT_SHALLOW 1) | ||
| 181 | endif() | ||
| 182 | |||
| 183 | # if there's an url defined we need to pass that to externalproject_add() | ||
| 184 | if(DEFINED url AND NOT "${url}" STREQUAL "") | ||
| 185 | # check if there's a third parameter in the file | ||
| 186 | if(deflength GREATER 2) | ||
| 187 | # the third parameter is considered as a revision of a git repository | ||
| 188 | list(GET def 2 revision) | ||
| 189 | |||
| 190 | externalproject_add(${id} | ||
| 191 | GIT_REPOSITORY ${url} | ||
| 192 | GIT_TAG ${revision} | ||
| 193 | "${EXTERNALPROJECT_SETUP}") | ||
| 194 | |||
| 195 | # For patchfiles to work, disable (users globally set) autocrlf=true | ||
| 196 | if(CMAKE_MINIMUM_REQUIRED_VERSION VERSION_GREATER 3.7) | ||
| 197 | message(AUTHOR_WARNING "Make use of GIT_CONFIG") | ||
| 198 | endif() | ||
| 199 | if(WIN32 AND patches) | ||
| 200 | externalproject_add_step(${id} gitconfig | ||
| 201 | COMMAND git config core.autocrlf false | ||
| 202 | COMMAND git rm -rf --cached . | ||
| 203 | COMMAND git reset --hard HEAD | ||
| 204 | COMMENT "Performing gitconfig step: Disabling autocrlf to enable patching for '${id}'" | ||
| 205 | DEPENDERS patch | ||
| 206 | WORKING_DIRECTORY <SOURCE_DIR>) | ||
| 207 | endif() | ||
| 208 | else() | ||
| 209 | set(CONFIGURE_COMMAND "") | ||
| 210 | if(NOT WIN32) | ||
| 211 | # manually specify the configure command to be able to pass in the custom PKG_CONFIG_PATH | ||
| 212 | set(CONFIGURE_COMMAND PKG_CONFIG_PATH=${OUTPUT_DIR}/lib/pkgconfig | ||
| 213 | ${CMAKE_COMMAND} -DCMAKE_LIBRARY_PATH=${OUTPUT_DIR}/lib ${extraflags} ${BUILD_ARGS} | ||
| 214 | ${BUILD_DIR}/${id}/src/${id} | ||
| 215 | -DPACKAGE_CONFIG_PATH=${OUTPUT_DIR}/lib/pkgconfig | ||
| 216 | -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} | ||
| 217 | -DOUTPUT_DIR=${OUTPUT_DIR} | ||
| 218 | -DCMAKE_PREFIX_PATH=${OUTPUT_DIR} | ||
| 219 | -DCMAKE_INSTALL_PREFIX=${OUTPUT_DIR} | ||
| 220 | -DCMAKE_EXE_LINKER_FLAGS=-L${OUTPUT_DIR}/lib | ||
| 221 | -DCMAKE_INCLUDE_PATH=${OUTPUT_DIR}/include) | ||
| 222 | endif() | ||
| 223 | |||
| 224 | externalproject_add(${id} | ||
| 225 | URL ${url} | ||
| 226 | DOWNLOAD_DIR ${BUILD_DIR}/download | ||
| 227 | CONFIGURE_COMMAND ${CONFIGURE_COMMAND} | ||
| 228 | "${EXTERNALPROJECT_SETUP}") | ||
| 229 | endif() | ||
| 230 | else() | ||
| 231 | externalproject_add(${id} | ||
| 232 | SOURCE_DIR ${dir} | ||
| 233 | "${EXTERNALPROJECT_SETUP}") | ||
| 234 | endif() | ||
| 235 | |||
| 236 | if(deps) | ||
| 237 | add_dependencies(${id} ${deps}) | ||
| 238 | endif() | ||
| 239 | endif() | ||
| 240 | |||
| 241 | # if the dependency is available for the target platform add it to the list of the addon's dependencies | ||
| 242 | # (even if the target already exists as it still has to be built before the addon) | ||
| 243 | if(${platform_found}) | ||
| 244 | list(APPEND ${addon}_DEPS ${id}) | ||
| 245 | endif() | ||
| 246 | endif() | ||
| 247 | endforeach() | ||
| 248 | |||
| 249 | # make the ${addon}_DEPS variable available to the calling script | ||
| 250 | set(${addon}_DEPS "${${addon}_DEPS}" PARENT_SCOPE) | ||
| 251 | endfunction() | ||
| 252 | |||
diff --git a/project/cmake/scripts/common/Macros.cmake b/project/cmake/scripts/common/Macros.cmake deleted file mode 100644 index cce3245..0000000 --- a/project/cmake/scripts/common/Macros.cmake +++ /dev/null | |||
| @@ -1,622 +0,0 @@ | |||
| 1 | # This script holds the main functions used to construct the build system | ||
| 2 | |||
| 3 | # include system specific macros | ||
| 4 | include(${CORE_SOURCE_DIR}/project/cmake/scripts/${CORE_SYSTEM_NAME}/Macros.cmake) | ||
| 5 | |||
| 6 | # IDEs: Group source files in target in folders (file system hierarchy) | ||
| 7 | # Source: http://blog.audio-tk.com/2015/09/01/sorting-source-files-and-projects-in-folders-with-cmake-and-visual-studioxcode/ | ||
| 8 | # Arguments: | ||
| 9 | # target The target that shall be grouped by folders. | ||
| 10 | # Optional Arguments: | ||
| 11 | # RELATIVE allows to specify a different reference folder. | ||
| 12 | function(source_group_by_folder target) | ||
| 13 | if(NOT TARGET ${target}) | ||
| 14 | message(FATAL_ERROR "There is no target named '${target}'") | ||
| 15 | endif() | ||
| 16 | |||
| 17 | set(SOURCE_GROUP_DELIMITER "/") | ||
| 18 | |||
| 19 | cmake_parse_arguments(arg "" "RELATIVE" "" ${ARGN}) | ||
| 20 | if(arg_RELATIVE) | ||
| 21 | set(relative_dir ${arg_RELATIVE}) | ||
| 22 | else() | ||
| 23 | set(relative_dir ${CMAKE_CURRENT_SOURCE_DIR}) | ||
| 24 | endif() | ||
| 25 | |||
| 26 | get_property(files TARGET ${target} PROPERTY SOURCES) | ||
| 27 | if(files) | ||
| 28 | list(SORT files) | ||
| 29 | |||
| 30 | if(CMAKE_GENERATOR STREQUAL Xcode) | ||
| 31 | set_target_properties(${target} PROPERTIES SOURCES "${files}") | ||
| 32 | endif() | ||
| 33 | endif() | ||
| 34 | foreach(file ${files}) | ||
| 35 | if(NOT IS_ABSOLUTE ${file}) | ||
| 36 | set(file ${CMAKE_CURRENT_SOURCE_DIR}/${file}) | ||
| 37 | endif() | ||
| 38 | file(RELATIVE_PATH relative_file ${relative_dir} ${file}) | ||
| 39 | get_filename_component(dir "${relative_file}" DIRECTORY) | ||
| 40 | if(NOT dir STREQUAL "${last_dir}") | ||
| 41 | if(files) | ||
| 42 | source_group("${last_dir}" FILES ${files}) | ||
| 43 | endif() | ||
| 44 | set(files "") | ||
| 45 | endif() | ||
| 46 | set(files ${files} ${file}) | ||
| 47 | set(last_dir "${dir}") | ||
| 48 | endforeach(file) | ||
| 49 | if(files) | ||
| 50 | source_group("${last_dir}" FILES ${files}) | ||
| 51 | endif() | ||
| 52 | endfunction() | ||
| 53 | |||
| 54 | # Add sources to main application | ||
| 55 | # Arguments: | ||
| 56 | # name name of the library to add | ||
| 57 | # Implicit arguments: | ||
| 58 | # ENABLE_STATIC_LIBS Build static libraries per directory | ||
| 59 | # SOURCES the sources of the library | ||
| 60 | # HEADERS the headers of the library (only for IDE support) | ||
| 61 | # OTHERS other library related files (only for IDE support) | ||
| 62 | # On return: | ||
| 63 | # Library will be built, optionally added to ${core_DEPENDS} | ||
| 64 | # Sets CORE_LIBRARY for calls for setting target specific options | ||
| 65 | function(core_add_library name) | ||
| 66 | if(ENABLE_STATIC_LIBS) | ||
| 67 | add_library(${name} STATIC ${SOURCES} ${HEADERS} ${OTHERS}) | ||
| 68 | set_target_properties(${name} PROPERTIES PREFIX "") | ||
| 69 | set(core_DEPENDS ${name} ${core_DEPENDS} CACHE STRING "" FORCE) | ||
| 70 | add_dependencies(${name} libcpluff ffmpeg dvdnav crossguid) | ||
| 71 | set(CORE_LIBRARY ${name} PARENT_SCOPE) | ||
| 72 | |||
| 73 | # Add precompiled headers to Kodi main libraries | ||
| 74 | if(CORE_SYSTEM_NAME STREQUAL windows) | ||
| 75 | add_precompiled_header(${name} pch.h ${CORE_SOURCE_DIR}/xbmc/platform/win32/pch.cpp PCH_TARGET kodi) | ||
| 76 | set_language_cxx(${name}) | ||
| 77 | target_link_libraries(${name} PUBLIC effects11) | ||
| 78 | endif() | ||
| 79 | else() | ||
| 80 | foreach(src IN LISTS SOURCES HEADERS OTHERS) | ||
| 81 | get_filename_component(src_path "${src}" ABSOLUTE) | ||
| 82 | list(APPEND FILES ${src_path}) | ||
| 83 | endforeach() | ||
| 84 | target_sources(lib${APP_NAME_LC} PRIVATE ${FILES}) | ||
| 85 | set(CORE_LIBRARY lib${APP_NAME_LC} PARENT_SCOPE) | ||
| 86 | endif() | ||
| 87 | endfunction() | ||
| 88 | |||
| 89 | # Add a test library, and add sources to list for gtest integration macros | ||
| 90 | function(core_add_test_library name) | ||
| 91 | if(ENABLE_STATIC_LIBS) | ||
| 92 | add_library(${name} STATIC ${SOURCES} ${SUPPORTED_SOURCES} ${HEADERS} ${OTHERS}) | ||
| 93 | set_target_properties(${name} PROPERTIES PREFIX "" | ||
| 94 | EXCLUDE_FROM_ALL 1 | ||
| 95 | FOLDER "Build Utilities/tests") | ||
| 96 | add_dependencies(${name} libcpluff ffmpeg dvdnav crossguid) | ||
| 97 | set(test_archives ${test_archives} ${name} CACHE STRING "" FORCE) | ||
| 98 | endif() | ||
| 99 | foreach(src IN LISTS SOURCES) | ||
| 100 | get_filename_component(src_path "${src}" ABSOLUTE) | ||
| 101 | set(test_sources "${src_path}" ${test_sources} CACHE STRING "" FORCE) | ||
| 102 | endforeach() | ||
| 103 | endfunction() | ||
| 104 | |||
| 105 | # Add an addon callback library | ||
| 106 | # Arguments: | ||
| 107 | # name name of the library to add | ||
| 108 | # Implicit arguments: | ||
| 109 | # SOURCES the sources of the library | ||
| 110 | # HEADERS the headers of the library (only for IDE support) | ||
| 111 | # OTHERS other library related files (only for IDE support) | ||
| 112 | # On return: | ||
| 113 | # Library target is defined and added to LIBRARY_FILES | ||
| 114 | function(core_add_addon_library name) | ||
| 115 | get_filename_component(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} NAME) | ||
| 116 | list(APPEND SOURCES lib${name}.cpp) | ||
| 117 | core_add_shared_library(${name} OUTPUT_DIRECTORY addons/${DIRECTORY}) | ||
| 118 | set_target_properties(${name} PROPERTIES FOLDER addons) | ||
| 119 | target_include_directories(${name} PRIVATE | ||
| 120 | ${CMAKE_CURRENT_SOURCE_DIR} | ||
| 121 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi | ||
| 122 | ${CORE_SOURCE_DIR}/xbmc) | ||
| 123 | endfunction() | ||
| 124 | |||
| 125 | # Add an dl-loaded shared library | ||
| 126 | # Arguments: | ||
| 127 | # name name of the library to add | ||
| 128 | # Optional arguments: | ||
| 129 | # WRAPPED wrap this library on POSIX platforms to add VFS support for | ||
| 130 | # libraries that would otherwise not support it. | ||
| 131 | # OUTPUT_DIRECTORY where to create the library in the build dir | ||
| 132 | # (default: system) | ||
| 133 | # Implicit arguments: | ||
| 134 | # SOURCES the sources of the library | ||
| 135 | # HEADERS the headers of the library (only for IDE support) | ||
| 136 | # OTHERS other library related files (only for IDE support) | ||
| 137 | # On return: | ||
| 138 | # Library target is defined and added to LIBRARY_FILES | ||
| 139 | function(core_add_shared_library name) | ||
| 140 | cmake_parse_arguments(arg "WRAPPED" "OUTPUT_DIRECTORY" "" ${ARGN}) | ||
| 141 | if(arg_OUTPUT_DIRECTORY) | ||
| 142 | set(OUTPUT_DIRECTORY ${arg_OUTPUT_DIRECTORY}) | ||
| 143 | else() | ||
| 144 | if(NOT CORE_SYSTEM_NAME STREQUAL windows) | ||
| 145 | set(OUTPUT_DIRECTORY system) | ||
| 146 | endif() | ||
| 147 | endif() | ||
| 148 | if(CORE_SYSTEM_NAME STREQUAL windows) | ||
| 149 | set(OUTPUT_NAME lib${name}) | ||
| 150 | else() | ||
| 151 | set(OUTPUT_NAME lib${name}-${ARCH}) | ||
| 152 | endif() | ||
| 153 | |||
| 154 | if(NOT arg_WRAPPED OR CORE_SYSTEM_NAME STREQUAL windows) | ||
| 155 | add_library(${name} SHARED ${SOURCES} ${HEADERS} ${OTHERS}) | ||
| 156 | set_target_properties(${name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY} | ||
| 157 | RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY} | ||
| 158 | OUTPUT_NAME ${OUTPUT_NAME} PREFIX "") | ||
| 159 | foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) | ||
| 160 | string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) | ||
| 161 | set_target_properties(${name} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY} | ||
| 162 | RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY}) | ||
| 163 | endforeach() | ||
| 164 | |||
| 165 | set(LIBRARY_FILES ${LIBRARY_FILES} ${CMAKE_BINARY_DIR}/${OUTPUT_DIRECTORY}/${OUTPUT_NAME}${CMAKE_SHARED_LIBRARY_SUFFIX} CACHE STRING "" FORCE) | ||
| 166 | add_dependencies(${APP_NAME_LC}-libraries ${name}) | ||
| 167 | else() | ||
| 168 | add_library(${name} STATIC ${SOURCES} ${HEADERS} ${OTHERS}) | ||
| 169 | set_target_properties(${name} PROPERTIES POSITION_INDEPENDENT_CODE 1) | ||
| 170 | core_link_library(${name} ${OUTPUT_DIRECTORY}/lib${name}) | ||
| 171 | endif() | ||
| 172 | endfunction() | ||
| 173 | |||
| 174 | # Sets the compile language for all C source files in a target to CXX. | ||
| 175 | # Needs to be called from the CMakeLists.txt that defines the target. | ||
| 176 | # Arguments: | ||
| 177 | # target target | ||
| 178 | function(set_language_cxx target) | ||
| 179 | get_property(sources TARGET ${target} PROPERTY SOURCES) | ||
| 180 | foreach(file IN LISTS sources) | ||
| 181 | if(file MATCHES "\.c$") | ||
| 182 | set_source_files_properties(${file} PROPERTIES LANGUAGE CXX) | ||
| 183 | endif() | ||
| 184 | endforeach() | ||
| 185 | endfunction() | ||
| 186 | |||
| 187 | # Add a data file to installation list with a mirror in build tree | ||
| 188 | # Mirroring files in the buildtree allows to execute the app from there. | ||
| 189 | # Arguments: | ||
| 190 | # file full path to file to mirror | ||
| 191 | # Optional Arguments: | ||
| 192 | # NO_INSTALL: exclude file from installation target (only mirror) | ||
| 193 | # DIRECTORY: directory where the file should be mirrored to | ||
| 194 | # (default: preserve tree structure relative to CORE_SOURCE_DIR) | ||
| 195 | # On return: | ||
| 196 | # Files is mirrored to the build tree and added to ${install_data} | ||
| 197 | # (if NO_INSTALL is not given). | ||
| 198 | function(copy_file_to_buildtree file) | ||
| 199 | cmake_parse_arguments(arg "NO_INSTALL" "DIRECTORY" "" ${ARGN}) | ||
| 200 | if(arg_DIRECTORY) | ||
| 201 | set(outdir ${arg_DIRECTORY}) | ||
| 202 | get_filename_component(outfile ${file} NAME) | ||
| 203 | set(outfile ${outdir}/${outfile}) | ||
| 204 | else() | ||
| 205 | string(REPLACE "${CORE_SOURCE_DIR}/" "" outfile ${file}) | ||
| 206 | get_filename_component(outdir ${outfile} DIRECTORY) | ||
| 207 | endif() | ||
| 208 | |||
| 209 | if(NOT TARGET export-files) | ||
| 210 | file(REMOVE ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ExportFiles.cmake) | ||
| 211 | add_custom_target(export-files ALL COMMENT "Copying files into build tree" | ||
| 212 | COMMAND ${CMAKE_COMMAND} -P ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ExportFiles.cmake) | ||
| 213 | set_target_properties(export-files PROPERTIES FOLDER "Build Utilities") | ||
| 214 | file(APPEND ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ExportFiles.cmake "# Export files to build tree\n") | ||
| 215 | endif() | ||
| 216 | |||
| 217 | # Exclude autotools build artefacts and other blacklisted files in source tree. | ||
| 218 | if(file MATCHES "(Makefile|\.in|\.xbt|\.so|\.dylib|\.gitignore)$") | ||
| 219 | if(VERBOSE) | ||
| 220 | message(STATUS "copy_file_to_buildtree - ignoring file: ${file}") | ||
| 221 | endif() | ||
| 222 | return() | ||
| 223 | endif() | ||
| 224 | |||
| 225 | if(NOT file STREQUAL ${CMAKE_BINARY_DIR}/${outfile}) | ||
| 226 | if(VERBOSE) | ||
| 227 | message(STATUS "copy_file_to_buildtree - copying file: ${file} -> ${CMAKE_BINARY_DIR}/${outfile}") | ||
| 228 | endif() | ||
| 229 | file(APPEND ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/ExportFiles.cmake | ||
| 230 | "file(COPY \"${file}\" DESTINATION \"${CMAKE_BINARY_DIR}/${outdir}\")\n") | ||
| 231 | endif() | ||
| 232 | |||
| 233 | if(NOT arg_NO_INSTALL) | ||
| 234 | list(APPEND install_data ${outfile}) | ||
| 235 | set(install_data ${install_data} PARENT_SCOPE) | ||
| 236 | endif() | ||
| 237 | endfunction() | ||
| 238 | |||
| 239 | # Add data files to installation list with a mirror in build tree. | ||
| 240 | # reads list of files to install from a given list of text files. | ||
| 241 | # Arguments: | ||
| 242 | # pattern globbing pattern for text files to read | ||
| 243 | # Optional Arguments: | ||
| 244 | # NO_INSTALL: exclude files from installation target | ||
| 245 | # Implicit arguments: | ||
| 246 | # CORE_SOURCE_DIR - root of source tree | ||
| 247 | # On return: | ||
| 248 | # Files are mirrored to the build tree and added to ${install_data} | ||
| 249 | # (if NO_INSTALL is not given). | ||
| 250 | function(copy_files_from_filelist_to_buildtree pattern) | ||
| 251 | # copies files listed in text files to the buildtree | ||
| 252 | # Input: [glob pattern: filepattern] | ||
| 253 | cmake_parse_arguments(arg "NO_INSTALL" "" "" ${ARGN}) | ||
| 254 | list(APPEND pattern ${ARGN}) | ||
| 255 | list(SORT pattern) | ||
| 256 | if(VERBOSE) | ||
| 257 | message(STATUS "copy_files_from_filelist_to_buildtree - got pattern: ${pattern}") | ||
| 258 | endif() | ||
| 259 | foreach(pat ${pattern}) | ||
| 260 | file(GLOB filenames ${pat}) | ||
| 261 | foreach(filename ${filenames}) | ||
| 262 | string(STRIP ${filename} filename) | ||
| 263 | core_file_read_filtered(fstrings ${filename}) | ||
| 264 | foreach(dir ${fstrings}) | ||
| 265 | string(REPLACE " " ";" dir ${dir}) | ||
| 266 | list(GET dir 0 src) | ||
| 267 | list(LENGTH dir len) | ||
| 268 | if(len EQUAL 1) | ||
| 269 | set(dest) | ||
| 270 | else() | ||
| 271 | list(GET dir -1 dest) | ||
| 272 | endif() | ||
| 273 | |||
| 274 | # If the full path to an existing file is specified then add that single file. | ||
| 275 | # Don't recursively add all files with the given name. | ||
| 276 | if(EXISTS ${CORE_SOURCE_DIR}/${src} AND NOT IS_DIRECTORY ${CORE_SOURCE_DIR}/${src}) | ||
| 277 | set(files ${src}) | ||
| 278 | else() | ||
| 279 | file(GLOB_RECURSE files RELATIVE ${CORE_SOURCE_DIR} ${CORE_SOURCE_DIR}/${src}) | ||
| 280 | endif() | ||
| 281 | |||
| 282 | foreach(file ${files}) | ||
| 283 | if(arg_NO_INSTALL) | ||
| 284 | copy_file_to_buildtree(${CORE_SOURCE_DIR}/${file} DIRECTORY ${dest} NO_INSTALL) | ||
| 285 | else() | ||
| 286 | copy_file_to_buildtree(${CORE_SOURCE_DIR}/${file} DIRECTORY ${dest}) | ||
| 287 | endif() | ||
| 288 | endforeach() | ||
| 289 | endforeach() | ||
| 290 | endforeach() | ||
| 291 | endforeach() | ||
| 292 | set(install_data ${install_data} PARENT_SCOPE) | ||
| 293 | endfunction() | ||
| 294 | |||
| 295 | # helper macro to set modified variables in parent scope | ||
| 296 | macro(export_dep) | ||
| 297 | set(SYSTEM_INCLUDES ${SYSTEM_INCLUDES} PARENT_SCOPE) | ||
| 298 | set(DEPLIBS ${DEPLIBS} PARENT_SCOPE) | ||
| 299 | set(DEP_DEFINES ${DEP_DEFINES} PARENT_SCOPE) | ||
| 300 | set(${depup}_FOUND ${${depup}_FOUND} PARENT_SCOPE) | ||
| 301 | mark_as_advanced(${depup}_LIBRARIES) | ||
| 302 | endmacro() | ||
| 303 | |||
| 304 | # add a required dependency of main application | ||
| 305 | # Arguments: | ||
| 306 | # dep name of find rule for dependency, used uppercased for variable prefix | ||
| 307 | # On return: | ||
| 308 | # dependency added to ${SYSTEM_INCLUDES}, ${DEPLIBS} and ${DEP_DEFINES} | ||
| 309 | function(core_require_dep dep) | ||
| 310 | find_package(${dep} REQUIRED) | ||
| 311 | string(TOUPPER ${dep} depup) | ||
| 312 | list(APPEND SYSTEM_INCLUDES ${${depup}_INCLUDE_DIRS}) | ||
| 313 | list(APPEND DEPLIBS ${${depup}_LIBRARIES}) | ||
| 314 | list(APPEND DEP_DEFINES ${${depup}_DEFINITIONS}) | ||
| 315 | export_dep() | ||
| 316 | endfunction() | ||
| 317 | |||
| 318 | # add a required dyloaded dependency of main application | ||
| 319 | # Arguments: | ||
| 320 | # dep name of find rule for dependency, used uppercased for variable prefix | ||
| 321 | # On return: | ||
| 322 | # dependency added to ${SYSTEM_INCLUDES}, ${dep}_SONAME is set up | ||
| 323 | function(core_require_dyload_dep dep) | ||
| 324 | find_package(${dep} REQUIRED) | ||
| 325 | string(TOUPPER ${dep} depup) | ||
| 326 | list(APPEND SYSTEM_INCLUDES ${${depup}_INCLUDE_DIRS}) | ||
| 327 | list(APPEND DEP_DEFINES ${${depup}_DEFINITIONS}) | ||
| 328 | find_soname(${depup} REQUIRED) | ||
| 329 | export_dep() | ||
| 330 | set(${depup}_SONAME ${${depup}_SONAME} PARENT_SCOPE) | ||
| 331 | endfunction() | ||
| 332 | |||
| 333 | # helper macro for optional deps | ||
| 334 | macro(setup_enable_switch) | ||
| 335 | string(TOUPPER ${dep} depup) | ||
| 336 | if(ARGV1) | ||
| 337 | set(enable_switch ${ARGV1}) | ||
| 338 | else() | ||
| 339 | set(enable_switch ENABLE_${depup}) | ||
| 340 | endif() | ||
| 341 | # normal options are boolean, so we override set our ENABLE_FOO var to allow "auto" handling | ||
| 342 | set(${enable_switch} "AUTO" CACHE STRING "Enable ${depup} support?") | ||
| 343 | endmacro() | ||
| 344 | |||
| 345 | # add an optional dependency of main application | ||
| 346 | # Arguments: | ||
| 347 | # dep name of find rule for dependency, used uppercased for variable prefix | ||
| 348 | # On return: | ||
| 349 | # dependency optionally added to ${SYSTEM_INCLUDES}, ${DEPLIBS} and ${DEP_DEFINES} | ||
| 350 | function(core_optional_dep dep) | ||
| 351 | setup_enable_switch() | ||
| 352 | if(${enable_switch} STREQUAL AUTO) | ||
| 353 | find_package(${dep}) | ||
| 354 | elseif(${${enable_switch}}) | ||
| 355 | find_package(${dep} REQUIRED) | ||
| 356 | endif() | ||
| 357 | |||
| 358 | if(${depup}_FOUND) | ||
| 359 | list(APPEND SYSTEM_INCLUDES ${${depup}_INCLUDE_DIRS}) | ||
| 360 | list(APPEND DEPLIBS ${${depup}_LIBRARIES}) | ||
| 361 | list(APPEND DEP_DEFINES ${${depup}_DEFINITIONS}) | ||
| 362 | set(final_message ${final_message} "${depup} enabled: Yes" PARENT_SCOPE) | ||
| 363 | export_dep() | ||
| 364 | else() | ||
| 365 | set(final_message ${final_message} "${depup} enabled: No" PARENT_SCOPE) | ||
| 366 | endif() | ||
| 367 | endfunction() | ||
| 368 | |||
| 369 | # add an optional dyloaded dependency of main application | ||
| 370 | # Arguments: | ||
| 371 | # dep name of find rule for dependency, used uppercased for variable prefix | ||
| 372 | # On return: | ||
| 373 | # dependency optionally added to ${SYSTEM_INCLUDES}, ${DEP_DEFINES}, ${dep}_SONAME is set up | ||
| 374 | function(core_optional_dyload_dep dep) | ||
| 375 | setup_enable_switch() | ||
| 376 | if(${enable_switch}) | ||
| 377 | find_package(${dep}) | ||
| 378 | if(${depup}_FOUND) | ||
| 379 | list(APPEND SYSTEM_INCLUDES ${${depup}_INCLUDE_DIRS}) | ||
| 380 | find_soname(${depup} REQUIRED) | ||
| 381 | list(APPEND DEP_DEFINES ${${depup}_DEFINITIONS}) | ||
| 382 | set(final_message ${final_message} "${depup} enabled: Yes" PARENT_SCOPE) | ||
| 383 | export_dep() | ||
| 384 | set(${depup}_SONAME ${${depup}_SONAME} PARENT_SCOPE) | ||
| 385 | endif() | ||
| 386 | endif() | ||
| 387 | endfunction() | ||
| 388 | |||
| 389 | function(core_file_read_filtered result filepattern) | ||
| 390 | # Reads STRINGS from text files | ||
| 391 | # with comments filtered out | ||
| 392 | # Result: [list: result] | ||
| 393 | # Input: [glob pattern: filepattern] | ||
| 394 | file(GLOB filenames ${filepattern}) | ||
| 395 | list(SORT filenames) | ||
| 396 | foreach(filename ${filenames}) | ||
| 397 | if(VERBOSE) | ||
| 398 | message(STATUS "core_file_read_filtered - filename: ${filename}") | ||
| 399 | endif() | ||
| 400 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${filename}) | ||
| 401 | file(STRINGS ${filename} fstrings REGEX "^[^#//]") | ||
| 402 | foreach(fstring ${fstrings}) | ||
| 403 | string(REGEX REPLACE "^(.*)#(.*)" "\\1" fstring ${fstring}) | ||
| 404 | string(REGEX REPLACE "[ \n\r\t]//.*" "" fstring ${fstring}) | ||
| 405 | string(STRIP ${fstring} fstring) | ||
| 406 | list(APPEND filename_strings ${fstring}) | ||
| 407 | endforeach() | ||
| 408 | endforeach() | ||
| 409 | set(${result} ${filename_strings} PARENT_SCOPE) | ||
| 410 | endfunction() | ||
| 411 | |||
| 412 | function(core_add_subdirs_from_filelist files) | ||
| 413 | # Adds subdirectories from a sorted list of files | ||
| 414 | # Input: [list: filenames] [bool: sort] | ||
| 415 | foreach(arg ${ARGN}) | ||
| 416 | list(APPEND files ${arg}) | ||
| 417 | endforeach() | ||
| 418 | list(SORT files) | ||
| 419 | if(VERBOSE) | ||
| 420 | message(STATUS "core_add_subdirs_from_filelist - got pattern: ${files}") | ||
| 421 | endif() | ||
| 422 | foreach(filename ${files}) | ||
| 423 | string(STRIP ${filename} filename) | ||
| 424 | core_file_read_filtered(fstrings ${filename}) | ||
| 425 | foreach(subdir ${fstrings}) | ||
| 426 | string(REPLACE " " ";" subdir ${subdir}) | ||
| 427 | list(GET subdir 0 subdir_src) | ||
| 428 | list(GET subdir -1 subdir_dest) | ||
| 429 | if(VERBOSE) | ||
| 430 | message(STATUS " core_add_subdirs_from_filelist - adding subdir: ${CORE_SOURCE_DIR}/${subdir_src} -> ${CORE_BUILD_DIR}/${subdir_dest}") | ||
| 431 | endif() | ||
| 432 | add_subdirectory(${CORE_SOURCE_DIR}/${subdir_src} ${CORE_BUILD_DIR}/${subdir_dest}) | ||
| 433 | endforeach() | ||
| 434 | endforeach() | ||
| 435 | endfunction() | ||
| 436 | |||
| 437 | macro(core_add_optional_subdirs_from_filelist pattern) | ||
| 438 | # Adds subdirectories from text files | ||
| 439 | # if the option(s) in the 3rd field are enabled | ||
| 440 | # Input: [glob pattern: filepattern] | ||
| 441 | foreach(arg ${ARGN}) | ||
| 442 | list(APPEND pattern ${arg}) | ||
| 443 | endforeach() | ||
| 444 | foreach(elem ${pattern}) | ||
| 445 | string(STRIP ${elem} elem) | ||
| 446 | list(APPEND filepattern ${elem}) | ||
| 447 | endforeach() | ||
| 448 | |||
| 449 | file(GLOB filenames ${filepattern}) | ||
| 450 | list(SORT filenames) | ||
| 451 | if(VERBOSE) | ||
| 452 | message(STATUS "core_add_optional_subdirs_from_filelist - got pattern: ${filenames}") | ||
| 453 | endif() | ||
| 454 | |||
| 455 | foreach(filename ${filenames}) | ||
| 456 | if(VERBOSE) | ||
| 457 | message(STATUS "core_add_optional_subdirs_from_filelist - reading file: ${filename}") | ||
| 458 | endif() | ||
| 459 | set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${filename}) | ||
| 460 | file(STRINGS ${filename} fstrings REGEX "^[^#//]") | ||
| 461 | foreach(line ${fstrings}) | ||
| 462 | string(REPLACE " " ";" line "${line}") | ||
| 463 | list(GET line 0 subdir_src) | ||
| 464 | list(GET line 1 subdir_dest) | ||
| 465 | list(GET line 3 opts) | ||
| 466 | foreach(opt ${opts}) | ||
| 467 | if(ENABLE_${opt}) | ||
| 468 | if(VERBOSE) | ||
| 469 | message(STATUS " core_add_optional_subdirs_from_filelist - adding subdir: ${CORE_SOURCE_DIR}/${subdir_src} -> ${CORE_BUILD_DIR}/${subdir_dest}") | ||
| 470 | endif() | ||
| 471 | add_subdirectory(${CORE_SOURCE_DIR}/${subdir_src} ${CORE_BUILD_DIR}/${subdir_dest}) | ||
| 472 | else() | ||
| 473 | if(VERBOSE) | ||
| 474 | message(STATUS " core_add_optional_subdirs_from_filelist: OPTION ${opt} not enabled for ${subdir_src}, skipping subdir") | ||
| 475 | endif() | ||
| 476 | endif() | ||
| 477 | endforeach() | ||
| 478 | endforeach() | ||
| 479 | endforeach() | ||
| 480 | endmacro() | ||
| 481 | |||
| 482 | # Generates an RFC2822 timestamp | ||
| 483 | # | ||
| 484 | # The following variable is set: | ||
| 485 | # RFC2822_TIMESTAMP | ||
| 486 | function(rfc2822stamp) | ||
| 487 | execute_process(COMMAND date -R | ||
| 488 | OUTPUT_VARIABLE RESULT) | ||
| 489 | set(RFC2822_TIMESTAMP ${RESULT} PARENT_SCOPE) | ||
| 490 | endfunction() | ||
| 491 | |||
| 492 | # Generates an user stamp from git config info | ||
| 493 | # | ||
| 494 | # The following variable is set: | ||
| 495 | # PACKAGE_MAINTAINER - user stamp in the form of "username <username@example.com>" | ||
| 496 | # if no git tree is found, value is set to "nobody <nobody@example.com>" | ||
| 497 | function(userstamp) | ||
| 498 | find_package(Git) | ||
| 499 | if(GIT_FOUND AND EXISTS ${CORE_SOURCE_DIR}/.git) | ||
| 500 | execute_process(COMMAND ${GIT_EXECUTABLE} config user.name | ||
| 501 | OUTPUT_VARIABLE username | ||
| 502 | WORKING_DIRECTORY ${CORE_SOURCE_DIR} | ||
| 503 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 504 | execute_process(COMMAND ${GIT_EXECUTABLE} config user.email | ||
| 505 | OUTPUT_VARIABLE useremail | ||
| 506 | WORKING_DIRECTORY ${CORE_SOURCE_DIR} | ||
| 507 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 508 | set(PACKAGE_MAINTAINER "${username} <${useremail}>" PARENT_SCOPE) | ||
| 509 | else() | ||
| 510 | set(PACKAGE_MAINTAINER "nobody <nobody@example.com>" PARENT_SCOPE) | ||
| 511 | endif() | ||
| 512 | endfunction() | ||
| 513 | |||
| 514 | # Parses git info and sets variables used to identify the build | ||
| 515 | # Arguments: | ||
| 516 | # stamp variable name to return | ||
| 517 | # Optional Arguments: | ||
| 518 | # FULL: generate git HEAD commit in the form of 'YYYYMMDD-hash' | ||
| 519 | # if git tree is dirty, value is set in the form of 'YYYYMMDD-hash-dirty' | ||
| 520 | # if no git tree is found, value is set in the form of 'YYYYMMDD-nogitfound' | ||
| 521 | # if FULL is not given, stamp is generated following the same process as above | ||
| 522 | # but without 'YYYYMMDD' | ||
| 523 | # On return: | ||
| 524 | # Variable is set with generated stamp to PARENT_SCOPE | ||
| 525 | function(core_find_git_rev stamp) | ||
| 526 | # allow manual setting GIT_VERSION | ||
| 527 | if(GIT_VERSION) | ||
| 528 | set(${stamp} ${GIT_VERSION} PARENT_SCOPE) | ||
| 529 | else() | ||
| 530 | find_package(Git) | ||
| 531 | if(GIT_FOUND AND EXISTS ${CORE_SOURCE_DIR}/.git) | ||
| 532 | execute_process(COMMAND ${GIT_EXECUTABLE} diff-files --ignore-submodules --quiet -- | ||
| 533 | RESULT_VARIABLE status_code | ||
| 534 | WORKING_DIRECTORY ${CORE_SOURCE_DIR}) | ||
| 535 | if(NOT status_code) | ||
| 536 | execute_process(COMMAND ${GIT_EXECUTABLE} diff-index --ignore-submodules --quiet HEAD -- | ||
| 537 | RESULT_VARIABLE status_code | ||
| 538 | WORKING_DIRECTORY ${CORE_SOURCE_DIR}) | ||
| 539 | endif() | ||
| 540 | if(status_code) | ||
| 541 | execute_process(COMMAND ${GIT_EXECUTABLE} log -n 1 --pretty=format:"%h-dirty" HEAD | ||
| 542 | OUTPUT_VARIABLE HASH | ||
| 543 | WORKING_DIRECTORY ${CORE_SOURCE_DIR}) | ||
| 544 | string(SUBSTRING ${HASH} 1 13 HASH) | ||
| 545 | else() | ||
| 546 | execute_process(COMMAND ${GIT_EXECUTABLE} log -n 1 --pretty=format:"%h" HEAD | ||
| 547 | OUTPUT_VARIABLE HASH | ||
| 548 | WORKING_DIRECTORY ${CORE_SOURCE_DIR}) | ||
| 549 | string(SUBSTRING ${HASH} 1 7 HASH) | ||
| 550 | endif() | ||
| 551 | execute_process(COMMAND ${GIT_EXECUTABLE} log -1 --pretty=format:"%cd" --date=short HEAD | ||
| 552 | OUTPUT_VARIABLE DATE | ||
| 553 | WORKING_DIRECTORY ${CORE_SOURCE_DIR}) | ||
| 554 | string(SUBSTRING ${DATE} 1 10 DATE) | ||
| 555 | string(REPLACE "-" "" DATE ${DATE}) | ||
| 556 | else() | ||
| 557 | string(TIMESTAMP DATE "%Y%m%d" UTC) | ||
| 558 | set(HASH "nogitfound") | ||
| 559 | endif() | ||
| 560 | cmake_parse_arguments(arg "FULL" "" "" ${ARGN}) | ||
| 561 | if(arg_FULL) | ||
| 562 | set(${stamp} ${DATE}-${HASH} PARENT_SCOPE) | ||
| 563 | else() | ||
| 564 | set(${stamp} ${HASH} PARENT_SCOPE) | ||
| 565 | endif() | ||
| 566 | endif() | ||
| 567 | endfunction() | ||
| 568 | |||
| 569 | # Parses version.txt and libKODI_guilib.h and sets variables | ||
| 570 | # used to construct dirs structure, file naming, API version, etc. | ||
| 571 | # | ||
| 572 | # The following variables are set from version.txt: | ||
| 573 | # APP_NAME - app name | ||
| 574 | # APP_NAME_LC - lowercased app name | ||
| 575 | # APP_NAME_UC - uppercased app name | ||
| 576 | # COMPANY_NAME - company name | ||
| 577 | # APP_VERSION_MAJOR - the app version major | ||
| 578 | # APP_VERSION_MINOR - the app version minor | ||
| 579 | # APP_VERSION_TAG - the app version tag | ||
| 580 | # APP_VERSION_TAG_LC - lowercased app version tag | ||
| 581 | # APP_VERSION - the app version (${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}-${APP_VERSION_TAG}) | ||
| 582 | # APP_ADDON_API - the addon API version in the form of 16.9.702 | ||
| 583 | # FILE_VERSION - file version in the form of 16,9,702,0 - Windows only | ||
| 584 | # | ||
| 585 | # The following variables are set from libKODI_guilib.h: | ||
| 586 | # guilib_version - current ADDONGUI API version | ||
| 587 | # guilib_version_min - minimal ADDONGUI API version | ||
| 588 | macro(core_find_versions) | ||
| 589 | include(CMakeParseArguments) | ||
| 590 | core_file_read_filtered(version_list ${CORE_SOURCE_DIR}/version.txt) | ||
| 591 | string(REPLACE " " ";" version_list "${version_list}") | ||
| 592 | cmake_parse_arguments(APP "" "APP_NAME;COMPANY_NAME;WEBSITE;VERSION_MAJOR;VERSION_MINOR;VERSION_TAG;VERSION_CODE;ADDON_API" "" ${version_list}) | ||
| 593 | |||
| 594 | set(APP_NAME ${APP_APP_NAME}) # inconsistency but APP_APP_NAME looks weird | ||
| 595 | string(TOLOWER ${APP_APP_NAME} APP_NAME_LC) | ||
| 596 | string(TOUPPER ${APP_APP_NAME} APP_NAME_UC) | ||
| 597 | set(COMPANY_NAME ${APP_COMPANY_NAME}) | ||
| 598 | set(APP_VERSION ${APP_VERSION_MAJOR}.${APP_VERSION_MINOR}) | ||
| 599 | if(APP_VERSION_TAG) | ||
| 600 | set(APP_VERSION ${APP_VERSION}-${APP_VERSION_TAG}) | ||
| 601 | string(TOLOWER ${APP_VERSION_TAG} APP_VERSION_TAG_LC) | ||
| 602 | endif() | ||
| 603 | string(REPLACE "." "," FILE_VERSION ${APP_ADDON_API}.0) | ||
| 604 | file(STRINGS ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h guilib_version REGEX "^.*GUILIB_API_VERSION (.*)$") | ||
| 605 | string(REGEX REPLACE ".*\"(.*)\"" "\\1" guilib_version ${guilib_version}) | ||
| 606 | file(STRINGS ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h guilib_version_min REGEX "^.*GUILIB_MIN_API_VERSION (.*)$") | ||
| 607 | string(REGEX REPLACE ".*\"(.*)\"" "\\1" guilib_version_min ${guilib_version_min}) | ||
| 608 | # unset variables not used anywhere else | ||
| 609 | unset(version_list) | ||
| 610 | unset(APP_APP_NAME) | ||
| 611 | |||
| 612 | # bail if we can't parse version.txt | ||
| 613 | if(NOT DEFINED APP_VERSION_MAJOR OR NOT DEFINED APP_VERSION_MINOR) | ||
| 614 | message(FATAL_ERROR "Could not determine app version! Make sure that ${CORE_SOURCE_DIR}/version.txt exists") | ||
| 615 | endif() | ||
| 616 | |||
| 617 | # bail if we can't parse libKODI_guilib.h | ||
| 618 | if(NOT DEFINED guilib_version OR NOT DEFINED guilib_version_min) | ||
| 619 | message(FATAL_ERROR "Could not determine add-on API version! Make sure that ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h exists") | ||
| 620 | endif() | ||
| 621 | endmacro() | ||
| 622 | |||
diff --git a/project/cmake/scripts/common/PrepareEnv.cmake b/project/cmake/scripts/common/PrepareEnv.cmake deleted file mode 100644 index 51be739..0000000 --- a/project/cmake/scripts/common/PrepareEnv.cmake +++ /dev/null | |||
| @@ -1,64 +0,0 @@ | |||
| 1 | # parse version.txt and libKODI_guilib.h to get the version and API info | ||
| 2 | include(${CORE_SOURCE_DIR}/project/cmake/scripts/common/Macros.cmake) | ||
| 3 | core_find_versions() | ||
| 4 | |||
| 5 | # in case we need to download something, set KODI_MIRROR to the default if not alread set | ||
| 6 | if(NOT DEFINED KODI_MIRROR) | ||
| 7 | set(KODI_MIRROR "http://mirrors.kodi.tv") | ||
| 8 | endif() | ||
| 9 | |||
| 10 | ### copy all the addon binding header files to include/kodi | ||
| 11 | # make sure include/kodi exists and is empty | ||
| 12 | set(APP_LIB_DIR ${ADDON_DEPENDS_PATH}/lib/${APP_NAME_LC}) | ||
| 13 | if(NOT EXISTS "${APP_LIB_DIR}/") | ||
| 14 | file(MAKE_DIRECTORY ${APP_LIB_DIR}) | ||
| 15 | endif() | ||
| 16 | |||
| 17 | set(APP_DATA_DIR ${ADDON_DEPENDS_PATH}/share/${APP_NAME_LC}) | ||
| 18 | if(NOT EXISTS "${APP_DATA_DIR}/") | ||
| 19 | file(MAKE_DIRECTORY ${APP_DATA_DIR}) | ||
| 20 | endif() | ||
| 21 | |||
| 22 | set(APP_INCLUDE_DIR ${ADDON_DEPENDS_PATH}/include/${APP_NAME_LC}) | ||
| 23 | if(NOT EXISTS "${APP_INCLUDE_DIR}/") | ||
| 24 | file(MAKE_DIRECTORY ${APP_INCLUDE_DIR}) | ||
| 25 | endif() | ||
| 26 | |||
| 27 | # make sure C++11 is always set | ||
| 28 | if(NOT WIN32) | ||
| 29 | string(REGEX MATCH "-std=(gnu|c)\\+\\+11" cxx11flag "${CMAKE_CXX_FLAGS}") | ||
| 30 | if(NOT cxx11flag) | ||
| 31 | set(CXX11_SWITCH "-std=c++11") | ||
| 32 | endif() | ||
| 33 | endif() | ||
| 34 | |||
| 35 | # generate the proper KodiConfig.cmake file | ||
| 36 | configure_file(${CORE_SOURCE_DIR}/project/cmake/KodiConfig.cmake.in ${APP_LIB_DIR}/KodiConfig.cmake @ONLY) | ||
| 37 | |||
| 38 | # copy cmake helpers to lib/kodi | ||
| 39 | file(COPY ${CORE_SOURCE_DIR}/project/cmake/scripts/common/AddonHelpers.cmake | ||
| 40 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/AddOptions.cmake | ||
| 41 | DESTINATION ${APP_LIB_DIR}) | ||
| 42 | |||
| 43 | ### copy all the addon binding header files to include/kodi | ||
| 44 | # parse addon-bindings.mk to get the list of header files to copy | ||
| 45 | core_file_read_filtered(bindings ${CORE_SOURCE_DIR}/xbmc/addons/addon-bindings.mk) | ||
| 46 | foreach(binding ${bindings}) | ||
| 47 | string(REPLACE " =" ";" binding "${binding}") | ||
| 48 | string(REPLACE "+=" ";" binding "${binding}") | ||
| 49 | list(GET binding 1 header) | ||
| 50 | # copy the header file to include/kodi | ||
| 51 | configure_file(${CORE_SOURCE_DIR}/${header} ${APP_INCLUDE_DIR} COPYONLY) | ||
| 52 | endforeach() | ||
| 53 | |||
| 54 | ### processing additional tools required by the platform | ||
| 55 | if(EXISTS ${CORE_SOURCE_DIR}/project/cmake/scripts/${CORE_SYSTEM_NAME}/tools/) | ||
| 56 | file(GLOB platform_tools ${CORE_SOURCE_DIR}/project/cmake/scripts/${CORE_SYSTEM_NAME}/tools/*.cmake) | ||
| 57 | foreach(platform_tool ${platform_tools}) | ||
| 58 | get_filename_component(platform_tool_name ${platform_tool} NAME_WE) | ||
| 59 | message(STATUS "Processing ${CORE_SYSTEM_NAME} specific tool: ${platform_tool_name}") | ||
| 60 | |||
| 61 | # include the file | ||
| 62 | include(${platform_tool}) | ||
| 63 | endforeach() | ||
| 64 | endif() | ||
diff --git a/project/cmake/scripts/common/ProjectMacros.cmake b/project/cmake/scripts/common/ProjectMacros.cmake deleted file mode 100644 index e73ef90..0000000 --- a/project/cmake/scripts/common/ProjectMacros.cmake +++ /dev/null | |||
| @@ -1,89 +0,0 @@ | |||
| 1 | # This script holds macros which are project specific | ||
| 2 | |||
| 3 | # Pack a skin xbt file | ||
| 4 | # Arguments: | ||
| 5 | # input input directory to pack | ||
| 6 | # output ouput xbt file | ||
| 7 | # On return: | ||
| 8 | # xbt is added to ${XBT_FILES} | ||
| 9 | function(pack_xbt input output) | ||
| 10 | file(GLOB_RECURSE MEDIA_FILES ${input}/*) | ||
| 11 | get_filename_component(dir ${output} DIRECTORY) | ||
| 12 | add_custom_command(OUTPUT ${output} | ||
| 13 | COMMAND ${CMAKE_COMMAND} -E make_directory ${dir} | ||
| 14 | COMMAND TexturePacker::TexturePacker | ||
| 15 | ARGS -input ${input} | ||
| 16 | -output ${output} | ||
| 17 | -dupecheck | ||
| 18 | DEPENDS ${MEDIA_FILES}) | ||
| 19 | list(APPEND XBT_FILES ${output}) | ||
| 20 | set(XBT_FILES ${XBT_FILES} PARENT_SCOPE) | ||
| 21 | endfunction() | ||
| 22 | |||
| 23 | # Add a skin to installation list, mirroring it in build tree, packing textures | ||
| 24 | # Arguments: | ||
| 25 | # skin skin directory | ||
| 26 | # On return: | ||
| 27 | # xbt is added to ${XBT_FILES}, data added to ${install_data}, mirror in build tree | ||
| 28 | function(copy_skin_to_buildtree skin) | ||
| 29 | file(GLOB_RECURSE FILES ${skin}/*) | ||
| 30 | file(GLOB_RECURSE MEDIA_FILES ${skin}/media/*) | ||
| 31 | list(REMOVE_ITEM FILES ${MEDIA_FILES}) | ||
| 32 | foreach(file ${FILES}) | ||
| 33 | copy_file_to_buildtree(${file}) | ||
| 34 | endforeach() | ||
| 35 | file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${dest}/media) | ||
| 36 | string(REPLACE "${CORE_SOURCE_DIR}/" "" dest ${skin}) | ||
| 37 | pack_xbt(${skin}/media ${CMAKE_BINARY_DIR}/${dest}/media/Textures.xbt) | ||
| 38 | |||
| 39 | file(GLOB THEMES RELATIVE ${skin}/themes ${skin}/themes/*) | ||
| 40 | foreach(theme ${THEMES}) | ||
| 41 | pack_xbt(${skin}/themes/${theme} ${CMAKE_BINARY_DIR}/${dest}/media/${theme}.xbt) | ||
| 42 | endforeach() | ||
| 43 | |||
| 44 | set(XBT_FILES ${XBT_FILES} PARENT_SCOPE) | ||
| 45 | set(install_data ${install_data} PARENT_SCOPE) | ||
| 46 | endfunction() | ||
| 47 | |||
| 48 | # Get GTest tests as CMake tests. | ||
| 49 | # Copied from FindGTest.cmake | ||
| 50 | # Thanks to Daniel Blezek <blezek@gmail.com> for the GTEST_ADD_TESTS code | ||
| 51 | function(GTEST_ADD_TESTS executable extra_args) | ||
| 52 | if(NOT ARGN) | ||
| 53 | message(FATAL_ERROR "Missing ARGN: Read the documentation for GTEST_ADD_TESTS") | ||
| 54 | endif() | ||
| 55 | foreach(source ${ARGN}) | ||
| 56 | # This assumes that every source file passed in exists. Consider using | ||
| 57 | # SUPPORT_SOURCES for source files which do not contain tests and might | ||
| 58 | # have to be generated. | ||
| 59 | file(READ "${source}" contents) | ||
| 60 | string(REGEX MATCHALL "TEST_?[F]?\\(([A-Za-z_0-9 ,]+)\\)" found_tests ${contents}) | ||
| 61 | foreach(hit ${found_tests}) | ||
| 62 | string(REGEX REPLACE ".*\\( *([A-Za-z_0-9]+), *([A-Za-z_0-9]+) *\\).*" "\\1.\\2" test_name ${hit}) | ||
| 63 | add_test(${test_name} ${executable} --gtest_filter=${test_name} ${extra_args}) | ||
| 64 | endforeach() | ||
| 65 | # Groups parametrized tests under a single ctest entry | ||
| 66 | string(REGEX MATCHALL "INSTANTIATE_TEST_CASE_P\\(([^,]+), *([^,]+)" found_tests2 ${contents}) | ||
| 67 | foreach(hit ${found_tests2}) | ||
| 68 | string(SUBSTRING ${hit} 24 -1 test_name) | ||
| 69 | string(REPLACE "," ";" test_name "${test_name}") | ||
| 70 | list(GET test_name 0 filter_name) | ||
| 71 | list(GET test_name 1 test_prefix) | ||
| 72 | string(STRIP ${test_prefix} test_prefix) | ||
| 73 | add_test(${test_prefix}.${filter_name} ${executable} --gtest_filter=${filter_name}* ${extra_args}) | ||
| 74 | endforeach() | ||
| 75 | endforeach() | ||
| 76 | endfunction() | ||
| 77 | |||
| 78 | function(whole_archive output) | ||
| 79 | if(CMAKE_CXX_COMPILER_ID STREQUAL GNU OR CMAKE_CXX_COMPILER_ID STREQUAL Clang) | ||
| 80 | set(${output} -Wl,--whole-archive ${ARGN} -Wl,--no-whole-archive PARENT_SCOPE) | ||
| 81 | elseif(CMAKE_CXX_COMPILER_ID STREQUAL AppleClang) | ||
| 82 | foreach(library ${ARGN}) | ||
| 83 | list(APPEND ${output} -Wl,-force_load ${library}) | ||
| 84 | set(${output} ${${output}} PARENT_SCOPE) | ||
| 85 | endforeach() | ||
| 86 | else() | ||
| 87 | set(${output} ${ARGN} PARENT_SCOPE) | ||
| 88 | endif() | ||
| 89 | endfunction() | ||
diff --git a/project/cmake/scripts/common/Uninstall.cmake b/project/cmake/scripts/common/Uninstall.cmake deleted file mode 100644 index 5660e19..0000000 --- a/project/cmake/scripts/common/Uninstall.cmake +++ /dev/null | |||
| @@ -1,22 +0,0 @@ | |||
| 1 | # Uninstall target | ||
| 2 | set(MANIFEST ${CMAKE_CURRENT_BINARY_DIR}/install_manifest.txt) | ||
| 3 | if(EXISTS ${MANIFEST}) | ||
| 4 | file(STRINGS ${MANIFEST} files) | ||
| 5 | foreach(file IN LISTS files) | ||
| 6 | if(EXISTS $ENV{DESTDIR}${file}) | ||
| 7 | message(STATUS "Uninstalling: ${file}") | ||
| 8 | execute_process( | ||
| 9 | COMMAND ${CMAKE_COMMAND} -E remove $ENV{DESTDIR}${file} | ||
| 10 | OUTPUT_VARIABLE rm_out | ||
| 11 | RESULT_VARIABLE rm_retval | ||
| 12 | ) | ||
| 13 | if(NOT "${rm_retval}" STREQUAL 0) | ||
| 14 | message(FATAL_ERROR "Failed to remove file: $ENV{DESTDIR}${file}") | ||
| 15 | endif() | ||
| 16 | else() | ||
| 17 | message(STATUS "File does not exist: $ENV{DESTDIR}${file}") | ||
| 18 | endif() | ||
| 19 | endforeach(file) | ||
| 20 | else() | ||
| 21 | message(STATUS "Cannot find install manifest: '${MANIFEST}'") | ||
| 22 | endif() | ||
diff --git a/project/cmake/scripts/freebsd/ArchSetup.cmake b/project/cmake/scripts/freebsd/ArchSetup.cmake deleted file mode 100644 index 013205c..0000000 --- a/project/cmake/scripts/freebsd/ArchSetup.cmake +++ /dev/null | |||
| @@ -1,16 +0,0 @@ | |||
| 1 | set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_FREEBSD) | ||
| 2 | set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED | ||
| 3 | -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) | ||
| 4 | set(PLATFORM_DIR linux) | ||
| 5 | set(SYSTEM_LDFLAGS -L/usr/local/lib) | ||
| 6 | if(WITH_ARCH) | ||
| 7 | set(ARCH ${WITH_ARCH}) | ||
| 8 | else() | ||
| 9 | if(CMAKE_SYSTEM_PROCESSOR STREQUAL amd64) | ||
| 10 | set(ARCH x86_64-freebsd) | ||
| 11 | elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i.86") | ||
| 12 | set(ARCH x86-freebsd) | ||
| 13 | else() | ||
| 14 | message(WARNING "unknown CPU: ${CPU}") | ||
| 15 | endif() | ||
| 16 | endif() | ||
diff --git a/project/cmake/scripts/freebsd/Install.cmake b/project/cmake/scripts/freebsd/Install.cmake deleted file mode 120000 index 28ce012..0000000 --- a/project/cmake/scripts/freebsd/Install.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../linux/Install.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/freebsd/Macros.cmake b/project/cmake/scripts/freebsd/Macros.cmake deleted file mode 120000 index 2fdbb25..0000000 --- a/project/cmake/scripts/freebsd/Macros.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../linux/Macros.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/freebsd/PathSetup.cmake b/project/cmake/scripts/freebsd/PathSetup.cmake deleted file mode 120000 index 6786c1c..0000000 --- a/project/cmake/scripts/freebsd/PathSetup.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../linux/PathSetup.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/ios/ArchSetup.cmake b/project/cmake/scripts/ios/ArchSetup.cmake deleted file mode 100644 index f3e8590..0000000 --- a/project/cmake/scripts/ios/ArchSetup.cmake +++ /dev/null | |||
| @@ -1,57 +0,0 @@ | |||
| 1 | if(NOT CMAKE_TOOLCHAIN_FILE) | ||
| 2 | message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for ios. See ${PROJECT_SOURCE_DIR}/README.md") | ||
| 3 | endif() | ||
| 4 | |||
| 5 | set(CORE_MAIN_SOURCE ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/XBMCApplication.m) | ||
| 6 | |||
| 7 | set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_IOS) | ||
| 8 | set(SYSTEM_DEFINES -D_REENTRANT -D_FILE_DEFINED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE | ||
| 9 | -D__STDC_CONSTANT_MACROS) | ||
| 10 | set(PLATFORM_DIR linux) | ||
| 11 | set(CMAKE_SYSTEM_NAME Darwin) | ||
| 12 | if(WITH_ARCH) | ||
| 13 | set(ARCH ${WITH_ARCH}) | ||
| 14 | else() | ||
| 15 | if(CPU STREQUAL armv7 OR CPU STREQUAL arm64) | ||
| 16 | set(CMAKE_OSX_ARCHITECTURES ${CPU}) | ||
| 17 | set(ARCH arm-osx) | ||
| 18 | set(NEON False) | ||
| 19 | else() | ||
| 20 | message(SEND_ERROR "Unknown CPU: ${CPU}") | ||
| 21 | endif() | ||
| 22 | endif() | ||
| 23 | |||
| 24 | find_package(CXX11 REQUIRED) | ||
| 25 | |||
| 26 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX}) | ||
| 27 | |||
| 28 | list(APPEND DEPLIBS "-framework CoreFoundation" "-framework CoreVideo" | ||
| 29 | "-framework CoreAudio" "-framework AudioToolbox" | ||
| 30 | "-framework QuartzCore" "-framework MediaPlayer" | ||
| 31 | "-framework CFNetwork" "-framework CoreGraphics" | ||
| 32 | "-framework Foundation" "-framework UIKit" | ||
| 33 | "-framework CoreMedia" "-framework AVFoundation" | ||
| 34 | "-framework VideoToolbox") | ||
| 35 | |||
| 36 | set(ENABLE_DVDCSS OFF CACHE BOOL "" FORCE) | ||
| 37 | set(ENABLE_OPTICAL OFF CACHE BOOL "" FORCE) | ||
| 38 | |||
| 39 | set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "5.1") | ||
| 40 | set(CMAKE_XCODE_ATTRIBUTE_TARGETED_DEVICE_FAMILY "1,2") | ||
| 41 | |||
| 42 | set(CMAKE_XCODE_ATTRIBUTE_INLINES_ARE_PRIVATE_EXTERN OFF) | ||
| 43 | set(CMAKE_XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN OFF) | ||
| 44 | set(CMAKE_XCODE_ATTRIBUTE_COPY_PHASE_STRIP OFF) | ||
| 45 | |||
| 46 | # Xcode strips dead code by default which breaks wrapping | ||
| 47 | set(CMAKE_XCODE_ATTRIBUTE_DEAD_CODE_STRIPPING OFF) | ||
| 48 | |||
| 49 | # Unify output directories for iOS packaging scripts | ||
| 50 | if(NOT CMAKE_GENERATOR MATCHES Xcode) | ||
| 51 | set(CORE_BUILD_CONFIG "${CORE_BUILD_CONFIG}-iphoneos") | ||
| 52 | endif() | ||
| 53 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) | ||
| 54 | foreach(OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES}) | ||
| 55 | string(TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG) | ||
| 56 | set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CORE_BUILD_DIR}/${CORE_BUILD_CONFIG}) | ||
| 57 | endforeach() | ||
diff --git a/project/cmake/scripts/ios/Install.cmake b/project/cmake/scripts/ios/Install.cmake deleted file mode 100644 index c49fcd5..0000000 --- a/project/cmake/scripts/ios/Install.cmake +++ /dev/null | |||
| @@ -1,85 +0,0 @@ | |||
| 1 | # IOS packaging | ||
| 2 | |||
| 3 | set(BUNDLE_RESOURCES ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-568h@2x.png | ||
| 4 | ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-667h@2x.png | ||
| 5 | ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-736h@3x.png | ||
| 6 | ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/Default-Landscape-736h@3x.png | ||
| 7 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29.png | ||
| 8 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon29x29@2x.png | ||
| 9 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40.png | ||
| 10 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon40x40@2x.png | ||
| 11 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon50x50.png | ||
| 12 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon50x50@2x.png | ||
| 13 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon57x57.png | ||
| 14 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon57x57@2x.png | ||
| 15 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon60x60.png | ||
| 16 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon60x60@2x.png | ||
| 17 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon72x72.png | ||
| 18 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon72x72@2x.png | ||
| 19 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76.png | ||
| 20 | ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/ios/rounded/AppIcon76x76@2x.png) | ||
| 21 | |||
| 22 | if(CMAKE_GENERATOR STREQUAL Xcode) | ||
| 23 | set(RESOURCE_LOCATION ${APP_NAME}.app) | ||
| 24 | else() | ||
| 25 | set(RESOURCE_LOCATION ".") | ||
| 26 | endif() | ||
| 27 | |||
| 28 | target_sources(${APP_NAME_LC} PRIVATE ${BUNDLE_RESOURCES}) | ||
| 29 | foreach(file IN LISTS BUNDLE_RESOURCES) | ||
| 30 | set_source_files_properties(${file} PROPERTIES MACOSX_PACKAGE_LOCATION ${RESOURCE_LOCATION}) | ||
| 31 | endforeach() | ||
| 32 | |||
| 33 | target_sources(${APP_NAME_LC} PRIVATE ${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings) | ||
| 34 | set_source_files_properties(${CORE_SOURCE_DIR}/xbmc/platform/darwin/ios/English.lproj/InfoPlist.strings PROPERTIES MACOSX_PACKAGE_LOCATION "${RESOURCE_LOCATION}/English.lproj") | ||
| 35 | |||
| 36 | # Options for code signing propagated as env vars to Codesign.command via Xcode | ||
| 37 | set(IOS_CODE_SIGN_IDENTITY "" CACHE STRING "Code Sign Identity") | ||
| 38 | if(IOS_CODE_SIGN_IDENTITY) | ||
| 39 | set_target_properties(${APP_NAME_LC} PROPERTIES XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED TRUE | ||
| 40 | XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY ${IOS_CODE_SIGN_IDENTITY}) | ||
| 41 | endif() | ||
| 42 | |||
| 43 | add_custom_command(TARGET ${APP_NAME_LC} POST_BUILD | ||
| 44 | # TODO: Remove in sync with CopyRootFiles-ios expecting the ".bin" file | ||
| 45 | COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${APP_NAME_LC}> | ||
| 46 | $<TARGET_FILE_DIR:${APP_NAME_LC}>/${APP_NAME}.bin | ||
| 47 | |||
| 48 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/DllPaths_generated.h | ||
| 49 | ${CMAKE_BINARY_DIR}/xbmc/DllPaths_generated.h | ||
| 50 | COMMAND "ACTION=build" | ||
| 51 | "TARGET_BUILD_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." | ||
| 52 | "TARGET_NAME=${APP_NAME}.app" | ||
| 53 | "APP_NAME=${APP_NAME}" | ||
| 54 | "PRODUCT_NAME=${APP_NAME}" | ||
| 55 | "WRAPPER_EXTENSION=app" | ||
| 56 | "SRCROOT=${CMAKE_BINARY_DIR}" | ||
| 57 | ${CORE_SOURCE_DIR}/tools/darwin/Support/CopyRootFiles-ios.command | ||
| 58 | COMMAND "XBMC_DEPENDS=${DEPENDS_PATH}" | ||
| 59 | "TARGET_BUILD_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." | ||
| 60 | "TARGET_NAME=${APP_NAME}.app" | ||
| 61 | "APP_NAME=${APP_NAME}" | ||
| 62 | "PRODUCT_NAME=${APP_NAME}" | ||
| 63 | "FULL_PRODUCT_NAME=${APP_NAME}.app" | ||
| 64 | "WRAPPER_EXTENSION=app" | ||
| 65 | "SRCROOT=${CMAKE_BINARY_DIR}" | ||
| 66 | ${CORE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-ios.command | ||
| 67 | COMMAND "XBMC_DEPENDS_ROOT=${NATIVEPREFIX}/.." | ||
| 68 | "PLATFORM_NAME=${PLATFORM}" | ||
| 69 | "CODESIGNING_FOLDER_PATH=$<TARGET_FILE_DIR:${APP_NAME_LC}>" | ||
| 70 | "BUILT_PRODUCTS_DIR=$<TARGET_FILE_DIR:${APP_NAME_LC}>/.." | ||
| 71 | "WRAPPER_NAME=${APP_NAME}.app" | ||
| 72 | "APP_NAME=${APP_NAME}" | ||
| 73 | ${CORE_SOURCE_DIR}/tools/darwin/Support/Codesign.command | ||
| 74 | ) | ||
| 75 | |||
| 76 | set(DEPENDS_ROOT_FOR_XCODE ${NATIVEPREFIX}/..) | ||
| 77 | configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/ios/mkdeb-ios.sh.in | ||
| 78 | ${CMAKE_BINARY_DIR}/tools/darwin/packaging/ios/mkdeb-ios.sh @ONLY) | ||
| 79 | configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/migrate_to_kodi_ios.sh.in | ||
| 80 | ${CMAKE_BINARY_DIR}/tools/darwin/packaging/migrate_to_kodi_ios.sh @ONLY) | ||
| 81 | |||
| 82 | add_custom_target(deb | ||
| 83 | COMMAND sh ./mkdeb-ios.sh ${CORE_BUILD_CONFIG} | ||
| 84 | WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tools/darwin/packaging/ios) | ||
| 85 | add_dependencies(deb ${APP_NAME_LC}) | ||
diff --git a/project/cmake/scripts/ios/Macros.cmake b/project/cmake/scripts/ios/Macros.cmake deleted file mode 120000 index 54c1b28..0000000 --- a/project/cmake/scripts/ios/Macros.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../osx/Macros.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/ios/PathSetup.cmake b/project/cmake/scripts/ios/PathSetup.cmake deleted file mode 120000 index d7f25b2..0000000 --- a/project/cmake/scripts/ios/PathSetup.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../osx/PathSetup.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/linux/ArchSetup.cmake b/project/cmake/scripts/linux/ArchSetup.cmake deleted file mode 100644 index bcd70df..0000000 --- a/project/cmake/scripts/linux/ArchSetup.cmake +++ /dev/null | |||
| @@ -1,45 +0,0 @@ | |||
| 1 | set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_LINUX) | ||
| 2 | set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED | ||
| 3 | -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) | ||
| 4 | set(PLATFORM_DIR linux) | ||
| 5 | set(CMAKE_SYSTEM_NAME Linux) | ||
| 6 | if(WITH_ARCH) | ||
| 7 | set(ARCH ${WITH_ARCH}) | ||
| 8 | else() | ||
| 9 | if(CPU STREQUAL x86_64) | ||
| 10 | set(ARCH x86_64-linux) | ||
| 11 | set(NEON False) | ||
| 12 | elseif(CPU MATCHES "i.86") | ||
| 13 | set(ARCH i486-linux) | ||
| 14 | set(NEON False) | ||
| 15 | add_options(CXX ALL_BUILDS "-msse") | ||
| 16 | elseif(CPU MATCHES arm) | ||
| 17 | set(ARCH arm) | ||
| 18 | set(NEON True) | ||
| 19 | elseif(CPU MATCHES aarch64 OR CPU MATCHES arm64) | ||
| 20 | set(ARCH aarch64) | ||
| 21 | set(NEON False) | ||
| 22 | else() | ||
| 23 | message(SEND_ERROR "Unknown CPU: ${CPU}") | ||
| 24 | endif() | ||
| 25 | endif() | ||
| 26 | |||
| 27 | # Make sure we strip binaries in Release build | ||
| 28 | if(CMAKE_BUILD_TYPE STREQUAL Release AND CMAKE_COMPILER_IS_GNUCXX) | ||
| 29 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -s") | ||
| 30 | endif() | ||
| 31 | |||
| 32 | find_package(CXX11 REQUIRED) | ||
| 33 | include(LDGOLD) | ||
| 34 | |||
| 35 | # Code Coverage | ||
| 36 | if(CMAKE_BUILD_TYPE STREQUAL Coverage) | ||
| 37 | set(COVERAGE_TEST_BINARY ${APP_NAME_LC}-test) | ||
| 38 | set(COVERAGE_SOURCE_DIR ${CORE_SOURCE_DIR}) | ||
| 39 | set(COVERAGE_DEPENDS "\${APP_NAME_LC}" "\${APP_NAME_LC}-test") | ||
| 40 | set(COVERAGE_EXCLUDES */test/* lib/* */lib/*) | ||
| 41 | endif() | ||
| 42 | |||
| 43 | if(ENABLE_MIR) | ||
| 44 | set(ENABLE_VDPAU OFF CACHE BOOL "Disabling VDPAU since no Mir support" FORCE) | ||
| 45 | endif() | ||
diff --git a/project/cmake/scripts/linux/CodeCoverage.cmake b/project/cmake/scripts/linux/CodeCoverage.cmake deleted file mode 100644 index efc2208..0000000 --- a/project/cmake/scripts/linux/CodeCoverage.cmake +++ /dev/null | |||
| @@ -1,97 +0,0 @@ | |||
| 1 | # - CodeCoverage | ||
| 2 | # Generate code coverage reports with LCOV and GCovr. | ||
| 3 | # | ||
| 4 | # Configuration: | ||
| 5 | # COVERAGE_SOURCE_DIR - Source root directory (default ${CMAKE_SOURCE_DIR}). | ||
| 6 | # COVERAGE_BINARY_DIR - Directory where the coverage reports (and intermediate files) | ||
| 7 | # are generated to. | ||
| 8 | # COVERAGE_EXCLUDES - List of exclude patterns (for example '*/tests/*'). | ||
| 9 | # | ||
| 10 | # The following targets will be generated: | ||
| 11 | # coverage - Builds an html report. Requires LCOV. | ||
| 12 | # coverage_xml - Builds an xml report (in Cobertura format for Jenkins). | ||
| 13 | # Requires Gcovr. | ||
| 14 | # | ||
| 15 | # Inspired by https://github.com/bilke/cmake-modules/blob/master/CodeCoverage.cmake | ||
| 16 | |||
| 17 | # Comiler and linker setup | ||
| 18 | set(CMAKE_C_FLAGS_COVERAGE "-g -O0 --coverage" CACHE STRING | ||
| 19 | "Flags used by the C compiler during coverage builds." FORCE) | ||
| 20 | set(CMAKE_CXX_FLAGS_COVERAGE "-g -O0 --coverage" CACHE STRING | ||
| 21 | "Flags used by the C++ compiler during coverage builds." FORCE) | ||
| 22 | set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "--coverage" CACHE STRING | ||
| 23 | "Flags used for linking binaries during coverage builds." FORCE) | ||
| 24 | set(CMAKE_SHARED_LINKER_FLAGS_COVERAGE "--coverage" CACHE STRING | ||
| 25 | "Flags used by the shared libraries linker during coverage builds." FORCE) | ||
| 26 | mark_as_advanced( | ||
| 27 | CMAKE_C_FLAGS_COVERAGE CMAKE_CXX_FLAGS_COVERAGE CMAKE_EXE_LINKER_FLAGS_COVERAGE | ||
| 28 | CMAKE_SHARED_LINKER_FLAGS_COVERAGE CMAKE_STATIC_LINKER_FLAGS_COVERAGE | ||
| 29 | ) | ||
| 30 | |||
| 31 | find_program(LCOV_EXECUTABLE lcov) | ||
| 32 | find_program(GENINFO_EXECUTABLE geninfo) | ||
| 33 | find_program(GENHTML_EXECUTABLE genhtml) | ||
| 34 | find_program(GCOVR_EXECUTABLE gcovr) | ||
| 35 | mark_as_advanced(LCOV_EXECUTABLE GENINFO_EXECUTABLE GENHTML_EXECUTABLE GCOVR_EXECUTABLE) | ||
| 36 | |||
| 37 | # Default options | ||
| 38 | if(NOT COVERAGE_SOURCE_DIR) | ||
| 39 | set(COVERAGE_SOURCE_DIR ${CMAKE_SOURCE_DIR}) | ||
| 40 | endif() | ||
| 41 | if(NOT COVERAGE_BINARY_DIR) | ||
| 42 | set(COVERAGE_BINARY_DIR ${CMAKE_BINARY_DIR}/coverage) | ||
| 43 | endif() | ||
| 44 | if(NOT COVERAGE_EXCLUDES) | ||
| 45 | set(COVERAGE_EXCLUDES) | ||
| 46 | endif() | ||
| 47 | |||
| 48 | # Allow variables in COVERAGE_DEPENDS that are not evaluated before this file is included. | ||
| 49 | string(CONFIGURE "${COVERAGE_DEPENDS}" COVERAGE_DEPENDS) | ||
| 50 | |||
| 51 | # Add coverage target that generates an HTML report using LCOV | ||
| 52 | if(LCOV_EXECUTABLE AND GENINFO_EXECUTABLE AND GENHTML_EXECUTABLE) | ||
| 53 | file(MAKE_DIRECTORY ${COVERAGE_BINARY_DIR}) | ||
| 54 | add_custom_target(coverage | ||
| 55 | COMMAND ${CMAKE_COMMAND} -E make_directory ${COVERAGE_BINARY_DIR} | ||
| 56 | COMMAND ${LCOV_EXECUTABLE} -z -q -d ${CMAKE_BINARY_DIR} | ||
| 57 | COMMAND ${LCOV_EXECUTABLE} -c -q -i -d ${CMAKE_BINARY_DIR} -b ${COVERAGE_SOURCE_DIR} | ||
| 58 | -o ${COVERAGE_BINARY_DIR}/${PROJECT_NAME}.coverage_base.info | ||
| 59 | COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target test || true | ||
| 60 | COMMAND ${LCOV_EXECUTABLE} -c -q -d ${CMAKE_BINARY_DIR} -b ${COVERAGE_SOURCE_DIR} | ||
| 61 | -o ${COVERAGE_BINARY_DIR}/${PROJECT_NAME}.coverage_test.info | ||
| 62 | COMMAND ${LCOV_EXECUTABLE} -a ${COVERAGE_BINARY_DIR}/${PROJECT_NAME}.coverage_base.info | ||
| 63 | -a ${COVERAGE_BINARY_DIR}/${PROJECT_NAME}.coverage_test.info | ||
| 64 | -o ${COVERAGE_BINARY_DIR}/${PROJECT_NAME}.coverage.info -q | ||
| 65 | COMMAND ${LCOV_EXECUTABLE} -q -r ${COVERAGE_BINARY_DIR}/${PROJECT_NAME}.coverage.info | ||
| 66 | /usr/include/* ${CMAKE_BINARY_DIR}/* ${COVERAGE_EXCLUDES} | ||
| 67 | -o ${COVERAGE_BINARY_DIR}/${PROJECT_NAME}.coverage.info | ||
| 68 | COMMAND ${GENHTML_EXECUTABLE} ${COVERAGE_BINARY_DIR}/${PROJECT_NAME}.coverage.info | ||
| 69 | -o ${COVERAGE_BINARY_DIR}/html -s --legend --highlight --demangle-cpp | ||
| 70 | COMMAND ${CMAKE_COMMAND} -E echo "Coverage report: file://${COVERAGE_BINARY_DIR}/html/index.html" | ||
| 71 | WORKING_DIRECTORY ${COVERAGE_BINARY_DIR} | ||
| 72 | VERBATIM | ||
| 73 | DEPENDS ${COVERAGE_DEPENDS} | ||
| 74 | COMMENT "Generate code coverage html report" | ||
| 75 | ) | ||
| 76 | else() | ||
| 77 | message(WARNING "Target coverage not available (lcov, geninfo and genhtml needed).") | ||
| 78 | endif() | ||
| 79 | |||
| 80 | # Add coverage target that generates an XML report using Gcovr | ||
| 81 | if(GCOVR_EXECUTABLE) | ||
| 82 | file(MAKE_DIRECTORY ${COVERAGE_BINARY_DIR}) | ||
| 83 | string(REGEX REPLACE "([^;]+)" "--exclude=\"\\1\"" _gcovr_excludes "${COVERAGE_EXCLUDES}") | ||
| 84 | string(REPLACE "*" ".*" _gcovr_excludes "${_gcovr_excludes}") | ||
| 85 | add_custom_target(coverage_xml | ||
| 86 | COMMAND ${CMAKE_COMMAND} --build ${CMAKE_BINARY_DIR} --target test || true | ||
| 87 | COMMAND ${GCOVR_EXECUTABLE} -x -r ${COVERAGE_SOURCE_DIR} -o ${COVERAGE_BINARY_DIR}/coverage.xml | ||
| 88 | --object-directory ${CMAKE_BINARY_DIR} ${_gcovr_excludes} ${CMAKE_BINARY_DIR} | ||
| 89 | COMMAND ${CMAKE_COMMAND} -E echo "Coverage report: file://${COVERAGE_BINARY_DIR}/coverage.xml" | ||
| 90 | WORKING_DIRECTORY ${COVERAGE_BINARY_DIR} | ||
| 91 | DEPENDS ${COVERAGE_DEPENDS} | ||
| 92 | COMMENT "Generate code coverage xml report" | ||
| 93 | ) | ||
| 94 | unset(_gcovr_excludes) | ||
| 95 | else() | ||
| 96 | message(WARNING "Target coverage_xml not available (gcovr needed).") | ||
| 97 | endif() | ||
diff --git a/project/cmake/scripts/linux/ExtraTargets.cmake b/project/cmake/scripts/linux/ExtraTargets.cmake deleted file mode 100644 index 2bb5f6f..0000000 --- a/project/cmake/scripts/linux/ExtraTargets.cmake +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | # xrandr | ||
| 2 | if(ENABLE_X11 AND X_FOUND AND XRANDR_FOUND) | ||
| 3 | find_package(X QUIET) | ||
| 4 | find_package(XRandR QUIET) | ||
| 5 | add_executable(${APP_NAME_LC}-xrandr ${CORE_SOURCE_DIR}/xbmc-xrandr.c) | ||
| 6 | target_link_libraries(${APP_NAME_LC}-xrandr ${SYSTEM_LDFLAGS} ${X_LIBRARIES} m ${XRANDR_LIBRARIES}) | ||
| 7 | endif() | ||
| 8 | |||
| 9 | # WiiRemote | ||
| 10 | if(ENABLE_EVENTCLIENTS) | ||
| 11 | add_subdirectory(${CORE_SOURCE_DIR}/tools/EventClients/Clients/WiiRemote build/WiiRemote) | ||
| 12 | endif() | ||
diff --git a/project/cmake/scripts/linux/Install.cmake b/project/cmake/scripts/linux/Install.cmake deleted file mode 100644 index 43e2e5e..0000000 --- a/project/cmake/scripts/linux/Install.cmake +++ /dev/null | |||
| @@ -1,367 +0,0 @@ | |||
| 1 | if(X_FOUND) | ||
| 2 | set(USE_X11 1) | ||
| 3 | else() | ||
| 4 | set(USE_X11 0) | ||
| 5 | endif() | ||
| 6 | if(OPENGL_FOUND) | ||
| 7 | set(USE_OPENGL 1) | ||
| 8 | else() | ||
| 9 | set(USE_OPENGL 0) | ||
| 10 | endif() | ||
| 11 | if(OPENGLES_FOUND) | ||
| 12 | set(USE_OPENGLES 1) | ||
| 13 | else() | ||
| 14 | set(USE_OPENGLES 0) | ||
| 15 | endif() | ||
| 16 | |||
| 17 | # CMake config | ||
| 18 | set(APP_PREFIX ${prefix}) | ||
| 19 | set(APP_LIB_DIR ${libdir}/${APP_NAME_LC}) | ||
| 20 | set(APP_DATA_DIR ${datarootdir}/${APP_NAME_LC}) | ||
| 21 | set(APP_INCLUDE_DIR ${includedir}/${APP_NAME_LC}) | ||
| 22 | set(CXX11_SWITCH "-std=c++11") | ||
| 23 | |||
| 24 | # Set XBMC_STANDALONE_SH_PULSE so we can insert PulseAudio block into kodi-standalone | ||
| 25 | if(EXISTS ${CORE_SOURCE_DIR}/tools/Linux/kodi-standalone.sh.pulse) | ||
| 26 | if(ENABLE_PULSEAUDIO AND PULSEAUDIO_FOUND) | ||
| 27 | file(READ "${CORE_SOURCE_DIR}/tools/Linux/kodi-standalone.sh.pulse" pulse_content) | ||
| 28 | set(XBMC_STANDALONE_SH_PULSE ${pulse_content}) | ||
| 29 | endif() | ||
| 30 | endif() | ||
| 31 | |||
| 32 | # Configure startup scripts | ||
| 33 | configure_file(${CORE_SOURCE_DIR}/tools/Linux/kodi.sh.in | ||
| 34 | ${CORE_BUILD_DIR}/scripts/${APP_NAME_LC} @ONLY) | ||
| 35 | configure_file(${CORE_SOURCE_DIR}/tools/Linux/kodi-standalone.sh.in | ||
| 36 | ${CORE_BUILD_DIR}/scripts/${APP_NAME_LC}-standalone @ONLY) | ||
| 37 | |||
| 38 | # Configure cmake files | ||
| 39 | configure_file(${PROJECT_SOURCE_DIR}/KodiConfig.cmake.in | ||
| 40 | ${CORE_BUILD_DIR}/scripts/${APP_NAME}Config.cmake @ONLY) | ||
| 41 | |||
| 42 | # Configure xsession entry | ||
| 43 | configure_file(${CORE_SOURCE_DIR}/tools/Linux/kodi-xsession.desktop.in | ||
| 44 | ${CORE_BUILD_DIR}/${APP_NAME_LC}.desktop @ONLY) | ||
| 45 | |||
| 46 | # Install app | ||
| 47 | install(TARGETS ${APP_NAME_LC} | ||
| 48 | DESTINATION ${libdir}/${APP_NAME_LC} | ||
| 49 | COMPONENT kodi-bin) | ||
| 50 | if(ENABLE_X11 AND XRANDR_FOUND) | ||
| 51 | install(TARGETS ${APP_NAME_LC}-xrandr | ||
| 52 | DESTINATION ${libdir}/${APP_NAME_LC} | ||
| 53 | COMPONENT kodi-bin) | ||
| 54 | endif() | ||
| 55 | |||
| 56 | # Install scripts | ||
| 57 | install(PROGRAMS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/scripts/${APP_NAME_LC} | ||
| 58 | ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/scripts/${APP_NAME_LC}-standalone | ||
| 59 | DESTINATION ${bindir} | ||
| 60 | COMPONENT kodi-bin) | ||
| 61 | |||
| 62 | # Install libraries | ||
| 63 | foreach(library ${LIBRARY_FILES}) | ||
| 64 | get_filename_component(dir ${library} DIRECTORY) | ||
| 65 | string(REPLACE "${CMAKE_BINARY_DIR}/" "" dir ${dir}) | ||
| 66 | install(PROGRAMS ${library} | ||
| 67 | DESTINATION ${libdir}/${APP_NAME_LC}/${dir} | ||
| 68 | COMPONENT kodi-bin) | ||
| 69 | endforeach() | ||
| 70 | |||
| 71 | # Install add-ons, fonts, icons, keyboard maps, keymaps, etc | ||
| 72 | # (addons, media, system, userdata folders in share/kodi/) | ||
| 73 | foreach(file ${install_data}) | ||
| 74 | get_filename_component(dir ${file} DIRECTORY) | ||
| 75 | install(FILES ${CMAKE_BINARY_DIR}/${file} | ||
| 76 | DESTINATION ${datarootdir}/${APP_NAME_LC}/${dir} | ||
| 77 | COMPONENT kodi) | ||
| 78 | endforeach() | ||
| 79 | |||
| 80 | # Install xsession entry | ||
| 81 | install(FILES ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${APP_NAME_LC}.desktop | ||
| 82 | DESTINATION ${datarootdir}/xsessions | ||
| 83 | COMPONENT kodi) | ||
| 84 | |||
| 85 | # Install desktop entry | ||
| 86 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/kodi.desktop | ||
| 87 | DESTINATION ${datarootdir}/applications | ||
| 88 | COMPONENT kodi) | ||
| 89 | |||
| 90 | # Install icons | ||
| 91 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon16x16.png | ||
| 92 | RENAME ${APP_NAME_LC}.png | ||
| 93 | DESTINATION ${datarootdir}/icons/hicolor/16x16/apps | ||
| 94 | COMPONENT kodi) | ||
| 95 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon22x22.png | ||
| 96 | RENAME ${APP_NAME_LC}.png | ||
| 97 | DESTINATION ${datarootdir}/icons/hicolor/22x22/apps | ||
| 98 | COMPONENT kodi) | ||
| 99 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon24x24.png | ||
| 100 | RENAME ${APP_NAME_LC}.png | ||
| 101 | DESTINATION ${datarootdir}/icons/hicolor/24x24/apps | ||
| 102 | COMPONENT kodi) | ||
| 103 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon32x32.png | ||
| 104 | RENAME ${APP_NAME_LC}.png | ||
| 105 | DESTINATION ${datarootdir}/icons/hicolor/32x32/apps | ||
| 106 | COMPONENT kodi) | ||
| 107 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon48x48.png | ||
| 108 | RENAME ${APP_NAME_LC}.png | ||
| 109 | DESTINATION ${datarootdir}/icons/hicolor/48x48/apps | ||
| 110 | COMPONENT kodi) | ||
| 111 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon64x64.png | ||
| 112 | RENAME ${APP_NAME_LC}.png | ||
| 113 | DESTINATION ${datarootdir}/icons/hicolor/64x64/apps | ||
| 114 | COMPONENT kodi) | ||
| 115 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon128x128.png | ||
| 116 | RENAME ${APP_NAME_LC}.png | ||
| 117 | DESTINATION ${datarootdir}/icons/hicolor/128x128/apps | ||
| 118 | COMPONENT kodi) | ||
| 119 | install(FILES ${CORE_SOURCE_DIR}/tools/Linux/packaging/media/icon256x256.png | ||
| 120 | RENAME ${APP_NAME_LC}.png | ||
| 121 | DESTINATION ${datarootdir}/icons/hicolor/256x256/apps | ||
| 122 | COMPONENT kodi) | ||
| 123 | install(CODE "execute_process(COMMAND gtk-update-icon-cache -f -q -t | ||
| 124 | $ENV{DESTDIR}${datarootdir}/icons/hicolor ERROR_QUIET)" | ||
| 125 | COMPONENT kodi) | ||
| 126 | |||
| 127 | # Install docs | ||
| 128 | install(FILES ${CORE_SOURCE_DIR}/copying.txt | ||
| 129 | ${CORE_SOURCE_DIR}/LICENSE.GPL | ||
| 130 | ${CORE_SOURCE_DIR}/version.txt | ||
| 131 | ${CORE_SOURCE_DIR}/docs/README.linux | ||
| 132 | DESTINATION ${datarootdir}/doc/${APP_NAME_LC} | ||
| 133 | COMPONENT kodi) | ||
| 134 | |||
| 135 | install(FILES ${CORE_SOURCE_DIR}/privacy-policy.txt | ||
| 136 | DESTINATION ${datarootdir}/${APP_NAME_LC} | ||
| 137 | COMPONENT kodi) | ||
| 138 | |||
| 139 | # Install kodi-tools-texturepacker | ||
| 140 | if(NOT WITH_TEXTUREPACKER) | ||
| 141 | install(PROGRAMS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/texturepacker/TexturePacker | ||
| 142 | DESTINATION ${bindir} | ||
| 143 | COMPONENT kodi-tools-texturepacker) | ||
| 144 | endif() | ||
| 145 | |||
| 146 | # Install kodi-addon-dev headers | ||
| 147 | install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_types.h | ||
| 148 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_vfs_utils.hpp | ||
| 149 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_adsp.h | ||
| 150 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_audioengine.h | ||
| 151 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_guilib.h | ||
| 152 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_inputstream.h | ||
| 153 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_peripheral.h | ||
| 154 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_addon.h | ||
| 155 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_codec.h | ||
| 156 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libXBMC_pvr.h | ||
| 157 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/libKODI_game.h | ||
| 158 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_cpp_dll.h | ||
| 159 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_dll.h | ||
| 160 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_addon_types.h | ||
| 161 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_codec_types.h | ||
| 162 | ${CORE_SOURCE_DIR}/xbmc/cores/VideoPlayer/DVDDemuxers/DVDDemuxPacket.h | ||
| 163 | ${CORE_SOURCE_DIR}/xbmc/filesystem/IFileTypes.h | ||
| 164 | ${CORE_SOURCE_DIR}/xbmc/input/XBMC_vkeys.h | ||
| 165 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 166 | COMPONENT kodi-addon-dev) | ||
| 167 | |||
| 168 | # Install kodi-addon-dev add-on bindings | ||
| 169 | install(FILES ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/scripts/${APP_NAME}Config.cmake | ||
| 170 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/AddonHelpers.cmake | ||
| 171 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/AddOptions.cmake | ||
| 172 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/ArchSetup.cmake | ||
| 173 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/CheckCommits.cmake | ||
| 174 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/CheckTargetPlatform.cmake | ||
| 175 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/GenerateVersionedFiles.cmake | ||
| 176 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/GeneratorSetup.cmake | ||
| 177 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/HandleDepends.cmake | ||
| 178 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/Macros.cmake | ||
| 179 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/PrepareEnv.cmake | ||
| 180 | ${CORE_SOURCE_DIR}/project/cmake/scripts/common/ProjectMacros.cmake | ||
| 181 | ${CORE_SOURCE_DIR}/project/cmake/scripts/linux/PathSetup.cmake | ||
| 182 | DESTINATION ${datarootdir}/${APP_NAME_LC}/cmake | ||
| 183 | COMPONENT kodi-addon-dev) | ||
| 184 | |||
| 185 | # Install kodi-audio-dev | ||
| 186 | install(FILES ${CORE_SOURCE_DIR}/xbmc/cores/AudioEngine/Utils/AEChannelData.h | ||
| 187 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_adsp_dll.h | ||
| 188 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_adsp_types.h | ||
| 189 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_audiodec_dll.h | ||
| 190 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_audiodec_types.h | ||
| 191 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_audioenc_dll.h | ||
| 192 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_audioenc_types.h | ||
| 193 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_audioengine_types.h | ||
| 194 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 195 | COMPONENT kodi-audio-dev) | ||
| 196 | |||
| 197 | if(ENABLE_EVENTCLIENTS) | ||
| 198 | # Install kodi-eventclients-common BT python files | ||
| 199 | install(PROGRAMS ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/__init__.py | ||
| 200 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/bt.py | ||
| 201 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/bt/hid.py | ||
| 202 | DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC}/bt | ||
| 203 | COMPONENT kodi-eventclients-common) | ||
| 204 | |||
| 205 | # Install kodi-eventclients-common PS3 python files | ||
| 206 | install(PROGRAMS ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/__init__.py | ||
| 207 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/keymaps.py | ||
| 208 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixaxis.py | ||
| 209 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixpair.py | ||
| 210 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/ps3/sixwatch.py | ||
| 211 | DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC}/ps3 | ||
| 212 | COMPONENT kodi-eventclients-common) | ||
| 213 | |||
| 214 | # Install kodi-eventclients-common python files | ||
| 215 | file(WRITE ${CMAKE_BINARY_DIR}/packages/deb/defs.py ICON_PATH="usr/share/pixmaps/${APP_NAME_LC}/") | ||
| 216 | install(PROGRAMS ${CMAKE_BINARY_DIR}/packages/deb/defs.py | ||
| 217 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/__init__.py | ||
| 218 | "${CORE_SOURCE_DIR}/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py" | ||
| 219 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/xbmcclient.py | ||
| 220 | ${CORE_SOURCE_DIR}/tools/EventClients/lib/python/zeroconf.py | ||
| 221 | DESTINATION lib/python2.7/dist-packages/${APP_NAME_LC} | ||
| 222 | COMPONENT kodi-eventclients-common) | ||
| 223 | |||
| 224 | # Install kodi-eventclients-common icons | ||
| 225 | install(FILES ${CORE_SOURCE_DIR}/tools/EventClients/icons/bluetooth.png | ||
| 226 | ${CORE_SOURCE_DIR}/tools/EventClients/icons/phone.png | ||
| 227 | ${CORE_SOURCE_DIR}/tools/EventClients/icons/mail.png | ||
| 228 | ${CORE_SOURCE_DIR}/tools/EventClients/icons/mouse.png | ||
| 229 | DESTINATION ${datarootdir}/pixmaps/${APP_NAME_LC} | ||
| 230 | COMPONENT kodi-eventclients-common) | ||
| 231 | |||
| 232 | # Install kodi-eventclients-dev headers | ||
| 233 | install(FILES ${CORE_SOURCE_DIR}/tools/EventClients/lib/c++/xbmcclient.h | ||
| 234 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 235 | COMPONENT kodi-eventclients-dev) | ||
| 236 | |||
| 237 | # Install kodi-eventclients-dev C# examples | ||
| 238 | install(FILES "${CORE_SOURCE_DIR}/tools/EventClients/examples/c#/XBMCDemoClient1.cs" | ||
| 239 | DESTINATION "${docdir}/${APP_NAME_LC}-eventclients-dev/examples/C#" | ||
| 240 | COMPONENT kodi-eventclients-dev) | ||
| 241 | |||
| 242 | # Install kodi-eventclients-dev C++ examples | ||
| 243 | install(FILES ${CORE_SOURCE_DIR}/tools/EventClients/examples/c++/example_notification.cpp | ||
| 244 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/c++/example_log.cpp | ||
| 245 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/c++/example_button1.cpp | ||
| 246 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/c++/example_mouse.cpp | ||
| 247 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/c++/example_button2.cpp | ||
| 248 | DESTINATION ${docdir}/${APP_NAME_LC}-eventclients-dev/examples/C++ | ||
| 249 | COMPONENT kodi-eventclients-dev) | ||
| 250 | |||
| 251 | # Install kodi-eventclients-dev java examples | ||
| 252 | install(FILES ${CORE_SOURCE_DIR}/tools/EventClients/examples/java/XBMCDemoClient1.java | ||
| 253 | DESTINATION ${docdir}/${APP_NAME_LC}-eventclients-dev/examples/java | ||
| 254 | COMPONENT kodi-eventclients-dev) | ||
| 255 | |||
| 256 | # Install kodi-eventclients-dev python examples | ||
| 257 | install(PROGRAMS ${CORE_SOURCE_DIR}/tools/EventClients/examples/python/example_mouse.py | ||
| 258 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/python/example_button1.py | ||
| 259 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/python/example_notification.py | ||
| 260 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/python/example_action.py | ||
| 261 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/python/example_button2.py | ||
| 262 | ${CORE_SOURCE_DIR}/tools/EventClients/examples/python/example_simple.py | ||
| 263 | DESTINATION ${docdir}/${APP_NAME_LC}-eventclients-dev/examples/python | ||
| 264 | COMPONENT kodi-eventclients-dev) | ||
| 265 | |||
| 266 | # Install kodi-eventclients-ps3 | ||
| 267 | install(PROGRAMS "${CORE_SOURCE_DIR}/tools/EventClients/Clients/PS3 BD Remote/ps3_remote.py" | ||
| 268 | RENAME ${APP_NAME_LC}-ps3remote | ||
| 269 | DESTINATION ${bindir} | ||
| 270 | COMPONENT kodi-eventclients-ps3) | ||
| 271 | |||
| 272 | # Install kodi-eventclients-wiiremote | ||
| 273 | install(PROGRAMS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/WiiRemote/${APP_NAME_LC}-wiiremote | ||
| 274 | DESTINATION ${bindir} | ||
| 275 | COMPONENT kodi-eventclients-wiiremote) | ||
| 276 | |||
| 277 | # Install kodi-eventclients-xbmc-send | ||
| 278 | install(PROGRAMS "${CORE_SOURCE_DIR}/tools/EventClients/Clients/Kodi Send/kodi-send.py" | ||
| 279 | RENAME ${APP_NAME_LC}-send | ||
| 280 | DESTINATION ${bindir} | ||
| 281 | COMPONENT kodi-eventclients-xbmc-send) | ||
| 282 | endif() | ||
| 283 | |||
| 284 | # Install kodi-inputstream-dev | ||
| 285 | install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_inputstream_dll.h | ||
| 286 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_inputstream_types.h | ||
| 287 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 288 | COMPONENT kodi-inputstream-dev) | ||
| 289 | |||
| 290 | # Install kodi-pvr-dev | ||
| 291 | install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_epg_types.h | ||
| 292 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_dll.h | ||
| 293 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_pvr_types.h | ||
| 294 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 295 | COMPONENT kodi-pvr-dev) | ||
| 296 | |||
| 297 | # Install kodi-screensaver-dev | ||
| 298 | install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_scr_dll.h | ||
| 299 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_scr_types.h | ||
| 300 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 301 | COMPONENT kodi-screensaver-dev) | ||
| 302 | |||
| 303 | # Install kodi-visualization-dev | ||
| 304 | install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_vis_dll.h | ||
| 305 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/xbmc_vis_types.h | ||
| 306 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 307 | COMPONENT kodi-visualization-dev) | ||
| 308 | |||
| 309 | # Install kodi-peripheral-dev | ||
| 310 | install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_callbacks.h | ||
| 311 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_dll.h | ||
| 312 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_types.h | ||
| 313 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_peripheral_utils.hpp | ||
| 314 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 315 | COMPONENT kodi-peripheral-dev) | ||
| 316 | |||
| 317 | # Install kodi-game-dev | ||
| 318 | install(FILES ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_callbacks.h | ||
| 319 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_dll.h | ||
| 320 | ${CORE_SOURCE_DIR}/xbmc/addons/kodi-addon-dev-kit/include/kodi/kodi_game_types.h | ||
| 321 | DESTINATION ${includedir}/${APP_NAME_LC} | ||
| 322 | COMPONENT kodi-game-dev) | ||
| 323 | |||
| 324 | |||
| 325 | # Install XBT skin files | ||
| 326 | foreach(texture ${XBT_FILES}) | ||
| 327 | string(REPLACE "${CMAKE_BINARY_DIR}/" "" dir ${texture}) | ||
| 328 | get_filename_component(dir ${dir} DIRECTORY) | ||
| 329 | install(FILES ${texture} | ||
| 330 | DESTINATION ${datarootdir}/${APP_NAME_LC}/${dir} | ||
| 331 | COMPONENT kodi) | ||
| 332 | endforeach() | ||
| 333 | |||
| 334 | # Install extra stuff if it exists | ||
| 335 | if(EXISTS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/extra-installs) | ||
| 336 | install(CODE "file(STRINGS ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/extra-installs dirs) | ||
| 337 | foreach(dir \${dirs}) | ||
| 338 | file(GLOB_RECURSE FILES RELATIVE ${CMAKE_BINARY_DIR} \${dir}/*) | ||
| 339 | foreach(file \${FILES}) | ||
| 340 | get_filename_component(dir \${file} DIRECTORY) | ||
| 341 | file(INSTALL \${file} DESTINATION ${datarootdir}/${APP_NAME_LC}/\${dir}) | ||
| 342 | endforeach() | ||
| 343 | endforeach()") | ||
| 344 | endif() | ||
| 345 | |||
| 346 | if(NOT "$ENV{DESTDIR}" STREQUAL "") | ||
| 347 | set(DESTDIR ${CMAKE_BINARY_DIR}/$ENV{DESTDIR}) | ||
| 348 | endif() | ||
| 349 | foreach(subdir ${build_dirs}) | ||
| 350 | if(NOT subdir MATCHES kodi-platform) | ||
| 351 | string(REPLACE " " ";" subdir ${subdir}) | ||
| 352 | list(GET subdir 0 id) | ||
| 353 | install(CODE "execute_process(COMMAND ${CMAKE_MAKE_PROGRAM} -C ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${id}/src/${id}-build install DESTDIR=${DESTDIR})") | ||
| 354 | endif() | ||
| 355 | endforeach() | ||
| 356 | |||
| 357 | # generate packages? yes please, if everything checks out | ||
| 358 | if(CPACK_GENERATOR) | ||
| 359 | if(CPACK_GENERATOR STREQUAL DEB AND CORE_SYSTEM_NAME STREQUAL linux) | ||
| 360 | if(CMAKE_BUILD_TYPE STREQUAL Debug) | ||
| 361 | message(STATUS "DEB Generator: Build type is set to 'Debug'. Packaged binaries will be unstripped.") | ||
| 362 | endif() | ||
| 363 | include(${PROJECT_SOURCE_DIR}/cpack/CPackConfigDEB.cmake) | ||
| 364 | else() | ||
| 365 | message(FATAL_ERROR "DEB Generator: Can't configure CPack to generate Debian packages on non-linux systems.") | ||
| 366 | endif() | ||
| 367 | endif() | ||
diff --git a/project/cmake/scripts/linux/Macros.cmake b/project/cmake/scripts/linux/Macros.cmake deleted file mode 100644 index 72e9d5c..0000000 --- a/project/cmake/scripts/linux/Macros.cmake +++ /dev/null | |||
| @@ -1,95 +0,0 @@ | |||
| 1 | function(core_link_library lib wraplib) | ||
| 2 | set(export -Wl,--unresolved-symbols=ignore-all | ||
| 3 | `cat ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cores/dll-loader/exports/wrapper.def` | ||
| 4 | ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cores/dll-loader/exports/CMakeFiles/wrapper.dir/wrapper.c.o) | ||
| 5 | set(check_arg "") | ||
| 6 | if(TARGET ${lib}) | ||
| 7 | set(target ${lib}) | ||
| 8 | set(link_lib $<TARGET_FILE:${lib}>) | ||
| 9 | set(check_arg ${ARGV2}) | ||
| 10 | set(data_arg ${ARGV3}) | ||
| 11 | else() | ||
| 12 | set(target ${ARGV2}) | ||
| 13 | set(link_lib ${lib}) | ||
| 14 | set(check_arg ${ARGV3}) | ||
| 15 | set(data_arg ${ARGV4}) | ||
| 16 | endif() | ||
| 17 | |||
| 18 | # wrapper has to be adapted in order to support coverage. | ||
| 19 | if(CMAKE_BUILD_TYPE STREQUAL Coverage) | ||
| 20 | set(export "") | ||
| 21 | endif() | ||
| 22 | |||
| 23 | if(check_arg STREQUAL export) | ||
| 24 | set(export ${export} | ||
| 25 | -Wl,--version-script=${ARGV3}) | ||
| 26 | elseif(check_arg STREQUAL extras) | ||
| 27 | foreach(arg ${data_arg}) | ||
| 28 | list(APPEND export ${arg}) | ||
| 29 | endforeach() | ||
| 30 | elseif(check_arg STREQUAL archives) | ||
| 31 | set(extra_libs ${data_arg}) | ||
| 32 | endif() | ||
| 33 | |||
| 34 | string(REGEX REPLACE "[ ]+" ";" _flags ${CMAKE_SHARED_LINKER_FLAGS}) | ||
| 35 | get_filename_component(dir ${wraplib} DIRECTORY) | ||
| 36 | add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 37 | COMMAND ${CMAKE_COMMAND} -E make_directory ${dir} | ||
| 38 | COMMAND ${CMAKE_C_COMPILER} | ||
| 39 | ARGS ${_flags} -Wl,--whole-archive | ||
| 40 | "${link_lib}" ${extra_libs} | ||
| 41 | -Wl,--no-whole-archive -lm | ||
| 42 | -Wl,-soname,${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 43 | -shared -o ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} | ||
| 44 | ${export} | ||
| 45 | DEPENDS ${target} wrapper.def wrapper) | ||
| 46 | |||
| 47 | get_filename_component(libname ${wraplib} NAME_WE) | ||
| 48 | add_custom_target(wrap_${libname} ALL DEPENDS ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX}) | ||
| 49 | set_target_properties(wrap_${libname} PROPERTIES FOLDER lib/wrapped) | ||
| 50 | add_dependencies(${APP_NAME_LC}-libraries wrap_${libname}) | ||
| 51 | |||
| 52 | set(LIBRARY_FILES ${LIBRARY_FILES} ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${CMAKE_SHARED_MODULE_SUFFIX} CACHE STRING "" FORCE) | ||
| 53 | endfunction() | ||
| 54 | |||
| 55 | function(find_soname lib) | ||
| 56 | cmake_parse_arguments(arg "REQUIRED" "" "" ${ARGN}) | ||
| 57 | |||
| 58 | string(TOLOWER ${lib} liblow) | ||
| 59 | if(${lib}_LDFLAGS) | ||
| 60 | set(link_lib "${${lib}_LDFLAGS}") | ||
| 61 | else() | ||
| 62 | if(IS_ABSOLUTE "${${lib}_LIBRARIES}") | ||
| 63 | set(link_lib "${${lib}_LIBRARIES}") | ||
| 64 | else() | ||
| 65 | set(link_lib -l${${lib}_LIBRARIES}) | ||
| 66 | endif() | ||
| 67 | endif() | ||
| 68 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-M ${link_lib} | ||
| 69 | COMMAND grep LOAD.*${liblow} | ||
| 70 | ERROR_QUIET | ||
| 71 | OUTPUT_VARIABLE ${lib}_FILENAME) | ||
| 72 | string(REPLACE "LOAD " "" ${lib}_FILENAME "${${lib}_FILENAME}") | ||
| 73 | string(STRIP "${${lib}_FILENAME}" ${lib}_FILENAME) | ||
| 74 | if(NOT ${lib}_FILENAME) | ||
| 75 | execute_process(COMMAND ${CMAKE_C_COMPILER} -nostdlib -o /dev/null -Wl,-t ${link_lib} | ||
| 76 | OUTPUT_QUIET | ||
| 77 | ERROR_VARIABLE _TMP_FILENAME) | ||
| 78 | string(REGEX MATCH ".*lib${liblow}.so" ${lib}_FILENAME ${_TMP_FILENAME}) | ||
| 79 | endif() | ||
| 80 | if(${lib}_FILENAME) | ||
| 81 | execute_process(COMMAND objdump -p ${${lib}_FILENAME} | ||
| 82 | COMMAND grep SONAME.*${liblow} | ||
| 83 | ERROR_QUIET | ||
| 84 | OUTPUT_VARIABLE ${lib}_SONAME) | ||
| 85 | string(REPLACE "SONAME " "" ${lib}_SONAME ${${lib}_SONAME}) | ||
| 86 | string(STRIP ${${lib}_SONAME} ${lib}_SONAME) | ||
| 87 | if(VERBOSE) | ||
| 88 | message(STATUS "${lib} soname: ${${lib}_SONAME}") | ||
| 89 | endif() | ||
| 90 | set(${lib}_SONAME ${${lib}_SONAME} PARENT_SCOPE) | ||
| 91 | endif() | ||
| 92 | if(arg_REQUIRED AND NOT ${lib}_SONAME) | ||
| 93 | message(FATAL_ERROR "Could not find dynamically loadable library ${lib}") | ||
| 94 | endif() | ||
| 95 | endfunction() | ||
diff --git a/project/cmake/scripts/linux/PathSetup.cmake b/project/cmake/scripts/linux/PathSetup.cmake deleted file mode 100644 index f69711e..0000000 --- a/project/cmake/scripts/linux/PathSetup.cmake +++ /dev/null | |||
| @@ -1,39 +0,0 @@ | |||
| 1 | include(GNUInstallDirs) | ||
| 2 | |||
| 3 | if(NOT prefix) | ||
| 4 | set(prefix ${CMAKE_INSTALL_PREFIX}) | ||
| 5 | else() | ||
| 6 | set(CMAKE_INSTALL_PREFIX ${prefix}) | ||
| 7 | endif() | ||
| 8 | if(NOT exec_prefix) | ||
| 9 | set(exec_prefix ${prefix}) | ||
| 10 | endif() | ||
| 11 | if(NOT libdir) | ||
| 12 | set(libdir ${CMAKE_INSTALL_FULL_LIBDIR}) | ||
| 13 | endif() | ||
| 14 | if(NOT bindir) | ||
| 15 | set(bindir ${CMAKE_INSTALL_FULL_BINDIR}) | ||
| 16 | endif() | ||
| 17 | if(NOT includedir) | ||
| 18 | set(includedir ${CMAKE_INSTALL_FULL_INCLUDEDIR}) | ||
| 19 | endif() | ||
| 20 | if(NOT datarootdir) | ||
| 21 | set(datarootdir ${CMAKE_INSTALL_FULL_DATAROOTDIR}) | ||
| 22 | endif() | ||
| 23 | if(NOT datadir) | ||
| 24 | set(datadir ${CMAKE_INSTALL_FULL_DATADIR}) | ||
| 25 | endif() | ||
| 26 | if(NOT docdir) | ||
| 27 | set(docdir ${CMAKE_INSTALL_FULL_DOCDIR}) | ||
| 28 | endif() | ||
| 29 | |||
| 30 | list(APPEND final_message "-- PATH config --") | ||
| 31 | list(APPEND final_message "Prefix: ${prefix}") | ||
| 32 | list(APPEND final_message "Libdir: ${libdir}") | ||
| 33 | list(APPEND final_message "Bindir: ${bindir}") | ||
| 34 | list(APPEND final_message "Includedir: ${includedir}") | ||
| 35 | list(APPEND final_message "Datarootdir: ${datarootdir}") | ||
| 36 | list(APPEND final_message "Datadir: ${datadir}") | ||
| 37 | |||
| 38 | set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" | ||
| 39 | -DINSTALL_PATH=\"${datarootdir}/kodi\") | ||
diff --git a/project/cmake/scripts/osx/ArchSetup.cmake b/project/cmake/scripts/osx/ArchSetup.cmake deleted file mode 100644 index 3047863..0000000 --- a/project/cmake/scripts/osx/ArchSetup.cmake +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | if(NOT CMAKE_TOOLCHAIN_FILE) | ||
| 2 | message(FATAL_ERROR "CMAKE_TOOLCHAIN_FILE required for osx. See ${PROJECT_SOURCE_DIR}/README.md") | ||
| 3 | endif() | ||
| 4 | |||
| 5 | set(CORE_MAIN_SOURCE ${CORE_SOURCE_DIR}/xbmc/platform/posix/main.cpp | ||
| 6 | ${CORE_SOURCE_DIR}/xbmc/platform/darwin/osx/SDLMain.mm | ||
| 7 | ${CORE_SOURCE_DIR}/xbmc/platform/darwin/osx/SDLMain.h) | ||
| 8 | |||
| 9 | set(ARCH_DEFINES -D_LINUX -DTARGET_POSIX -DTARGET_DARWIN -DTARGET_DARWIN_OSX) | ||
| 10 | set(SYSTEM_DEFINES -D_REENTRANT -D_FILE_DEFINED -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE | ||
| 11 | -D__STDC_CONSTANT_MACROS) | ||
| 12 | set(PLATFORM_DIR linux) | ||
| 13 | set(CMAKE_SYSTEM_NAME Darwin) | ||
| 14 | if(WITH_ARCH) | ||
| 15 | set(ARCH ${WITH_ARCH}) | ||
| 16 | else() | ||
| 17 | if(CPU STREQUAL x86_64 OR CPU STREQUAL i386) | ||
| 18 | set(ARCH x86-osx) | ||
| 19 | set(NEON False) | ||
| 20 | else() | ||
| 21 | message(SEND_ERROR "Unknown CPU: ${CPU}") | ||
| 22 | endif() | ||
| 23 | endif() | ||
| 24 | |||
| 25 | find_package(CXX11 REQUIRED) | ||
| 26 | |||
| 27 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${NATIVEPREFIX}) | ||
| 28 | |||
| 29 | list(APPEND DEPLIBS "-framework DiskArbitration" "-framework IOKit" | ||
| 30 | "-framework IOSurface" "-framework SystemConfiguration" | ||
| 31 | "-framework ApplicationServices" "-framework AppKit" | ||
| 32 | "-framework CoreAudio" "-framework AudioToolbox" | ||
| 33 | "-framework CoreGraphics" "-framework CoreMedia" | ||
| 34 | "-framework VideoToolbox") | ||
diff --git a/project/cmake/scripts/osx/ExtraTargets.cmake b/project/cmake/scripts/osx/ExtraTargets.cmake deleted file mode 100644 index ed9c089..0000000 --- a/project/cmake/scripts/osx/ExtraTargets.cmake +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | # XBMCHelper | ||
| 2 | add_subdirectory(${CORE_SOURCE_DIR}/tools/EventClients/Clients/OSXRemote build/XBMCHelper) | ||
| 3 | add_dependencies(${APP_NAME_LC} XBMCHelper) | ||
diff --git a/project/cmake/scripts/osx/Install.cmake b/project/cmake/scripts/osx/Install.cmake deleted file mode 100644 index 3924ccf..0000000 --- a/project/cmake/scripts/osx/Install.cmake +++ /dev/null | |||
| @@ -1,40 +0,0 @@ | |||
| 1 | # OSX packaging | ||
| 2 | |||
| 3 | set(PACKAGE_OUTPUT_DIR ${CMAKE_BINARY_DIR}/build/${CORE_BUILD_CONFIG}) | ||
| 4 | |||
| 5 | configure_file(${CORE_SOURCE_DIR}/xbmc/platform/darwin/osx/Info.plist.in | ||
| 6 | ${CMAKE_BINARY_DIR}/xbmc/platform/darwin/osx/Info.plist @ONLY) | ||
| 7 | execute_process(COMMAND perl -p -i -e "s/r####/${APP_SCMID}/" ${CMAKE_BINARY_DIR}/xbmc/platform/darwin/osx/Info.plist) | ||
| 8 | |||
| 9 | add_custom_target(bundle | ||
| 10 | COMMAND ${CMAKE_COMMAND} -E copy $<TARGET_FILE:${APP_NAME_LC}> ${PACKAGE_OUTPUT_DIR}/${APP_NAME} | ||
| 11 | COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/DllPaths_generated.h | ||
| 12 | ${CMAKE_BINARY_DIR}/xbmc/DllPaths_generated.h | ||
| 13 | COMMAND "ACTION=build" | ||
| 14 | "TARGET_BUILD_DIR=${PACKAGE_OUTPUT_DIR}" | ||
| 15 | "TARGET_NAME=${APP_NAME}.app" | ||
| 16 | "APP_NAME=${APP_NAME}" | ||
| 17 | "SRCROOT=${CMAKE_BINARY_DIR}" | ||
| 18 | ${CORE_SOURCE_DIR}/tools/darwin/Support/CopyRootFiles-osx.command | ||
| 19 | COMMAND "XBMC_DEPENDS=${DEPENDS_PATH}" | ||
| 20 | "TARGET_BUILD_DIR=${PACKAGE_OUTPUT_DIR}" | ||
| 21 | "TARGET_NAME=${APP_NAME}.app" | ||
| 22 | "APP_NAME=${APP_NAME}" | ||
| 23 | "FULL_PRODUCT_NAME=${APP_NAME}.app" | ||
| 24 | "SRCROOT=${CMAKE_BINARY_DIR}" | ||
| 25 | ${CORE_SOURCE_DIR}/tools/darwin/Support/copyframeworks-osx.command) | ||
| 26 | set_target_properties(bundle PROPERTIES FOLDER "Build Utilities") | ||
| 27 | add_dependencies(bundle ${APP_NAME_LC}) | ||
| 28 | |||
| 29 | configure_file(${CORE_SOURCE_DIR}/tools/darwin/packaging/osx/mkdmg-osx.sh.in | ||
| 30 | ${CMAKE_BINARY_DIR}/tools/darwin/packaging/osx/mkdmg-osx.sh @ONLY) | ||
| 31 | |||
| 32 | add_custom_target(dmg | ||
| 33 | COMMAND ${CMAKE_COMMAND} -E copy_directory ${CORE_SOURCE_DIR}/tools/darwin/packaging/osx/ | ||
| 34 | ${CMAKE_BINARY_DIR}/tools/darwin/packaging/osx/ | ||
| 35 | COMMAND ${CMAKE_COMMAND} -E copy_directory ${CORE_SOURCE_DIR}/tools/darwin/packaging/media/osx/ | ||
| 36 | ${CMAKE_BINARY_DIR}/tools/darwin/packaging/media/osx/ | ||
| 37 | COMMAND ./mkdmg-osx.sh ${CORE_BUILD_CONFIG} | ||
| 38 | WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/tools/darwin/packaging/osx) | ||
| 39 | set_target_properties(dmg PROPERTIES FOLDER "Build Utilities") | ||
| 40 | add_dependencies(dmg bundle) | ||
diff --git a/project/cmake/scripts/osx/Macros.cmake b/project/cmake/scripts/osx/Macros.cmake deleted file mode 100644 index 52f87d1..0000000 --- a/project/cmake/scripts/osx/Macros.cmake +++ /dev/null | |||
| @@ -1,118 +0,0 @@ | |||
| 1 | function(core_link_library lib wraplib) | ||
| 2 | if(CMAKE_GENERATOR MATCHES "Unix Makefiles" OR CMAKE_GENERATOR STREQUAL Ninja) | ||
| 3 | set(wrapper_obj cores/dll-loader/exports/CMakeFiles/wrapper.dir/wrapper.c.o) | ||
| 4 | elseif(CMAKE_GENERATOR MATCHES "Xcode") | ||
| 5 | set(wrapper_obj cores/dll-loader/exports/kodi.build/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)/wrapper.build/Objects-$(CURRENT_VARIANT)/$(CURRENT_ARCH)/wrapper.o) | ||
| 6 | else() | ||
| 7 | message(FATAL_ERROR "Unsupported generator in core_link_library") | ||
| 8 | endif() | ||
| 9 | |||
| 10 | set(export -bundle -undefined dynamic_lookup -read_only_relocs suppress | ||
| 11 | -Wl,-alias_list,${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/cores/dll-loader/exports/wrapper.def | ||
| 12 | ${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}/${wrapper_obj}) | ||
| 13 | set(extension ${CMAKE_SHARED_MODULE_SUFFIX}) | ||
| 14 | set(check_arg "") | ||
| 15 | if(TARGET ${lib}) | ||
| 16 | set(target ${lib}) | ||
| 17 | set(link_lib $<TARGET_FILE:${lib}>) | ||
| 18 | set(check_arg ${ARGV2}) | ||
| 19 | set(data_arg ${ARGV3}) | ||
| 20 | |||
| 21 | # iOS: EFFECTIVE_PLATFORM_NAME is not resolved | ||
| 22 | # http://public.kitware.com/pipermail/cmake/2016-March/063049.html | ||
| 23 | if(CORE_SYSTEM_NAME STREQUAL ios AND CMAKE_GENERATOR STREQUAL Xcode) | ||
| 24 | get_target_property(dir ${lib} BINARY_DIR) | ||
| 25 | set(link_lib ${dir}/${CORE_BUILD_CONFIG}/${CMAKE_STATIC_LIBRARY_PREFIX}${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}) | ||
| 26 | endif() | ||
| 27 | else() | ||
| 28 | set(target ${ARGV2}) | ||
| 29 | set(link_lib ${lib}) | ||
| 30 | set(check_arg ${ARGV3}) | ||
| 31 | set(data_arg ${ARGV4}) | ||
| 32 | endif() | ||
| 33 | if(check_arg STREQUAL export) | ||
| 34 | set(export ${export} | ||
| 35 | -Wl,--version-script=${ARGV3}) | ||
| 36 | elseif(check_arg STREQUAL extras) | ||
| 37 | foreach(arg ${data_arg}) | ||
| 38 | list(APPEND export ${arg}) | ||
| 39 | endforeach() | ||
| 40 | elseif(check_arg STREQUAL archives) | ||
| 41 | set(extra_libs ${data_arg}) | ||
| 42 | endif() | ||
| 43 | get_filename_component(dir ${wraplib} DIRECTORY) | ||
| 44 | |||
| 45 | # We can't simply pass the linker flags to the args section of the custom command | ||
| 46 | # because cmake will add quotes around it (and the linker will fail due to those). | ||
| 47 | # We need to do this handstand first ... | ||
| 48 | string(REPLACE " " ";" CUSTOM_COMMAND_ARGS_LDFLAGS ${CMAKE_SHARED_LINKER_FLAGS}) | ||
| 49 | |||
| 50 | add_custom_command(OUTPUT ${wraplib}-${ARCH}${extension} | ||
| 51 | COMMAND ${CMAKE_COMMAND} -E make_directory ${dir} | ||
| 52 | COMMAND ${CMAKE_C_COMPILER} | ||
| 53 | ARGS ${CUSTOM_COMMAND_ARGS_LDFLAGS} ${export} -Wl,-force_load ${link_lib} ${extra_libs} | ||
| 54 | -o ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${extension} | ||
| 55 | DEPENDS ${target} wrapper.def wrapper | ||
| 56 | VERBATIM) | ||
| 57 | |||
| 58 | get_filename_component(libname ${wraplib} NAME_WE) | ||
| 59 | add_custom_target(wrap_${libname} ALL DEPENDS ${wraplib}-${ARCH}${extension}) | ||
| 60 | set_target_properties(wrap_${libname} PROPERTIES FOLDER lib/wrapped) | ||
| 61 | add_dependencies(${APP_NAME_LC}-libraries wrap_${libname}) | ||
| 62 | |||
| 63 | set(LIBRARY_FILES ${LIBRARY_FILES} ${CMAKE_BINARY_DIR}/${wraplib}-${ARCH}${extension} CACHE STRING "" FORCE) | ||
| 64 | endfunction() | ||
| 65 | |||
| 66 | function(find_soname lib) | ||
| 67 | cmake_parse_arguments(arg "REQUIRED" "" "" ${ARGN}) | ||
| 68 | |||
| 69 | string(TOLOWER ${lib} liblow) | ||
| 70 | if(${lib}_LDFLAGS) | ||
| 71 | set(link_lib "${${lib}_LDFLAGS}") | ||
| 72 | else() | ||
| 73 | set(link_lib "${${lib}_LIBRARIES}") | ||
| 74 | endif() | ||
| 75 | |||
| 76 | execute_process(COMMAND ${CMAKE_C_COMPILER} -print-search-dirs | ||
| 77 | COMMAND fgrep libraries: | ||
| 78 | COMMAND sed "s/[^=]*=\\(.*\\)/\\1/" | ||
| 79 | COMMAND sed "s/:/ /g" | ||
| 80 | ERROR_QUIET | ||
| 81 | OUTPUT_VARIABLE cc_lib_path | ||
| 82 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 83 | execute_process(COMMAND echo ${link_lib} | ||
| 84 | COMMAND sed "s/-L[ ]*//g" | ||
| 85 | COMMAND sed "s/-l[^ ]*//g" | ||
| 86 | ERROR_QUIET | ||
| 87 | OUTPUT_VARIABLE env_lib_path | ||
| 88 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 89 | |||
| 90 | foreach(path ${cc_lib_path} ${env_lib_path}) | ||
| 91 | if(IS_DIRECTORY ${path}) | ||
| 92 | execute_process(COMMAND ls -- ${path}/lib${liblow}.dylib | ||
| 93 | ERROR_QUIET | ||
| 94 | OUTPUT_VARIABLE lib_file | ||
| 95 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 96 | else() | ||
| 97 | set(lib_file ${path}) | ||
| 98 | endif() | ||
| 99 | if(lib_file) | ||
| 100 | # we want the path/name that is embedded in the dylib | ||
| 101 | execute_process(COMMAND otool -L ${lib_file} | ||
| 102 | COMMAND grep -v lib${liblow}.dylib | ||
| 103 | COMMAND grep ${liblow} | ||
| 104 | COMMAND awk "{V=1; print $V}" | ||
| 105 | ERROR_QUIET | ||
| 106 | OUTPUT_VARIABLE filename | ||
| 107 | OUTPUT_STRIP_TRAILING_WHITESPACE) | ||
| 108 | get_filename_component(${lib}_SONAME "${filename}" NAME) | ||
| 109 | if(VERBOSE) | ||
| 110 | message(STATUS "${lib} soname: ${${lib}_SONAME}") | ||
| 111 | endif() | ||
| 112 | endif() | ||
| 113 | endforeach() | ||
| 114 | if(arg_REQUIRED AND NOT ${lib}_SONAME) | ||
| 115 | message(FATAL_ERROR "Could not find dynamically loadable library ${lib}") | ||
| 116 | endif() | ||
| 117 | set(${lib}_SONAME ${${lib}_SONAME} PARENT_SCOPE) | ||
| 118 | endfunction() | ||
diff --git a/project/cmake/scripts/osx/PathSetup.cmake b/project/cmake/scripts/osx/PathSetup.cmake deleted file mode 100644 index 071dfd4..0000000 --- a/project/cmake/scripts/osx/PathSetup.cmake +++ /dev/null | |||
| @@ -1,32 +0,0 @@ | |||
| 1 | if(NOT prefix) | ||
| 2 | set(prefix ${DEPENDS_PATH}) | ||
| 3 | endif() | ||
| 4 | if(NOT exec_prefix) | ||
| 5 | set(exec_prefix ${prefix}) | ||
| 6 | endif() | ||
| 7 | if(NOT libdir) | ||
| 8 | set(libdir ${prefix}/lib) | ||
| 9 | endif() | ||
| 10 | if(NOT bindir) | ||
| 11 | set(bindir ${prefix}/bin) | ||
| 12 | endif() | ||
| 13 | if(NOT includedir) | ||
| 14 | set(includedir ${prefix}/include) | ||
| 15 | endif() | ||
| 16 | if(NOT datarootdir) | ||
| 17 | set(datarootdir ${prefix}/share) | ||
| 18 | endif() | ||
| 19 | if(NOT datadir) | ||
| 20 | set(datadir ${datarootdir}) | ||
| 21 | endif() | ||
| 22 | |||
| 23 | list(APPEND final_message "-- PATH config --") | ||
| 24 | list(APPEND final_message "Prefix: ${prefix}") | ||
| 25 | list(APPEND final_message "Libdir: ${libdir}") | ||
| 26 | list(APPEND final_message "Bindir: ${bindir}") | ||
| 27 | list(APPEND final_message "Includedir: ${includedir}") | ||
| 28 | list(APPEND final_message "Datarootdir: ${datarootdir}") | ||
| 29 | list(APPEND final_message "Datadir: ${datadir}") | ||
| 30 | |||
| 31 | set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" | ||
| 32 | -DINSTALL_PATH=\"${datarootdir}/kodi\") | ||
diff --git a/project/cmake/scripts/rbpi/ArchSetup.cmake b/project/cmake/scripts/rbpi/ArchSetup.cmake deleted file mode 100644 index fa1f9f4..0000000 --- a/project/cmake/scripts/rbpi/ArchSetup.cmake +++ /dev/null | |||
| @@ -1,28 +0,0 @@ | |||
| 1 | set(ARCH_DEFINES -DTARGET_POSIX -DTARGET_LINUX -D_LINUX -D_ARMEL -DTARGET_RASPBERRY_PI | ||
| 2 | -DHAS_OMXPLAYER -DHAVE_OMXLIB) | ||
| 3 | set(SYSTEM_DEFINES -D__STDC_CONSTANT_MACROS -D_FILE_DEFINED | ||
| 4 | -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64) | ||
| 5 | set(PLATFORM_DIR linux) | ||
| 6 | |||
| 7 | string(REGEX REPLACE "[ ]+" ";" SYSTEM_LDFLAGS $ENV{LDFLAGS}) | ||
| 8 | set(CMAKE_SYSTEM_NAME Linux) | ||
| 9 | |||
| 10 | if(WITH_ARCH) | ||
| 11 | set(ARCH ${WITH_ARCH}) | ||
| 12 | else() | ||
| 13 | if(CPU STREQUAL arm1176jzf-s) | ||
| 14 | set(ARCH arm-linux-gnueabihf) | ||
| 15 | set(NEON False) | ||
| 16 | elseif(CPU MATCHES "cortex-a7" OR CPU MATCHES "cortex-a53") | ||
| 17 | set(ARCH arm-linux-gnueabihf) | ||
| 18 | set(NEON True) | ||
| 19 | else() | ||
| 20 | message(SEND_ERROR "Unknown CPU: ${CPU}") | ||
| 21 | endif() | ||
| 22 | endif() | ||
| 23 | |||
| 24 | find_package(CXX11 REQUIRED) | ||
| 25 | |||
| 26 | set(MMAL_FOUND 1 CACHE INTERNAL "MMAL") | ||
| 27 | set(OMX_FOUND 1 CACHE INTERNAL "OMX") | ||
| 28 | set(OMXLIB_FOUND 1 CACHE INTERNAL "OMX") | ||
diff --git a/project/cmake/scripts/rbpi/Install.cmake b/project/cmake/scripts/rbpi/Install.cmake deleted file mode 120000 index 28ce012..0000000 --- a/project/cmake/scripts/rbpi/Install.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../linux/Install.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/rbpi/Macros.cmake b/project/cmake/scripts/rbpi/Macros.cmake deleted file mode 120000 index 2fdbb25..0000000 --- a/project/cmake/scripts/rbpi/Macros.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../linux/Macros.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/rbpi/PathSetup.cmake b/project/cmake/scripts/rbpi/PathSetup.cmake deleted file mode 120000 index 6786c1c..0000000 --- a/project/cmake/scripts/rbpi/PathSetup.cmake +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | ../linux/PathSetup.cmake \ No newline at end of file | ||
diff --git a/project/cmake/scripts/windows/ArchSetup.cmake b/project/cmake/scripts/windows/ArchSetup.cmake deleted file mode 100644 index 431b641..0000000 --- a/project/cmake/scripts/windows/ArchSetup.cmake +++ /dev/null | |||
| @@ -1,89 +0,0 @@ | |||
| 1 | # -------- Architecture settings --------- | ||
| 2 | |||
| 3 | set(ARCH win32) | ||
| 4 | |||
| 5 | |||
| 6 | # -------- Paths (mainly for find_package) --------- | ||
| 7 | |||
| 8 | set(PLATFORM_DIR platform/win32) | ||
| 9 | |||
| 10 | # Precompiled headers fail with per target output directory. (needs CMake 3.1) | ||
| 11 | set(PRECOMPILEDHEADER_DIR ${PROJECT_BINARY_DIR}/${CORE_BUILD_CONFIG}/objs) | ||
| 12 | |||
| 13 | set(CMAKE_SYSTEM_NAME Windows) | ||
| 14 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32) | ||
| 15 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg) | ||
| 16 | list(APPEND CMAKE_SYSTEM_LIBRARY_PATH ${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin) | ||
| 17 | list(APPEND CMAKE_SYSTEM_PREFIX_PATH ${PROJECT_SOURCE_DIR}/../BuildDependencies) | ||
| 18 | |||
| 19 | set(PYTHON_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/../BuildDependencies/include/python) | ||
| 20 | |||
| 21 | |||
| 22 | # -------- Compiler options --------- | ||
| 23 | |||
| 24 | add_options(CXX ALL_BUILDS "/wd\"4996\"") | ||
| 25 | set(ARCH_DEFINES -D_WINDOWS -DTARGET_WINDOWS) | ||
| 26 | set(SYSTEM_DEFINES -DNOMINMAX -D_USE_32BIT_TIME_T -DHAS_DX -D__STDC_CONSTANT_MACROS | ||
| 27 | -DTAGLIB_STATIC -DNPT_CONFIG_ENABLE_LOGGING | ||
| 28 | -DPLT_HTTP_DEFAULT_USER_AGENT="UPnP/1.0 DLNADOC/1.50 Kodi" | ||
| 29 | -DPLT_HTTP_DEFAULT_SERVER="UPnP/1.0 DLNADOC/1.50 Kodi" | ||
| 30 | $<$<CONFIG:Debug>:-DD3D_DEBUG_INFO -D_ITERATOR_DEBUG_LEVEL=0>) | ||
| 31 | |||
| 32 | # Make sure /FS is set for Visual Studio in order to prevent simultanious access to pdb files. | ||
| 33 | if(CMAKE_GENERATOR MATCHES "Visual Studio") | ||
| 34 | set(CMAKE_CXX_FLAGS "/MP /FS ${CMAKE_CXX_FLAGS}") | ||
| 35 | endif() | ||
| 36 | |||
| 37 | # Google Test needs to use shared version of runtime libraries | ||
| 38 | set(gtest_force_shared_crt ON CACHE STRING "" FORCE) | ||
| 39 | |||
| 40 | |||
| 41 | # -------- Linker options --------- | ||
| 42 | |||
| 43 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO") | ||
| 44 | |||
| 45 | # For #pragma comment(lib X) | ||
| 46 | # TODO: It would certainly be better to handle these libraries via CMake modules. | ||
| 47 | link_directories(${PROJECT_SOURCE_DIR}/../../lib/win32/ffmpeg/bin | ||
| 48 | ${PROJECT_SOURCE_DIR}/../BuildDependencies/lib) | ||
| 49 | |||
| 50 | # Additional libraries | ||
| 51 | list(APPEND DEPLIBS d3d11.lib DInput8.lib DSound.lib winmm.lib Mpr.lib Iphlpapi.lib | ||
| 52 | PowrProf.lib setupapi.lib dwmapi.lib yajl.lib dxguid.lib DelayImp.lib) | ||
| 53 | |||
| 54 | # NODEFAULTLIB option | ||
| 55 | set(_nodefaultlibs_RELEASE libcmt) | ||
| 56 | set(_nodefaultlibs_DEBUG libcmt msvcrt) | ||
| 57 | foreach(_lib ${_nodefaultlibs_RELEASE}) | ||
| 58 | set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /NODEFAULTLIB:\"${_lib}\"") | ||
| 59 | endforeach() | ||
| 60 | foreach(_lib ${_nodefaultlibs_DEBUG}) | ||
| 61 | set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /NODEFAULTLIB:\"${_lib}\"") | ||
| 62 | endforeach() | ||
| 63 | |||
| 64 | # DELAYLOAD option | ||
| 65 | set(_delayloadlibs zlib.dll libmysql.dll libxslt.dll dnssd.dll dwmapi.dll ssh.dll sqlite3.dll | ||
| 66 | avcodec-57.dll avfilter-6.dll avformat-57.dll avutil-55.dll | ||
| 67 | postproc-54.dll swresample-2.dll swscale-4.dll d3dcompiler_47.dll) | ||
| 68 | foreach(_lib ${_delayloadlibs}) | ||
| 69 | set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DELAYLOAD:\"${_lib}\"") | ||
| 70 | endforeach() | ||
| 71 | |||
| 72 | # Make the Release version create a PDB | ||
| 73 | set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi") | ||
| 74 | # Minimize the size or the resulting DLLs | ||
| 75 | set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF") | ||
| 76 | |||
| 77 | |||
| 78 | # -------- Visual Studio options --------- | ||
| 79 | |||
| 80 | if(CMAKE_GENERATOR MATCHES "Visual Studio") | ||
| 81 | set_property(GLOBAL PROPERTY USE_FOLDERS ON) | ||
| 82 | |||
| 83 | # Generate a batch file that opens Visual Studio with the necessary env variables set. | ||
| 84 | file(WRITE ${CMAKE_BINARY_DIR}/kodi-sln.bat | ||
| 85 | "@echo off\n" | ||
| 86 | "set KODI_HOME=%~dp0\n" | ||
| 87 | "set PATH=%~dp0\\system\n" | ||
| 88 | "start %~dp0\\${PROJECT_NAME}.sln") | ||
| 89 | endif() | ||
diff --git a/project/cmake/scripts/windows/CFlagOverrides.cmake b/project/cmake/scripts/windows/CFlagOverrides.cmake deleted file mode 100644 index 3158e75..0000000 --- a/project/cmake/scripts/windows/CFlagOverrides.cmake +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | if(MSVC) | ||
| 2 | set(CMAKE_C_FLAGS_INIT "/MP /DWIN32 /D_WINDOWS /W3 /Zi /arch:SSE2") | ||
| 3 | set(CMAKE_C_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") | ||
| 4 | set(CMAKE_C_FLAGS_RELEASE_INIT "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") | ||
| 5 | endif() | ||
diff --git a/project/cmake/scripts/windows/CXXFlagOverrides.cmake b/project/cmake/scripts/windows/CXXFlagOverrides.cmake deleted file mode 100644 index 0b52dc6..0000000 --- a/project/cmake/scripts/windows/CXXFlagOverrides.cmake +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | if(MSVC) | ||
| 2 | set(CMAKE_CXX_FLAGS_INIT "/MP /DWIN32 /D_WINDOWS /W3 /GR /Zi /EHsc /arch:SSE2") | ||
| 3 | set(CMAKE_CXX_FLAGS_DEBUG_INIT "/D_DEBUG /MDd /Ob0 /Od /RTC1 /D_ITERATOR_DEBUG_LEVEL=0") | ||
| 4 | set(CMAKE_CXX_FLAGS_RELEASE_INIT "/MD /Ox /Ob2 /Oi /Ot /Oy /GL /DNDEBUG") | ||
| 5 | endif() | ||
diff --git a/project/cmake/scripts/windows/Install.cmake b/project/cmake/scripts/windows/Install.cmake deleted file mode 100644 index e69de29..0000000 --- a/project/cmake/scripts/windows/Install.cmake +++ /dev/null | |||
diff --git a/project/cmake/scripts/windows/Macros.cmake b/project/cmake/scripts/windows/Macros.cmake deleted file mode 100644 index 2d3500d..0000000 --- a/project/cmake/scripts/windows/Macros.cmake +++ /dev/null | |||
| @@ -1,66 +0,0 @@ | |||
| 1 | function(core_link_library lib wraplib) | ||
| 2 | message(AUTHOR_WARNING "core_link_library is not compatible with windows.") | ||
| 3 | endfunction() | ||
| 4 | |||
| 5 | function(find_soname lib) | ||
| 6 | # Windows uses hardcoded dlls in xbmc/DllPaths_win32.h. | ||
| 7 | # Therefore the output of this function is unused. | ||
| 8 | endfunction() | ||
| 9 | |||
| 10 | # Add precompiled header to target | ||
| 11 | # Arguments: | ||
| 12 | # target existing target that will be set up to compile with a precompiled header | ||
| 13 | # pch_header the precompiled header file | ||
| 14 | # pch_source the precompiled header source file | ||
| 15 | # Optional Arguments: | ||
| 16 | # PCH_TARGET build precompiled header as separate target with the given name | ||
| 17 | # so that the same precompiled header can be used for multiple libraries | ||
| 18 | # EXCLUDE_SOURCES if not all target sources shall use the precompiled header, | ||
| 19 | # the relevant files can be listed here | ||
| 20 | # On return: | ||
| 21 | # Compiles the pch_source into a precompiled header and adds the header to | ||
| 22 | # the given target | ||
| 23 | function(add_precompiled_header target pch_header pch_source) | ||
| 24 | cmake_parse_arguments(PCH "" "PCH_TARGET" "EXCLUDE_SOURCES" ${ARGN}) | ||
| 25 | |||
| 26 | if(PCH_PCH_TARGET) | ||
| 27 | set(pch_binary ${PRECOMPILEDHEADER_DIR}/${PCH_PCH_TARGET}.pch) | ||
| 28 | else() | ||
| 29 | set(pch_binary ${PRECOMPILEDHEADER_DIR}/${target}.pch) | ||
| 30 | endif() | ||
| 31 | |||
| 32 | # Set compile options and dependency for sources | ||
| 33 | get_target_property(sources ${target} SOURCES) | ||
| 34 | list(REMOVE_ITEM sources ${pch_source}) | ||
| 35 | foreach(exclude_source IN LISTS PCH_EXCLUDE_SOURCES) | ||
| 36 | list(REMOVE_ITEM sources ${exclude_source}) | ||
| 37 | endforeach() | ||
| 38 | set_source_files_properties(${sources} | ||
| 39 | PROPERTIES COMPILE_FLAGS "/Yu\"${pch_header}\" /Fp\"${pch_binary}\" /FI\"${pch_header}\"" | ||
| 40 | OBJECT_DEPENDS "${pch_binary}") | ||
| 41 | |||
| 42 | # Set compile options for precompiled header | ||
| 43 | if(NOT PCH_PCH_TARGET OR NOT TARGET ${PCH_PCH_TARGET}_pch) | ||
| 44 | set_source_files_properties(${pch_source} | ||
| 45 | PROPERTIES COMPILE_FLAGS "/Yc\"${pch_header}\" /Fp\"${pch_binary}\"" | ||
| 46 | OBJECT_OUTPUTS "${pch_binary}") | ||
| 47 | endif() | ||
| 48 | |||
| 49 | # Compile precompiled header | ||
| 50 | if(PCH_PCH_TARGET) | ||
| 51 | # As own target for usage in multiple libraries | ||
| 52 | if(NOT TARGET ${PCH_PCH_TARGET}_pch) | ||
| 53 | add_library(${PCH_PCH_TARGET}_pch STATIC ${pch_source}) | ||
| 54 | set_target_properties(${PCH_PCH_TARGET}_pch PROPERTIES COMPILE_PDB_NAME vc140 | ||
| 55 | COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR} | ||
| 56 | FOLDER "Build Utilities") | ||
| 57 | endif() | ||
| 58 | # From VS2012 onwards, precompiled headers have to be linked against (LNK2011). | ||
| 59 | target_link_libraries(${target} PUBLIC ${PCH_PCH_TARGET}_pch) | ||
| 60 | set_target_properties(${target} PROPERTIES COMPILE_PDB_NAME vc140 | ||
| 61 | COMPILE_PDB_OUTPUT_DIRECTORY ${PRECOMPILEDHEADER_DIR}) | ||
| 62 | else() | ||
| 63 | # As part of the target | ||
| 64 | target_sources(${target} PRIVATE ${pch_source}) | ||
| 65 | endif() | ||
| 66 | endfunction() | ||
diff --git a/project/cmake/scripts/windows/PathSetup.cmake b/project/cmake/scripts/windows/PathSetup.cmake deleted file mode 100644 index 8550616..0000000 --- a/project/cmake/scripts/windows/PathSetup.cmake +++ /dev/null | |||
| @@ -1,34 +0,0 @@ | |||
| 1 | if(NOT prefix) | ||
| 2 | set(prefix ${CMAKE_INSTALL_PREFIX}) | ||
| 3 | else() | ||
| 4 | set(CMAKE_INSTALL_PREFIX ${prefix}) | ||
| 5 | endif() | ||
| 6 | if(NOT exec_prefix) | ||
| 7 | set(exec_prefix ${prefix}) | ||
| 8 | endif() | ||
| 9 | if(NOT libdir) | ||
| 10 | set(libdir ${prefix}/lib) | ||
| 11 | endif() | ||
| 12 | if(NOT bindir) | ||
| 13 | set(bindir ${prefix}/bin) | ||
| 14 | endif() | ||
| 15 | if(NOT includedir) | ||
| 16 | set(includedir ${prefix}/include) | ||
| 17 | endif() | ||
| 18 | if(NOT datarootdir) | ||
| 19 | set(datarootdir ${prefix}/share) | ||
| 20 | endif() | ||
| 21 | if(NOT datadir) | ||
| 22 | set(datadir ${datarootdir}) | ||
| 23 | endif() | ||
| 24 | |||
| 25 | list(APPEND final_message "-- PATH config --") | ||
| 26 | list(APPEND final_message "Prefix: ${prefix}") | ||
| 27 | list(APPEND final_message "Libdir: ${libdir}") | ||
| 28 | list(APPEND final_message "Bindir: ${bindir}") | ||
| 29 | list(APPEND final_message "Includedir: ${includedir}") | ||
| 30 | list(APPEND final_message "Datarootdir: ${datarootdir}") | ||
| 31 | list(APPEND final_message "Datadir: ${datadir}") | ||
| 32 | |||
| 33 | set(PATH_DEFINES -DBIN_INSTALL_PATH=\"${libdir}/kodi\" | ||
| 34 | -DINSTALL_PATH=\"${datarootdir}/kodi\") | ||
diff --git a/project/cmake/scripts/windows/tools/patch.cmake b/project/cmake/scripts/windows/tools/patch.cmake deleted file mode 100644 index 0ef2952..0000000 --- a/project/cmake/scripts/windows/tools/patch.cmake +++ /dev/null | |||
| @@ -1,37 +0,0 @@ | |||
| 1 | find_program(PATCH_FOUND NAMES patch patch.exe) | ||
| 2 | if(PATCH_FOUND) | ||
| 3 | message(STATUS "patch utility found at ${PATCH_FOUND}") | ||
| 4 | else() | ||
| 5 | set(PATCH_ARCHIVE_NAME "patch-2.5.9-7-bin-1") | ||
| 6 | set(PATCH_ARCHIVE "${PATCH_ARCHIVE_NAME}.zip") | ||
| 7 | set(PATCH_URL "${KODI_MIRROR}/build-deps/win32/${PATCH_ARCHIVE}") | ||
| 8 | set(PATCH_DOWNLOAD ${BUILD_DIR}/download/${PATCH_ARCHIVE}) | ||
| 9 | |||
| 10 | # download the archive containing patch.exe | ||
| 11 | message(STATUS "Downloading patch utility from ${PATCH_URL}...") | ||
| 12 | file(DOWNLOAD "${PATCH_URL}" "${PATCH_DOWNLOAD}" STATUS PATCH_DL_STATUS LOG PATCH_LOG SHOW_PROGRESS) | ||
| 13 | list(GET PATCH_DL_STATUS 0 PATCH_RETCODE) | ||
| 14 | if(NOT PATCH_RETCODE EQUAL 0) | ||
| 15 | message(FATAL_ERROR "ERROR downloading ${PATCH_URL} - status: ${PATCH_DL_STATUS} log: ${PATCH_LOG}") | ||
| 16 | endif() | ||
| 17 | |||
| 18 | # extract the archive containing patch.exe | ||
| 19 | execute_process(COMMAND ${CMAKE_COMMAND} -E tar xzvf ${PATCH_DOWNLOAD} | ||
| 20 | WORKING_DIRECTORY ${BUILD_DIR}) | ||
| 21 | |||
| 22 | # make sure the extraction worked and that patch.exe is there | ||
| 23 | set(PATCH_PATH ${BUILD_DIR}/${PATCH_ARCHIVE_NAME}) | ||
| 24 | set(PATCH_BINARY_PATH ${PATCH_PATH}/bin/patch.exe) | ||
| 25 | if(NOT EXISTS ${PATCH_PATH} OR NOT EXISTS ${PATCH_BINARY_PATH}) | ||
| 26 | message(FATAL_ERROR "ERROR extracting patch utility from ${PATCH_PATH}") | ||
| 27 | endif() | ||
| 28 | |||
| 29 | # copy patch.exe into the output directory | ||
| 30 | file(INSTALL ${PATCH_BINARY_PATH} DESTINATION ${ADDON_DEPENDS_PATH}/bin) | ||
| 31 | |||
| 32 | # make sure that cmake can find the copied patch.exe | ||
| 33 | find_program(PATCH_FOUND NAMES patch patch.exe) | ||
| 34 | if(NOT PATCH_FOUND) | ||
| 35 | message(FATAL_ERROR "ERROR installing patch utility from ${PATCH_BINARY_PATH} to ${ADDON_DEPENDS_PATH}/bin") | ||
| 36 | endif() | ||
| 37 | endif() | ||
diff --git a/project/cmake/treedata/android/subdirs.txt b/project/cmake/treedata/android/subdirs.txt deleted file mode 100644 index 599017c..0000000 --- a/project/cmake/treedata/android/subdirs.txt +++ /dev/null | |||
| @@ -1,17 +0,0 @@ | |||
| 1 | xbmc/linux linuxsupport | ||
| 2 | xbmc/input/touch input/touch | ||
| 3 | xbmc/input/touch/generic input/touch/generic | ||
| 4 | xbmc/network/linux network/linux | ||
| 5 | xbmc/peripherals/bus/linux peripherals/bus/linux | ||
| 6 | xbmc/peripherals/bus/android peripherals/bus/android | ||
| 7 | xbmc/powermanagement/android powermanagement/android | ||
| 8 | xbmc/storage/android storage/android | ||
| 9 | xbmc/filesystem/posix filesystem/posix | ||
| 10 | xbmc/utils/posix utils_posix | ||
| 11 | xbmc/windowing/android windowing/android | ||
| 12 | xbmc/windowing/egl windowing/egl | ||
| 13 | xbmc/platform/posix posix | ||
| 14 | xbmc/platform/android/activity android_activity | ||
| 15 | xbmc/platform/android/bionic_supplement android_bionicsupplement | ||
| 16 | xbmc/platform/android/jni android_jni | ||
| 17 | xbmc/platform/android/loader android_loader | ||
diff --git a/project/cmake/treedata/common/addons.txt b/project/cmake/treedata/common/addons.txt deleted file mode 100644 index f29e086..0000000 --- a/project/cmake/treedata/common/addons.txt +++ /dev/null | |||
| @@ -1,7 +0,0 @@ | |||
| 1 | lib/addons/library.kodi.adsp KODI_adsp | ||
| 2 | lib/addons/library.kodi.audioengine KODI_audioengine | ||
| 3 | lib/addons/library.kodi.game KODI_game | ||
| 4 | lib/addons/library.kodi.guilib KODI_guilib | ||
| 5 | lib/addons/library.kodi.peripheral KODI_peripheral | ||
| 6 | lib/addons/library.xbmc.addon XBMC_addon | ||
| 7 | lib/addons/library.xbmc.codec XBMC_codec | ||
diff --git a/project/cmake/treedata/common/cores.txt b/project/cmake/treedata/common/cores.txt deleted file mode 100644 index 8d79dd1..0000000 --- a/project/cmake/treedata/common/cores.txt +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | xbmc/cores cores | ||
| 2 | xbmc/cores/AudioEngine cores/audioengine | ||
| 3 | xbmc/cores/DllLoader cores/dll-loader | ||
| 4 | xbmc/cores/DllLoader/exports cores/dll-loader/exports | ||
| 5 | xbmc/cores/DllLoader/exports/util cores/dll-loader/exports/util | ||
| 6 | xbmc/cores/ExternalPlayer cores/externalplayer | ||
| 7 | xbmc/cores/paplayer cores/paplayer | ||
| 8 | xbmc/cores/playercorefactory cores/playercorefactory | ||
| 9 | xbmc/cores/RetroPlayer cores/RetroPlayer | ||
diff --git a/project/cmake/treedata/common/events.txt b/project/cmake/treedata/common/events.txt deleted file mode 100644 index 0adeb08..0000000 --- a/project/cmake/treedata/common/events.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | xbmc/events events | ||
| 2 | xbmc/events/windows events/windows | ||
diff --git a/project/cmake/treedata/common/externals.txt b/project/cmake/treedata/common/externals.txt deleted file mode 100644 index e3b9ab4..0000000 --- a/project/cmake/treedata/common/externals.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | xbmc/contrib/kissfft kissfft | ||
| 2 | lib/libexif exif | ||
diff --git a/project/cmake/treedata/common/filesystem.txt b/project/cmake/treedata/common/filesystem.txt deleted file mode 100644 index 1c49a74..0000000 --- a/project/cmake/treedata/common/filesystem.txt +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | xbmc/filesystem filesystem | ||
| 2 | xbmc/filesystem/VideoDatabaseDirectory filesystem/videodatabase | ||
| 3 | xbmc/filesystem/MusicDatabaseDirectory filesystem/musicdatabase | ||
diff --git a/project/cmake/treedata/common/games.txt b/project/cmake/treedata/common/games.txt deleted file mode 100644 index 03d42bc..0000000 --- a/project/cmake/treedata/common/games.txt +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | xbmc/games games | ||
| 2 | xbmc/games/addons games/addons | ||
| 3 | xbmc/games/addons/playback games/addons/playback | ||
| 4 | xbmc/games/addons/savestates games/addons/savestates | ||
| 5 | xbmc/games/controllers games/controllers | ||
| 6 | xbmc/games/controllers/dialogs games/controllers/dialogs | ||
| 7 | xbmc/games/controllers/guicontrols games/controllers/guicontrols | ||
| 8 | xbmc/games/controllers/windows games/controllers/windows | ||
| 9 | xbmc/games/dialogs games/dialogs | ||
| 10 | xbmc/games/ports games/ports | ||
| 11 | xbmc/games/tags games/tags | ||
| 12 | xbmc/games/windows games/windows | ||
diff --git a/project/cmake/treedata/common/interfaces.txt b/project/cmake/treedata/common/interfaces.txt deleted file mode 100644 index ffd3570..0000000 --- a/project/cmake/treedata/common/interfaces.txt +++ /dev/null | |||
| @@ -1,9 +0,0 @@ | |||
| 1 | xbmc/interfaces interfaces | ||
| 2 | xbmc/interfaces/builtins interfaces/builtins | ||
| 3 | xbmc/interfaces/generic interfaces/generic | ||
| 4 | xbmc/interfaces/info interfaces/info | ||
| 5 | xbmc/interfaces/json-rpc interfaces/json-rpc | ||
| 6 | xbmc/interfaces/json-rpc/schema interfaces/json-rpc/schema | ||
| 7 | xbmc/interfaces/legacy interfaces/legacy | ||
| 8 | xbmc/interfaces/legacy/wsgi interfaces/legacy/wsgi | ||
| 9 | xbmc/interfaces/python interfaces/python | ||
diff --git a/project/cmake/treedata/common/music.txt b/project/cmake/treedata/common/music.txt deleted file mode 100644 index 71f30e1..0000000 --- a/project/cmake/treedata/common/music.txt +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | xbmc/music music | ||
| 2 | xbmc/music/dialogs music/dialogs | ||
| 3 | xbmc/music/infoscanner music/infoscanner | ||
| 4 | xbmc/music/tags music/tags | ||
| 5 | xbmc/music/windows music/windows | ||
diff --git a/project/cmake/treedata/common/network.txt b/project/cmake/treedata/common/network.txt deleted file mode 100644 index 46da314..0000000 --- a/project/cmake/treedata/common/network.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | xbmc/network network | ||
| 2 | xbmc/network/websocket network/websocket | ||
diff --git a/project/cmake/treedata/common/peripherals.txt b/project/cmake/treedata/common/peripherals.txt deleted file mode 100644 index 903b537..0000000 --- a/project/cmake/treedata/common/peripherals.txt +++ /dev/null | |||
| @@ -1,6 +0,0 @@ | |||
| 1 | xbmc/peripherals peripherals | ||
| 2 | xbmc/peripherals/addons peripherals/addons | ||
| 3 | xbmc/peripherals/bus peripherals/bus | ||
| 4 | xbmc/peripherals/bus/virtual peripherals/bus/virtual | ||
| 5 | xbmc/peripherals/devices peripherals/devices | ||
| 6 | xbmc/peripherals/dialogs peripherals/dialogs | ||
diff --git a/project/cmake/treedata/common/profiles.txt b/project/cmake/treedata/common/profiles.txt deleted file mode 100644 index fae570b..0000000 --- a/project/cmake/treedata/common/profiles.txt +++ /dev/null | |||
| @@ -1,3 +0,0 @@ | |||
| 1 | xbmc/profiles profiles | ||
| 2 | xbmc/profiles/dialogs profiles/dialogs | ||
| 3 | xbmc/profiles/windows profiles/windows | ||
diff --git a/project/cmake/treedata/common/pvr.txt b/project/cmake/treedata/common/pvr.txt deleted file mode 100644 index 6797677..0000000 --- a/project/cmake/treedata/common/pvr.txt +++ /dev/null | |||
| @@ -1,7 +0,0 @@ | |||
| 1 | xbmc/pvr pvr | ||
| 2 | xbmc/pvr/addons pvr/addons | ||
| 3 | xbmc/pvr/channels pvr/channels | ||
| 4 | xbmc/pvr/dialogs pvr/dialogs | ||
| 5 | xbmc/pvr/recordings pvr/recordings | ||
| 6 | xbmc/pvr/timers pvr/timers | ||
| 7 | xbmc/pvr/windows pvr/windows | ||
diff --git a/project/cmake/treedata/common/settings.txt b/project/cmake/treedata/common/settings.txt deleted file mode 100644 index c5aa2ae..0000000 --- a/project/cmake/treedata/common/settings.txt +++ /dev/null | |||
| @@ -1,4 +0,0 @@ | |||
| 1 | xbmc/settings settings | ||
| 2 | xbmc/settings/dialogs settings/dialogs | ||
| 3 | xbmc/settings/lib settings/lib | ||
| 4 | xbmc/settings/windows settings/windows | ||
diff --git a/project/cmake/treedata/common/subdirs.txt b/project/cmake/treedata/common/subdirs.txt deleted file mode 100644 index af91611..0000000 --- a/project/cmake/treedata/common/subdirs.txt +++ /dev/null | |||
| @@ -1,41 +0,0 @@ | |||
| 1 | xbmc xbmc | ||
| 2 | xbmc/addons addons | ||
| 3 | xbmc/addons/binary/interfaces addonsBinaryInterfaces | ||
| 4 | xbmc/addons/binary/interfaces/api1/Addon api1AddonCallbacks_Addon | ||
| 5 | xbmc/addons/binary/interfaces/api1/AudioDSP api1AddonCallbacks_AudioDSP | ||
| 6 | xbmc/addons/binary/interfaces/api1/AudioEngine api1AddonCallbacks_AudioEngine | ||
| 7 | xbmc/addons/binary/interfaces/api1/Codec api1AddonCallbacks_Codec | ||
| 8 | xbmc/addons/binary/interfaces/api1/Game api1AddonCallbacks_Game | ||
| 9 | xbmc/addons/binary/interfaces/api1/GUI api1AddonCallbacks_GUI | ||
| 10 | xbmc/addons/binary/interfaces/api1/InputStream api1AddonCallbacks_InputStream | ||
| 11 | xbmc/addons/binary/interfaces/api1/Peripheral api1AddonCallbacks_Peripheral | ||
| 12 | xbmc/addons/binary/interfaces/api1/PVR api1AddonCallbacks_PVR | ||
| 13 | xbmc/commons commons | ||
| 14 | xbmc/dbwrappers dbwrappers | ||
| 15 | xbmc/dialogs dialogs | ||
| 16 | xbmc/epg epg | ||
| 17 | xbmc/guilib guilib | ||
| 18 | xbmc/input input | ||
| 19 | xbmc/input/joysticks input/joysticks | ||
| 20 | xbmc/input/joysticks/dialogs input/joysticks/dialogs | ||
| 21 | xbmc/input/joysticks/generic input/joysticks/generic | ||
| 22 | xbmc/input/keyboard input/keyboard | ||
| 23 | xbmc/input/keyboard/generic input/keyboard/generic | ||
| 24 | xbmc/input/mouse input/mouse | ||
| 25 | xbmc/input/mouse/generic input/mouse/generic | ||
| 26 | xbmc/listproviders listproviders | ||
| 27 | xbmc/media media | ||
| 28 | xbmc/messaging messaging | ||
| 29 | xbmc/messaging/helpers messagingHelpers | ||
| 30 | xbmc/pictures pictures | ||
| 31 | xbmc/platform platform | ||
| 32 | xbmc/playlists playlists | ||
| 33 | xbmc/powermanagement powermanagement | ||
| 34 | xbmc/programs programs | ||
| 35 | xbmc/rendering rendering | ||
| 36 | xbmc/storage storage | ||
| 37 | xbmc/threads threads | ||
| 38 | xbmc/utils utils | ||
| 39 | xbmc/view view | ||
| 40 | xbmc/windowing windowing | ||
| 41 | xbmc/windows windows | ||
diff --git a/project/cmake/treedata/common/tests.txt b/project/cmake/treedata/common/tests.txt deleted file mode 100644 index 358bc4d..0000000 --- a/project/cmake/treedata/common/tests.txt +++ /dev/null | |||
| @@ -1,10 +0,0 @@ | |||
| 1 | xbmc/test test | ||
| 2 | xbmc/addons/test test/addons | ||
| 3 | xbmc/filesystem/test test/filesystem | ||
| 4 | xbmc/interfaces/python/test test/python | ||
| 5 | xbmc/music/tags/test test/music_tags | ||
| 6 | xbmc/network/test test/network | ||
| 7 | xbmc/threads/test test/threads | ||
| 8 | xbmc/utils/test test/utils | ||
| 9 | xbmc/video/test test/video | ||
| 10 | xbmc/cores/AudioEngine/Sinks/test test/audioengine_sinks | ||
diff --git a/project/cmake/treedata/common/video.txt b/project/cmake/treedata/common/video.txt deleted file mode 100644 index e7855a0..0000000 --- a/project/cmake/treedata/common/video.txt +++ /dev/null | |||
| @@ -1,5 +0,0 @@ | |||
| 1 | xbmc/video video | ||
| 2 | xbmc/video/dialogs video/dialogs | ||
| 3 | xbmc/video/jobs video/jobs | ||
| 4 | xbmc/video/videosync video/sync | ||
| 5 | xbmc/video/windows video/windows | ||
diff --git a/project/cmake/treedata/common/videoplayer.txt b/project/cmake/treedata/common/videoplayer.txt deleted file mode 100644 index 8c8d45d..0000000 --- a/project/cmake/treedata/common/videoplayer.txt +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | xbmc/cores/VideoPlayer cores/VideoPlayer | ||
| 2 | xbmc/cores/VideoPlayer/DVDCodecs cores/VideoPlayer/codecs | ||
| 3 | xbmc/cores/VideoPlayer/DVDCodecs/Audio cores/VideoPlayer/codecs/audio | ||
| 4 | xbmc/cores/VideoPlayer/DVDCodecs/Overlay cores/VideoPlayer/codecs/overlay | ||
| 5 | xbmc/cores/VideoPlayer/DVDCodecs/Video cores/VideoPlayer/codecs/video | ||
| 6 | xbmc/cores/VideoPlayer/DVDDemuxers cores/VideoPlayer/demuxers | ||
| 7 | xbmc/cores/VideoPlayer/DVDInputStreams cores/VideoPlayer/inputstreams | ||
| 8 | xbmc/cores/VideoPlayer/DVDSubtitles cores/VideoPlayer/subtitles | ||
| 9 | xbmc/cores/VideoPlayer/Process cores/VideoPlayer/process | ||
| 10 | xbmc/cores/VideoPlayer/VideoRenderers cores/VideoPlayer/videorenderers | ||
| 11 | xbmc/cores/VideoPlayer/VideoRenderers/VideoShaders cores/VideoPlayer/videorenderers/shaders | ||
| 12 | xbmc/cores/VideoPlayer/VideoRenderers/HwDecRender cores/VideoPlayer/videorenderers/hwdec | ||
diff --git a/project/cmake/treedata/freebsd/subdirs.txt b/project/cmake/treedata/freebsd/subdirs.txt deleted file mode 100644 index df2fa76..0000000 --- a/project/cmake/treedata/freebsd/subdirs.txt +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | xbmc/linux linuxsupport | ||
| 2 | xbmc/linux/sse4 sse4 | ||
| 3 | xbmc/input/linux input/linux | ||
| 4 | xbmc/input/touch input/touch | ||
| 5 | xbmc/input/touch/generic input/touch/generic | ||
| 6 | xbmc/network/linux network/linux | ||
| 7 | xbmc/peripherals/bus/linux peripherals/bus/linux | ||
| 8 | xbmc/powermanagement/linux powermanagement/linux | ||
| 9 | xbmc/storage/linux storage/linux | ||
| 10 | xbmc/filesystem/posix filesystem/posix | ||
| 11 | xbmc/utils/posix utils_posix | ||
| 12 | xbmc/platform/posix posix | ||
| 13 | xbmc/freebsd freebsdsupport | ||
diff --git a/project/cmake/treedata/ios/subdirs.txt b/project/cmake/treedata/ios/subdirs.txt deleted file mode 100644 index b681ed5..0000000 --- a/project/cmake/treedata/ios/subdirs.txt +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | xbmc/linux linuxsupport | ||
| 2 | xbmc/input/touch input/touch | ||
| 3 | xbmc/input/touch/generic input/touch/generic | ||
| 4 | xbmc/network/linux network/linux | ||
| 5 | xbmc/network/osx network/osx | ||
| 6 | xbmc/peripherals/bus/osx peripherals/bus/osx | ||
| 7 | xbmc/powermanagement/osx powermanagement/osx | ||
| 8 | xbmc/storage/osx storage/osx | ||
| 9 | xbmc/platform/posix posix | ||
| 10 | xbmc/platform/darwin platform_darwin | ||
| 11 | xbmc/platform/darwin/ios platform_ios | ||
| 12 | xbmc/platform/darwin/ios-common platform_ios-common | ||
| 13 | xbmc/filesystem/posix filesystem/posix | ||
| 14 | xbmc/utils/posix utils_posix | ||
| 15 | xbmc/windowing/osx windowing/osx | ||
diff --git a/project/cmake/treedata/linux/subdirs.txt b/project/cmake/treedata/linux/subdirs.txt deleted file mode 100644 index 2dc8045..0000000 --- a/project/cmake/treedata/linux/subdirs.txt +++ /dev/null | |||
| @@ -1,13 +0,0 @@ | |||
| 1 | xbmc/linux linuxsupport | ||
| 2 | xbmc/linux/sse4 sse4 | ||
| 3 | xbmc/input/linux input/linux | ||
| 4 | xbmc/input/touch input/touch | ||
| 5 | xbmc/input/touch/generic input/touch/generic | ||
| 6 | xbmc/network/linux network/linux | ||
| 7 | xbmc/peripherals/bus/linux peripherals/bus/linux | ||
| 8 | xbmc/powermanagement/linux powermanagement/linux | ||
| 9 | xbmc/storage/linux storage/linux | ||
| 10 | xbmc/filesystem/posix filesystem/posix | ||
| 11 | xbmc/utils/posix utils_posix | ||
| 12 | xbmc/windowing/egl windowing/egl | ||
| 13 | xbmc/platform/posix posix | ||
diff --git a/project/cmake/treedata/optional/common/X11.txt b/project/cmake/treedata/optional/common/X11.txt deleted file mode 100644 index f4afa57..0000000 --- a/project/cmake/treedata/optional/common/X11.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | xbmc/windowing/X11 windowing/X11 # X11 | ||
diff --git a/project/cmake/treedata/optional/common/cdrip.txt b/project/cmake/treedata/optional/common/cdrip.txt deleted file mode 100644 index 79b5390..0000000 --- a/project/cmake/treedata/optional/common/cdrip.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | xbmc/cdrip cdrip # OPTICAL | ||
diff --git a/project/cmake/treedata/optional/common/dacp.txt b/project/cmake/treedata/optional/common/dacp.txt deleted file mode 100644 index fd225c2..0000000 --- a/project/cmake/treedata/optional/common/dacp.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | xbmc/network/dacp network/dacp # AIRTUNES | ||
diff --git a/project/cmake/treedata/optional/common/mir.txt b/project/cmake/treedata/optional/common/mir.txt deleted file mode 100644 index d681e8b..0000000 --- a/project/cmake/treedata/optional/common/mir.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | xbmc/windowing/mir windowing/mir # MIR | ||
diff --git a/project/cmake/treedata/optional/common/nonfree.txt b/project/cmake/treedata/optional/common/nonfree.txt deleted file mode 100644 index 470ed59..0000000 --- a/project/cmake/treedata/optional/common/nonfree.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | lib/UnrarXLib unrarxlib # NONFREE | ||
diff --git a/project/cmake/treedata/optional/common/opengl.txt b/project/cmake/treedata/optional/common/opengl.txt deleted file mode 100644 index b88ad7a..0000000 --- a/project/cmake/treedata/optional/common/opengl.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | xbmc/rendering/gl rendering/gl # OPENGL | ||
diff --git a/project/cmake/treedata/optional/common/opengles.txt b/project/cmake/treedata/optional/common/opengles.txt deleted file mode 100644 index 6a223a1..0000000 --- a/project/cmake/treedata/optional/common/opengles.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | xbmc/rendering/gles rendering/gles # OPENGLES | ||
diff --git a/project/cmake/treedata/optional/common/upnp.txt b/project/cmake/treedata/optional/common/upnp.txt deleted file mode 100644 index 5589b80..0000000 --- a/project/cmake/treedata/optional/common/upnp.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | lib/libUPnP upnp # UPNP | ||
| 2 | xbmc/network/upnp network/upnp # UPNP | ||
diff --git a/project/cmake/treedata/optional/common/webserver.txt b/project/cmake/treedata/optional/common/webserver.txt deleted file mode 100644 index b492006..0000000 --- a/project/cmake/treedata/optional/common/webserver.txt +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | xbmc/network/httprequesthandler network/httprequesthandler # MICROHTTPD | ||
| 2 | xbmc/network/httprequesthandler/python network/httprequesthandler/python # MICROHTTPD | ||
diff --git a/project/cmake/treedata/osx/subdirs.txt b/project/cmake/treedata/osx/subdirs.txt deleted file mode 100644 index f0fc5c5..0000000 --- a/project/cmake/treedata/osx/subdirs.txt +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | xbmc/linux linuxsupport | ||
| 2 | xbmc/network/linux network/linux | ||
| 3 | xbmc/network/osx network/osx | ||
| 4 | xbmc/peripherals/bus/osx peripherals/bus/osx | ||
| 5 | xbmc/powermanagement/osx powermanagement/osx | ||
| 6 | xbmc/storage/osx storage/osx | ||
| 7 | xbmc/platform/posix posix | ||
| 8 | xbmc/platform/darwin platform_darwin | ||
| 9 | xbmc/platform/darwin/osx platform_osx | ||
| 10 | xbmc/filesystem/posix filesystem/posix | ||
| 11 | xbmc/utils/posix utils_posix | ||
| 12 | xbmc/windowing/osx windowing/osx | ||
diff --git a/project/cmake/treedata/rbpi/omxplayer.txt b/project/cmake/treedata/rbpi/omxplayer.txt deleted file mode 100644 index d56f1df..0000000 --- a/project/cmake/treedata/rbpi/omxplayer.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | xbmc/cores/omxplayer cores/omxplayer | ||
diff --git a/project/cmake/treedata/rbpi/subdirs.txt b/project/cmake/treedata/rbpi/subdirs.txt deleted file mode 100644 index 866ec00..0000000 --- a/project/cmake/treedata/rbpi/subdirs.txt +++ /dev/null | |||
| @@ -1,12 +0,0 @@ | |||
| 1 | xbmc/linux linuxsupport | ||
| 2 | xbmc/input/linux input/linux | ||
| 3 | xbmc/input/touch input/touch | ||
| 4 | xbmc/input/touch/generic input/touch/generic | ||
| 5 | xbmc/network/linux network/linux | ||
| 6 | xbmc/peripherals/bus/linux peripherals/bus/linux | ||
| 7 | xbmc/powermanagement/linux powermanagement/linux | ||
| 8 | xbmc/storage/linux storage/linux | ||
| 9 | xbmc/filesystem/posix filesystem/posix | ||
| 10 | xbmc/utils/posix utils_posix | ||
| 11 | xbmc/platform/posix posix | ||
| 12 | xbmc/windowing/egl windowing/egl # EGL | ||
diff --git a/project/cmake/treedata/windows/externals.txt b/project/cmake/treedata/windows/externals.txt deleted file mode 100644 index 989677e..0000000 --- a/project/cmake/treedata/windows/externals.txt +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | lib/win32/Effects11 Effects11 | ||
diff --git a/project/cmake/treedata/windows/subdirs.txt b/project/cmake/treedata/windows/subdirs.txt deleted file mode 100644 index e52d2f6..0000000 --- a/project/cmake/treedata/windows/subdirs.txt +++ /dev/null | |||
| @@ -1,14 +0,0 @@ | |||
| 1 | xbmc/platform/win32 platform_win32 | ||
| 2 | xbmc/input/windows input/windows | ||
| 3 | xbmc/input/touch input/touch | ||
| 4 | xbmc/input/touch/generic input/touch/generic | ||
| 5 | xbmc/network/windows network/windows | ||
| 6 | xbmc/network/mdns network/mdns | ||
| 7 | xbmc/peripherals/bus/win32 peripherals/bus/win32 | ||
| 8 | xbmc/powermanagement/windows powermanagement/windows | ||
| 9 | xbmc/storage/windows storage/windows | ||
| 10 | xbmc/filesystem/win32 filesystem/win32 | ||
| 11 | xbmc/utils/win32 utils_win32 | ||
| 12 | xbmc/rendering/dx rendering_dx | ||
| 13 | xbmc/threads/platform/win threads_win | ||
| 14 | xbmc/windowing/windows windowing/windows | ||
