Warning, /multimedia/elisa/cmake/FindLIBVLC.cmake is written in an unsupported language. File is not indexed.
0001 # CMake module to search for LIBVLC (VLC library) 0002 # 0003 # SPDX-FileCopyrightText: 2010 (c) Rohit Yadav <rohityadav89@gmail.com> 0004 # SPDX-FileCopyrightText: 2011 (c) Harald Sitter <sitter@kde.org> 0005 # 0006 # SPDX-License-Identifier: BSD-3-Clause 0007 # 0008 # Redistribution and use is allowed according to the terms of the BSD license. 0009 # For details see the accompanying COPYING-CMAKE-SCRIPTS file. 0010 # 0011 # If it's found it sets LIBVLC_FOUND to TRUE 0012 # and following variables are set: 0013 # LIBVLC_INCLUDE_DIR 0014 # LIBVLC_LIBRARY 0015 # LIBVLC_VERSION 0016 0017 set(LIBVLC_INCLUDE_DIR LIBVLC_INCLUDE_DIR-NOTFOUND) 0018 set(LIBVLC_LIBRARY LIBVLC_LIBRARY-NOTFOUND) 0019 set(LIBVLCCORE_LIBRARY LIBVLCCORE_LIBRARY-NOTFOUND) 0020 0021 if(NOT LIBVLC_MIN_VERSION) 0022 set(LIBVLC_MIN_VERSION "0.0") 0023 endif(NOT LIBVLC_MIN_VERSION) 0024 0025 # find_path and find_library normally search standard locations 0026 # before the specified paths. To search non-standard paths first, 0027 # FIND_* is invoked first with specified paths and NO_DEFAULT_PATH 0028 # and then again with no specified paths to search the default 0029 # locations. When an earlier FIND_* succeeds, subsequent FIND_*s 0030 # searching for the same item do nothing. 0031 0032 if (NOT WIN32) 0033 find_package(PkgConfig) 0034 pkg_check_modules(PC_LIBVLC libvlc) 0035 set(LIBVLC_DEFINITIONS ${PC_LIBVLC_CFLAGS_OTHER}) 0036 endif (NOT WIN32) 0037 0038 #Put here path to custom location 0039 #example: /home/user/vlc/include etc.. 0040 find_path(LIBVLC_INCLUDE_DIR vlc/vlc.h 0041 HINTS "$ENV{LIBVLC_INCLUDE_PATH}" ${PC_LIBVLC_INCLUDEDIR} ${PC_LIBVLC_INCLUDE_DIRS} 0042 PATHS 0043 "$ENV{LIB_DIR}/include" 0044 "$ENV{LIB_DIR}/include/vlc" 0045 "/usr/include" 0046 "/usr/include/vlc" 0047 "/usr/local/include" 0048 "/usr/local/include/vlc" 0049 #mingw 0050 c:/msys/local/include 0051 ) 0052 find_path(LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h 0053 HINTS ${PC_LIBVLC_INCLUDEDIR} ${PC_LIBVLC_INCLUDE_DIRS}) 0054 0055 #Put here path to custom location 0056 #example: /home/user/vlc/lib etc.. 0057 find_library(LIBVLC_LIBRARY NAMES vlc libvlc 0058 HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS} 0059 PATHS 0060 "$ENV{LIB_DIR}/lib" 0061 #mingw 0062 c:/msys/local/lib 0063 ) 0064 find_library(LIBVLC_LIBRARY NAMES vlc libvlc) 0065 find_library(LIBVLCCORE_LIBRARY NAMES vlccore libvlccore 0066 HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS} 0067 PATHS 0068 "$ENV{LIB_DIR}/lib" 0069 #mingw 0070 c:/msys/local/lib 0071 ) 0072 find_library(LIBVLCCORE_LIBRARY NAMES vlccore libvlccore) 0073 0074 set(LIBVLC_VERSION ${PC_LIBVLC_VERSION}) 0075 if (LIBVLC_INCLUDE_DIR AND NOT LIBVLC_VERSION) 0076 file(READ "${LIBVLC_INCLUDE_DIR}/vlc/libvlc_version.h" _libvlc_version_h) 0077 0078 string(REGEX MATCH "# define LIBVLC_VERSION_MAJOR +\\(([0-9])\\)" _dummy "${_libvlc_version_h}") 0079 set(_version_major "${CMAKE_MATCH_1}") 0080 0081 string(REGEX MATCH "# define LIBVLC_VERSION_MINOR +\\(([0-9])\\)" _dummy "${_libvlc_version_h}") 0082 set(_version_minor "${CMAKE_MATCH_1}") 0083 0084 string(REGEX MATCH "# define LIBVLC_VERSION_REVISION +\\(([0-9])\\)" _dummy "${_libvlc_version_h}") 0085 set(_version_revision "${CMAKE_MATCH_1}") 0086 0087 # Optionally, one could also parse LIBVLC_VERSION_EXTRA, but it does not 0088 # seem to be used by libvlc.pc. 0089 0090 set(LIBVLC_VERSION "${_version_major}.${_version_minor}.${_version_revision}") 0091 endif (LIBVLC_INCLUDE_DIR AND NOT LIBVLC_VERSION) 0092 0093 if (LIBVLC_INCLUDE_DIR AND LIBVLC_LIBRARY AND LIBVLCCORE_LIBRARY) 0094 set(LIBVLC_FOUND TRUE) 0095 endif (LIBVLC_INCLUDE_DIR AND LIBVLC_LIBRARY AND LIBVLCCORE_LIBRARY) 0096 0097 if (LIBVLC_VERSION VERSION_LESS "${LIBVLC_MIN_VERSION}") 0098 message(WARNING "LibVLC version not found: version searched: ${LIBVLC_MIN_VERSION}, found ${LIBVLC_VERSION}\nUnless you are on Windows this is bound to fail.") 0099 # TODO: only activate once version detection can be garunteed (which is currently not the case on windows) 0100 # set(LIBVLC_FOUND FALSE) 0101 endif (LIBVLC_VERSION VERSION_LESS "${LIBVLC_MIN_VERSION}") 0102 0103 if (LIBVLC_FOUND) 0104 if (NOT LIBVLC_FIND_QUIETLY) 0105 message(STATUS "Found LibVLC include-dir path: ${LIBVLC_INCLUDE_DIR}") 0106 message(STATUS "Found LibVLC library path:${LIBVLC_LIBRARY}") 0107 message(STATUS "Found LibVLCcore library path:${LIBVLCCORE_LIBRARY}") 0108 message(STATUS "Found LibVLC version: ${LIBVLC_VERSION} (searched for: ${LIBVLC_MIN_VERSION})") 0109 endif (NOT LIBVLC_FIND_QUIETLY) 0110 else (LIBVLC_FOUND) 0111 if (LIBVLC_FIND_REQUIRED) 0112 message(FATAL_ERROR "Could not find LibVLC") 0113 endif (LIBVLC_FIND_REQUIRED) 0114 endif (LIBVLC_FOUND)