2
if(NOT(${ARGC} EQUAL 3))
3
message(FATAL_ERROR "find_ffmpeg_lib requires exactly 3 arguments")
10
find_library(${__name}_LIBRARY ${__lib})
11
find_path(${__name}_INCLUDE_DIR ${__header}
12
HINTS /usr/include/ffmpeg)
13
set(FPHSA_NAME_MISMATCHED 1)
14
find_package_handle_standard_args(${__name}
15
FOUND_VAR ${__name}_FOUND
16
REQUIRED_VARS ${__name}_INCLUDE_DIR ${__name}_LIBRARY
17
FAIL_MESSAGE "Failed to find ${__name}")
18
unset(FPHSA_NAME_MISMATCHED)
20
set(${__name}_INCLUDE_DIRS ${${__name}_INCLUDE_DIR})
21
set(${__name}_LIBRARIES ${${__name}_LIBRARY})
23
list(APPEND FFMPEG_INCLUDE_DIRS ${${__name}_INCLUDE_DIR})
24
list(REMOVE_DUPLICATES FFMPEG_INCLUDE_DIRS)
25
list(APPEND FFMPEG_LIBRARIES ${${__name}_LIBRARY})
26
list(REMOVE_DUPLICATES FFMPEG_LIBRARIES)
28
if(NOT TARGET FFMPEG::${__name})
29
add_library(FFMPEG::${__name} UNKNOWN IMPORTED)
30
set_target_properties(FFMPEG::${__name} PROPERTIES
31
INTERFACE_INCLUDE_DIRECTORIES "${${__name}_INCLUDE_DIR}"
32
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
33
IMPORTED_LOCATION "${${__name}_LIBRARY}")
36
mark_as_advanced(${__name}_INCLUDE_DIR ${__name}_LIBRARY ${__name}_INCLUDE_DIRS ${__name}_LIBRARIES)
39
include(FindPackageHandleStandardArgs)
40
if(FFMPEG_FIND_COMPONENTS)
41
foreach(component ${FFMPEG_FIND_COMPONENTS})
42
string(TOUPPER ${component} _COMPONENT)
43
set(FFMPEG_USE_${_COMPONENT} 1)
47
set(FFMPEG_INCLUDE_DIRS)
51
find_ffmpeg_lib(AVCODEC libavcodec/avcodec.h avcodec)
53
if(FFMPEG_USE_AVFORMAT)
54
find_ffmpeg_lib(AVFORMAT libavformat/avformat.h avformat)
57
find_ffmpeg_lib(AVUTIL libavutil/avutil.h avutil)
59
if(FFMPEG_USE_AVDEVICE)
60
find_ffmpeg_lib(AVDEVICE libavdevice/avdevice.h avdevice)
63
find_ffmpeg_lib(SWSCALE libswscale/swscale.h swscale)
66
if(NOT TARGET FFMPEG::FFMPEG)
67
add_library(FFMPEG::FFMPEG UNKNOWN IMPORTED)
68
set_target_properties(FFMPEG::FFMPEG PROPERTIES
69
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
70
INTERFACE_INCLUDE_DIRECTORIES "${FFMPEG_INCLUDE_DIR}")
71
if(TARGET FFMPEG::AVCODEC)
72
set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVCODEC)
74
if(TARGET FFMPEG::AVUTIL)
75
set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVUTIL)
77
if(TARGET FFMPEG::AVDEVICE)
78
set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVDEVICE)
80
if(TARGET FFMPEG::AVFORMAT)
81
set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVFORMAT)
83
if(TARGET FFMPEG::SWSCALE)
84
set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::SWSCALE)