Warning, /multimedia/kaffeine/cmake/modules/FindVLC.cmake is written in an unsupported language. File is not indexed.

0001 ###############################################################################
0002 # CMake module to search for the vlc libraries.
0003 #
0004 # WARNING: This module is experimental work in progress.
0005 #
0006 # This module defines:
0007 #  VLC_INCLUDE_DIRS        = include dirs to be used when using the vlc library.
0008 #  VLC_LIBRARY_DIRS        = directories where the libraries are located.
0009 #  VLC_LIBRARY             = full path to the vlc library.
0010 #  VLC_CORE_LIBRARY        = full path to the vlccore library.
0011 #  VLC_VERSION      = the vlc version found
0012 #       VLC_VERSION_MAJOR
0013 #       VLC_VERSION_MINOR
0014 #       VLC_VERSION_PATCH
0015 #       VLC_VERSION_EXTRA
0016 #  VLC_FOUND               = true if vlc was found.
0017 #
0018 # This module respects:
0019 #  LIB_SUFFIX         = (64|32|"") Specifies the suffix for the lib directory
0020 #
0021 # Copyright (c) 2011 Michael Jansen <info@michael-jansen.biz>
0022 #
0023 # Redistribution and use is allowed according to the terms of the BSD license.
0024 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
0025 #
0026 ###############################################################################
0027 
0028 #
0029 ### Global Configuration Section
0030 #
0031 SET(_VLC_REQUIRED_VARS VLC_INCLUDE_DIR VLC_LIBRARY)
0032 ## FIXME
0033 # SET(_VLC_REQUIRED_VARS VLC_INCLUDE_DIR VLC_LIBRARY VLC_VERSION_MAJOR VLC_VERSION_MINOR)
0034 
0035 #
0036 ### VLC uses pkgconfig.
0037 #
0038 find_package(PkgConfig)
0039 if(PKG_CONFIG_FOUND)
0040     pkg_check_modules(PC_VLC QUIET libvlc)
0041 endif(PKG_CONFIG_FOUND)
0042 
0043 #
0044 ### Look for the include files.
0045 #
0046 find_path(
0047     VLC_INCLUDE_DIR
0048     NAMES vlc/vlc.h
0049     HINTS
0050         ${PC_VLC_INCLUDEDIR}
0051         ${PC_VLC_INCLUDE_DIRS} # Unused for vlc but anyway
0052     DOC "VLC include directory"
0053     )
0054 mark_as_advanced(VLC_INCLUDE_DIR)
0055 set(VLC_INCLUDE_DIRS ${VLC_INCLUDE_DIR})
0056 
0057 #
0058 ### Look for the libraries (vlc and vlcsore)
0059 #
0060 find_library(
0061     VLC_LIBRARY
0062     NAMES vlc
0063     HINTS
0064         ${PC_VLC_LIBDIR}
0065         ${PC_VLC_LIBRARY_DIRS} # Unused for vlc but anyway
0066     PATH_SUFFIXES lib${LIB_SUFFIX}
0067     )
0068 get_filename_component(_VLC_LIBRARY_DIR ${VLC_LIBRARY} PATH)
0069 mark_as_advanced(VLC_LIBRARY )
0070 
0071 find_library(
0072     VLC_CORE_LIBRARY
0073     NAMES vlccore
0074     HINTS
0075         ${PC_VLC_LIBDIR}
0076         ${PC_VLC_LIBRARY_DIRS}
0077     PATH_SUFFIXES lib${LIB_SUFFIX}
0078     )
0079 get_filename_component(_VLC_CORE_LIBRARY_DIR ${VLC_CORE_LIBRARY} PATH)
0080 mark_as_advanced(VLC_CORE_LIBRARY )
0081 
0082 set(VLC_LIBRARY_DIRS _VLC_CORE_LIBRARY_DIR _VLC_LIBRARY_DIR)
0083 list(REMOVE_DUPLICATES VLC_LIBRARY_DIRS)
0084 mark_as_advanced(VLC_LIBRARY_DIRS)
0085 
0086 #
0087 ### Now parse the version
0088 #
0089 if(VLC_INCLUDE_DIR)
0090     if(EXISTS "${VLC_INCLUDE_DIR}/vlc/libvlc_version.h" )
0091         file( STRINGS "${VLC_INCLUDE_DIR}/vlc/libvlc_version.h" VLC_INFO_H REGEX "^# *define LIBVLC_VERSION_.*\\([0-9]+\\).*$")
0092         string(REGEX REPLACE ".*LIBVLC_VERSION_MAJOR +\\(([0-9]+)\\).*" "\\1"    VLC_VERSION_MAJOR "${VLC_INFO_H}")
0093         string(REGEX REPLACE ".*LIBVLC_VERSION_MINOR +\\(([0-9]+)\\).*" "\\1"    VLC_VERSION_MINOR "${VLC_INFO_H}")
0094         string(REGEX REPLACE ".*LIBVLC_VERSION_REVISION +\\(([0-9]+)\\).*" "\\1" VLC_VERSION_PATCH "${VLC_INFO_H}")
0095         string(REGEX REPLACE ".*LIBVLC_VERSION_EXTRA +\\(([0-9]+)\\).*" "\\1" VLC_VERSION_EXTRA "${VLC_INFO_H}")
0096         set(VLC_VERSION "${VLC_VERSION_MAJOR}.${VLC_VERSION_MINOR}.${VLC_VERSION_PATCH}.${VLC_VERSION_EXTRA}")
0097         mark_as_advanced(
0098             VLC_VERSION_MAJOR
0099             VLC_VERSION_MINOR
0100             VLC_VERSION_PATCH
0101             VLC_VERSION_EXTRA
0102             VLC_VERSION)
0103     else()
0104         message(FATAL_ERROR "Could not find ${VLC_INCLUDE_DIR}/vlc/libvlc_version.h")
0105     endif()
0106 endif()
0107 
0108 #
0109 ### Check if everything was found and if the version is sufficient.
0110 #
0111 include(FindPackageHandleStandardArgs)
0112 find_package_handle_standard_args(
0113     VLC
0114     REQUIRED_VARS ${_VLC_REQUIRED_VARS}
0115     VERSION_VAR VLC_VERSION
0116     )
0117