Backport of pre-connect Hyper-V code
[freerdp-ubuntu-pcb-backport.git] / cmake / FindFFmpeg.cmake
1 # - Try to find FFmpeg
2 # Using Pkg-config if available for path
3 #
4 #  FFMPEG_FOUND        - all required ffmpeg components found on system
5 #  FFMPEG_INCLUDE_DIRS  - combined include directories
6 #  FFMPEG_LIBRARIES    - combined libraries to link
7
8 include(FindPkgConfig)
9
10 if (PKG_CONFIG_FOUND)
11         pkg_check_modules(AVCODEC libavcodec)
12         pkg_check_modules(AVUTIL libavutil)
13 endif ( PKG_CONFIG_FOUND )
14
15 # avcodec
16 find_path(AVCODEC_INCLUDE_DIR avcodec.h PATHS ${AVCODEC_INCLUDE_DIRS}
17           PATH_SUFFIXES libavcodec )
18 find_library(AVCODEC_LIBRARY avcodec PATHS ${AVCODEC_LIBRARY_DIRS})
19
20 # avutil
21 find_path(AVUTIL_INCLUDE_DIR avutil.h PATHS ${AVUTIL_INCLUDE_DIRS}
22           PATH_SUFFIXES libavutil )
23 find_library(AVUTIL_LIBRARY avutil PATHS ${AVUTIL_LIBRARY_DIRS})
24
25 if(AVCODEC_INCLUDE_DIR AND AVCODEC_LIBRARY)
26         set(AVCODEC_FOUND TRUE)
27 endif()
28
29 if(AVUTIL_INCLUDE_DIR AND AVUTIL_LIBRARY)
30         set(AVUTIL_FOUND TRUE)
31 endif()
32
33
34 FIND_PACKAGE_HANDLE_STANDARD_ARGS(FFmpeg DEFAULT_MSG AVUTIL_FOUND AVCODEC_FOUND)
35
36 if(FFMPEG_FOUND)
37         set(FFMPEG_INCLUDE_DIRS ${AVCODEC_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR})
38         set(FFMPEG_LIBRARIES ${AVCODEC_LIBRARY} ${AVUTIL_LIBRARY})
39 endif()
40
41 mark_as_advanced(FFMPEG_INCLUDE_DIRS FFMPEG_LIBRARYS)