2014-09-29 23:22:39 +02:00
# CMake module to search for LIBVLC (VLC library)
# Authors: Rohit Yadav <rohityadav89@gmail.com>
# Harald Sitter <apachelogger@ubuntu.com>
#
# If it's found it sets LIBVLC_FOUND to TRUE
# and following variables are set:
# LIBVLC_INCLUDE_DIR
# LIBVLC_LIBRARY
# LIBVLC_VERSION
if ( NOT LIBVLC_MIN_VERSION )
2014-10-18 20:02:27 +02:00
set ( LIBVLC_MIN_VERSION "2.1" )
2014-09-29 23:22:39 +02:00
endif ( NOT LIBVLC_MIN_VERSION )
# find_path and find_library normally search standard locations
# before the specified paths. To search non-standard paths first,
# FIND_* is invoked first with specified paths and NO_DEFAULT_PATH
# and then again with no specified paths to search the default
# locations. When an earlier FIND_* succeeds, subsequent FIND_*s
# 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
#example: /home/user/vlc/include etc..
find_path ( LIBVLC_INCLUDE_DIR vlc/vlc.h
H I N T S " $ E N V { L I B V L C _ I N C L U D E _ P A T H } "
P A T H S
" $ E N V { L I B _ D I R } / i n c l u d e "
" $ E N V { L I B _ D I R } / i n c l u d e / v l c "
" / u s r / i n c l u d e "
" / u s r / i n c l u d e / v l c "
" / u s r / l o c a l / i n c l u d e "
" / u s r / l o c a l / i n c l u d e / v l c "
#mingw
c : / m s y s / l o c a l / i n c l u d e
)
find_path ( LIBVLC_INCLUDE_DIR PATHS "${CMAKE_INCLUDE_PATH}/vlc" NAMES vlc.h
H I N T S $ { P C _ L I B V L C _ I N C L U D E D I R } $ { P C _ L I B V L C _ I N C L U D E _ D I R S } )
2014-10-18 20:02:27 +02:00
find_path ( LIBVLCCORE_INCLUDE_DIR vlc_plugin.h
P A T H S
" $ E N V { L I B _ D I R } / i n c l u d e / v l c / p l u g i n s "
" / u s r / i n c l u d e / v l c / p l u g i n s "
" / u s r / l o c a l / i n c l u d e / v l c / p l u g i n s "
#mingw
c : / m s y s / l o c a l / i n c l u d e / v l c / p l u g i n s
)
2014-09-29 23:22:39 +02:00
#Put here path to custom location
#example: /home/user/vlc/lib etc..
find_library ( LIBVLC_LIBRARY NAMES vlc libvlc
H I N T S " $ E N V { L I B V L C _ L I B R A R Y _ P A T H } " $ { P C _ L I B V L C _ L I B D I R } $ { P C _ L I B V L C _ L I B R A R Y _ D I R S }
P A T H S
" $ E N V { L I B _ D I R } / l i b "
#mingw
c : / m s y s / l o c a l / l i b
)
find_library ( LIBVLC_LIBRARY NAMES vlc libvlc )
find_library ( LIBVLCCORE_LIBRARY NAMES vlccore libvlccore
H I N T S " $ E N V { L I B V L C _ L I B R A R Y _ P A T H } " $ { P C _ L I B V L C _ L I B D I R } $ { P C _ L I B V L C _ L I B R A R Y _ D I R S }
P A T H S
" $ E N V { L I B _ D I R } / l i b "
#mingw
c : / m s y s / l o c a l / l i b
)
find_library ( LIBVLCCORE_LIBRARY NAMES vlccore libvlccore )
set ( LIBVLC_VERSION ${ PC_LIBVLC_VERSION } )
if ( NOT LIBVLC_VERSION )
# 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_INCLUDE_DIR AND LIBVLC_LIBRARY AND LIBVLCCORE_LIBRARY )
set ( LIBVLC_FOUND TRUE )
endif ( LIBVLC_INCLUDE_DIR AND LIBVLC_LIBRARY AND LIBVLCCORE_LIBRARY )
if ( LIBVLC_VERSION STRLESS "${LIBVLC_MIN_VERSION}" )
message ( WARNING "LibVLC version not found: version searched: ${LIBVLC_MIN_VERSION}, found ${LIBVLC_VERSION}\nUnless you are on Windows this is bound to fail." )
# TODO: only activate once version detection can be garunteed (which is currently not the case on windows)
# set(LIBVLC_FOUND FALSE)
endif ( LIBVLC_VERSION STRLESS "${LIBVLC_MIN_VERSION}" )
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 )