CDImageDevice: Implement disc reading for Linux

And fix it for Windows. SubQ reading should now work.
This commit is contained in:
Stenzek
2024-03-01 00:50:31 +10:00
parent b060edc61b
commit 9e26622a12
6 changed files with 803 additions and 165 deletions

View File

@ -7,6 +7,9 @@ if(NOT WIN32 AND NOT ANDROID)
find_package(WebP REQUIRED)
find_package(ZLIB REQUIRED)
endif()
if(LINUX AND NOT ANDROID)
find_package(UDEV REQUIRED)
endif()
if(UNIX AND NOT APPLE)
find_package(Libbacktrace)
if(NOT LIBBACKTRACE_FOUND)

View File

@ -0,0 +1,32 @@
# - Try to find UDEV
# Once done, this will define
#
# UDEV_FOUND - system has UDEV
# UDEV_INCLUDE_DIRS - the UDEV include directories
# UDEV_LIBRARIES - the UDEV library
find_package(PkgConfig)
pkg_check_modules(UDEV_PKGCONF libudev)
find_path(UDEV_INCLUDE_DIRS
NAMES libudev.h
PATHS ${UDEV_PKGCONF_INCLUDE_DIRS}
)
find_library(UDEV_LIBRARIES
NAMES udev
PATHS ${UDEV_PKGCONF_LIBRARY_DIRS}
)
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(UDEV DEFAULT_MSG UDEV_INCLUDE_DIRS UDEV_LIBRARIES)
mark_as_advanced(UDEV_INCLUDE_DIRS UDEV_LIBRARIES)
if(UDEV_FOUND AND NOT (TARGET UDEV::UDEV))
add_library (UDEV::UDEV UNKNOWN IMPORTED)
set_target_properties(UDEV::UDEV
PROPERTIES
IMPORTED_LOCATION ${UDEV_LIBRARIES}
INTERFACE_INCLUDE_DIRECTORIES ${UDEV_INCLUDE_DIRS})
endif()