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}")
15 set(LIBDVD_TARGET_DIR .)
16 if(CORE_SYSTEM_NAME STREQUAL windowsstore)
17 set(LIBDVD_TARGET_DIR dlls)
19 copy_file_to_buildtree(${DEPENDS_PATH}/bin/libdvdnav.dll DIRECTORY ${LIBDVD_TARGET_DIR})
20 add_dependencies(export-files LibDvdNav::LibDvdNav)
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})
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)