diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake index 1f96afd..bd0b618 100644 --- a/ConfigureChecks.cmake +++ b/ConfigureChecks.cmake @@ -29,3 +29,49 @@ endif( ) #### check for headers check_include_file( "sys/sysmacros.h" HAVE_SYS_SYSMACROS_H ) + +#### check for libdvdread, libdvdnav and libdvdcss + +macro( tqt_message ) + message( STATUS "${ARGN}" ) +endmacro( ) + +set(_dvdlibs dvdread dvdnav) +set(_handlevars LIBDVD_INCLUDE_DIRS DVDREAD_LIBRARY DVDNAV_LIBRARY) + +if(WITH_ALL_OPTIONS) + set(WITH_DVDCSS "ON") +endif() + +if(WITH_DVDCSS) + list(APPEND _dvdlibs libdvdcss) + list(APPEND _handlevars DVDCSS_LIBRARY LIBDVDCSS_INCLUDE_DIRS ) +endif() + +if(PKG_CONFIG_FOUND) + pkg_check_modules(PC_DVD ${_dvdlibs} QUIET) +endif() + +find_path(LIBDVD_INCLUDE_DIRS dvdnav/dvdnav.h PATHS ${PC_DVD_INCLUDE_DIRS}) +find_library(DVDREAD_LIBRARY NAMES dvdread libdvdread PATHS ${PC_DVD_dvdread_LIBDIR}) +find_library(DVDNAV_LIBRARY NAMES dvdnav libdvdnav PATHS ${PC_DVD_dvdnav_LIBDIR}) + +if(WITH_DVDCSS) + find_path(LIBDVDCSS_INCLUDE_DIRS dvdcss/dvdcss.h PATHS ${PC_DVD_INCLUDE_DIRS}) + find_library(DVDCSS_LIBRARY NAMES dvdcss libdvdcss PATHS ${PC_DVD_libdvdcss_LIBDIR}) +endif() + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(LibDvd REQUIRED_VARS ${_handlevars}) +if(LIBDVD_FOUND) + list(APPEND LIBDVD_LIBRARIES ${DVDREAD_LIBRARY}) + list(APPEND LIBDVD_LIBRARIES ${DVDNAV_LIBRARY}) + if(WITH_DVDCSS) + list(APPEND LIBDVD_LIBRARIES ${DVDCSS_LIBRARY}) + endif() + foreach(_dvd_lib ${LIBDVD_LIBRARIES}) + tqt_message( " ${_dvd_lib}" ) + endforeach() +else() + tde_message_fatal( " DVD libraries not found" ) +endif()