Merge pull request #23092 from webosbrew/feature/webOS
[xbmc.git] / cmake / modules / FindLibDvd.cmake
blob6853e8461895907c71c67e26aa580e075099d262
2 # Check for existing LIBDVDREAD.
3 # Suppress mismatch warning, see https://cmake.org/cmake/help/latest/module/FindPackageHandleStandardArgs.html
4 set(FPHSA_NAME_MISMATCHED 1)
5 find_package(LibDvdNav MODULE REQUIRED)
6 unset(FPHSA_NAME_MISMATCHED)
8 set(_dvdlibs ${LIBDVDREAD_LIBRARY} ${LIBDVDCSS_LIBRARY})
10 if(NOT CORE_SYSTEM_NAME MATCHES windows)
11   # link a shared dvdnav library that includes the whole archives of dvdread and dvdcss as well
12   # the quotes around _dvdlibs are on purpose, since we want to pass a list to the function that will be unpacked automatically
13   core_link_library(${LIBDVDNAV_LIBRARY} system/players/VideoPlayer/libdvdnav libdvdnav archives "${_dvdlibs}")
14 else()
15   set(LIBDVD_TARGET_DIR .)
16   if(CORE_SYSTEM_NAME STREQUAL windowsstore)
17     set(LIBDVD_TARGET_DIR dlls)
18   endif()
19   copy_file_to_buildtree(${DEPENDS_PATH}/bin/libdvdnav.dll DIRECTORY ${LIBDVD_TARGET_DIR})
20   add_dependencies(export-files LibDvdNav::LibDvdNav)
21 endif()
23 set(LIBDVD_INCLUDE_DIRS ${LIBDVDREAD_INCLUDE_DIR} ${LIBDVDNAV_INCLUDE_DIR})
24 set(LIBDVD_LIBRARIES ${LIBDVDNAV_LIBRARY} ${LIBDVDREAD_LIBRARY})
25 if(TARGET LibDvdCSS::LibDvdCSS)
26   list(APPEND LIBDVD_LIBRARIES ${LIBDVDCSS_LIBRARY})
27   list(APPEND LIBDVD_INCLUDE_DIRS ${LIBDVDCSS_INCLUDE_DIR})
28 endif()
29 set(LIBDVD_LIBRARIES ${LIBDVD_LIBRARIES} CACHE STRING "libdvd libraries" FORCE)
30 set(LIBDVD_FOUND 1 CACHE BOOL "libdvd found" FORCE)
32 mark_as_advanced(LIBDVD_INCLUDE_DIRS LIBDVD_LIBRARIES)