- require libvlc version minimum 2.0.1

This commit is contained in:
Mark Vejvoda 2012-05-12 22:36:44 +00:00
parent 46395d1322
commit ede0a63def
2 changed files with 57 additions and 42 deletions

View File

@ -1,78 +1,92 @@
# CMake module to search for LIBVLC (VLC library) # CMake module to search for LIBVLC (VLC library)
# Author: Rohit Yadav <rohityadav89@gmail.com> # Authors: Rohit Yadav <rohityadav89@gmail.com>
# Harald Sitter <apachelogger@ubuntu.com>
# #
# If it's found it sets LIBVLC_FOUND to TRUE # If it's found it sets LIBVLC_FOUND to TRUE
# and following variables are set: # and following variables are set:
# LIBVLC_INCLUDE_DIR # LIBVLC_INCLUDE_DIR
# LIBVLC_LIBRARY # LIBVLC_LIBRARY
# LIBVLC_VERSION
if(NOT LIBVLC_MIN_VERSION)
set(LIBVLC_MIN_VERSION "0.0")
endif(NOT LIBVLC_MIN_VERSION)
# FIND_PATH and FIND_LIBRARY normally search standard locations # find_path and find_library normally search standard locations
# before the specified paths. To search non-standard paths first, # before the specified paths. To search non-standard paths first,
# FIND_* is invoked first with specified paths and NO_DEFAULT_PATH # FIND_* is invoked first with specified paths and NO_DEFAULT_PATH
# and then again with no specified paths to search the default # and then again with no specified paths to search the default
# locations. When an earlier FIND_* succeeds, subsequent FIND_*s # locations. When an earlier FIND_* succeeds, subsequent FIND_*s
# searching for the same item do nothing. # searching for the same item do nothing.
if (NOT WIN32)
find_package(PkgConfig)
pkg_check_modules(PC_LIBVLC libvlc)
set(LIBVLC_DEFINITIONS ${PC_LIBVLC_CFLAGS_OTHER})
endif (NOT WIN32)
#Put here path to custom location #Put here path to custom location
#example: /home/user/vlc/include etc.. #example: /home/user/vlc/include etc..
FIND_PATH(LIBVLC_INCLUDE_DIR vlc/vlc.h find_path(LIBVLC_INCLUDE_DIR vlc/vlc.h
HINTS "$ENV{LIBVLC_INCLUDE_PATH}" HINTS "$ENV{LIBVLC_INCLUDE_PATH}"
PATHS PATHS
#Mac OS and Contribs
"${CMAKE_CURRENT_SOURCE_DIR}/contribs/include"
"${CMAKE_CURRENT_SOURCE_DIR}/contribs/include/vlc"
# Env
"$ENV{LIB_DIR}/include" "$ENV{LIB_DIR}/include"
"$ENV{LIB_DIR}/include/vlc" "$ENV{LIB_DIR}/include/vlc"
#
"/usr/include" "/usr/include"
"/usr/include/vlc" "/usr/include/vlc"
"/usr/local/include" "/usr/local/include"
"/usr/local/include/vlc" "/usr/local/include/vlc"
#mingw #mingw
c:/msys/local/include c:/msys/local/include
) )
FIND_PATH(LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h) find_path(LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h
HINTS ${PC_LIBVLC_INCLUDEDIR} ${PC_LIBVLC_INCLUDE_DIRS})
#Put here path to custom location #Put here path to custom location
#example: /home/user/vlc/lib etc.. #example: /home/user/vlc/lib etc..
FIND_LIBRARY(LIBVLC_LIBRARY NAMES vlc libvlc find_library(LIBVLC_LIBRARY NAMES vlc libvlc
HINTS "$ENV{LIBVLC_LIBRARY_PATH}" HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS}
PATHS PATHS
"$ENV{LIB_DIR}/lib" "$ENV{LIB_DIR}/lib"
#Mac OS
"${CMAKE_CURRENT_SOURCE_DIR}/contribs/lib"
"${CMAKE_CURRENT_SOURCE_DIR}/contribs/plugins"
#mingw #mingw
c:/msys/local/lib c:/msys/local/lib
) )
FIND_LIBRARY(LIBVLC_LIBRARY NAMES vlc libvlc) find_library(LIBVLC_LIBRARY NAMES vlc libvlc)
FIND_LIBRARY(LIBVLCCORE_LIBRARY NAMES vlccore libvlccore find_library(LIBVLCCORE_LIBRARY NAMES vlccore libvlccore
HINTS "$ENV{LIBVLC_LIBRARY_PATH}" HINTS "$ENV{LIBVLC_LIBRARY_PATH}" ${PC_LIBVLC_LIBDIR} ${PC_LIBVLC_LIBRARY_DIRS}
PATHS PATHS
"$ENV{LIB_DIR}/lib" "$ENV{LIB_DIR}/lib"
#Mac OS
"${CMAKE_CURRENT_SOURCE_DIR}/contribs/lib"
"${CMAKE_CURRENT_SOURCE_DIR}/contribs/plugins"
#mingw #mingw
c:/msys/local/lib c:/msys/local/lib
) )
FIND_LIBRARY(LIBVLCCORE_LIBRARY NAMES vlccore libvlccore) find_library(LIBVLCCORE_LIBRARY NAMES vlccore libvlccore)
IF (LIBVLC_INCLUDE_DIR AND LIBVLC_LIBRARY AND LIBVLCCORE_LIBRARY) set(LIBVLC_VERSION ${PC_LIBVLC_VERSION})
SET(LIBVLC_FOUND TRUE) if (NOT LIBVLC_VERSION)
ENDIF (LIBVLC_INCLUDE_DIR AND LIBVLC_LIBRARY AND LIBVLCCORE_LIBRARY) # TODO: implement means to detect version on windows (vlc --version && regex? ... ultimately we would get it from a header though...)
endif (NOT LIBVLC_VERSION)
IF (LIBVLC_FOUND) if (LIBVLC_INCLUDE_DIR AND LIBVLC_LIBRARY AND LIBVLCCORE_LIBRARY)
IF (NOT LIBVLC_FIND_QUIETLY) set(LIBVLC_FOUND TRUE)
MESSAGE(STATUS "Found LibVLC include-dir path: ${LIBVLC_INCLUDE_DIR}") endif (LIBVLC_INCLUDE_DIR AND LIBVLC_LIBRARY AND LIBVLCCORE_LIBRARY)
MESSAGE(STATUS "Found LibVLC library path:${LIBVLC_LIBRARY}")
MESSAGE(STATUS "Found LibVLCcore library path:${LIBVLCCORE_LIBRARY}") if (LIBVLC_VERSION STRLESS "${LIBVLC_MIN_VERSION}")
ENDIF (NOT LIBVLC_FIND_QUIETLY) message(WARNING "LibVLC version not found: version searched: ${LIBVLC_MIN_VERSION}, found ${LIBVLC_VERSION}\nUnless you are on Windows this is bound to fail.")
ELSE (LIBVLC_FOUND) # TODO: only activate once version detection can be garunteed (which is currently not the case on windows)
IF (LIBVLC_FIND_REQUIRED) # set(LIBVLC_FOUND FALSE)
MESSAGE(FATAL_ERROR "Could not find LibVLC") endif (LIBVLC_VERSION STRLESS "${LIBVLC_MIN_VERSION}")
ENDIF (LIBVLC_FIND_REQUIRED)
ENDIF (LIBVLC_FOUND) if (LIBVLC_FOUND)
if (NOT LIBVLC_FIND_QUIETLY)
message(STATUS "Found LibVLC include-dir path: ${LIBVLC_INCLUDE_DIR}")
message(STATUS "Found LibVLC library path:${LIBVLC_LIBRARY}")
message(STATUS "Found LibVLCcore library path:${LIBVLCCORE_LIBRARY}")
message(STATUS "Found LibVLC version: ${LIBVLC_VERSION} (searched for: ${LIBVLC_MIN_VERSION})")
endif (NOT LIBVLC_FIND_QUIETLY)
else (LIBVLC_FOUND)
if (LIBVLC_FIND_REQUIRED)
message(FATAL_ERROR "Could not find LibVLC")
endif (LIBVLC_FIND_REQUIRED)
endif (LIBVLC_FOUND)

View File

@ -228,6 +228,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP_EDITOR OR BUILD_MEGAGLEST
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${GLEW_LIBRARY}) SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${GLEW_LIBRARY})
ENDIF() ENDIF()
SET(LIBVLC_MIN_VERSION "2.0.1")
FIND_PACKAGE(LIBVLC) FIND_PACKAGE(LIBVLC)
IF(LIBVLC_FOUND) IF(LIBVLC_FOUND)
MESSAGE(STATUS "**NOTE: LIBVLC found so intro videos are supported.") MESSAGE(STATUS "**NOTE: LIBVLC found so intro videos are supported.")