mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2024-11-14 21:37:52 -07:00
8876ee120a
Add an "ugly" workaround in the AVIDump code, but looking at other project this seems to be the most common way to handle this API change.
72 lines
1.7 KiB
CMake
72 lines
1.7 KiB
CMake
include(FindPkgConfig OPTIONAL)
|
|
|
|
macro(_internal_message msg)
|
|
if(NOT ${_is_quiet})
|
|
message("${msg}")
|
|
endif()
|
|
endmacro()
|
|
|
|
macro(check_lib var lib)
|
|
set(_is_required 0)
|
|
set(_is_quiet 0)
|
|
set(_arg_list ${ARGN})
|
|
foreach(_arg ${ARGN})
|
|
if(_arg STREQUAL "REQUIRED")
|
|
list(REMOVE_ITEM _arg_list "REQUIRED")
|
|
set(_is_required 1)
|
|
endif()
|
|
if(_arg STREQUAL "QUIET")
|
|
list(REMOVE_ITEM _arg_list "QUIET")
|
|
set(_is_quiet 1)
|
|
endif()
|
|
endforeach()
|
|
|
|
if(PKG_CONFIG_FOUND AND NOT ${var}_FOUND)
|
|
string(TOLOWER ${lib} lower_lib)
|
|
pkg_search_module(${var} QUIET ${lower_lib})
|
|
endif()
|
|
|
|
if(${var}_FOUND)
|
|
include_directories(${${var}_INCLUDE_DIRS})
|
|
# Make sure include directories for headers found using find_path below
|
|
# are re-added when reconfiguring
|
|
include_directories(${${var}_INCLUDE})
|
|
_internal_message("${lib} found")
|
|
else()
|
|
find_library(${var} ${lib})
|
|
if(_arg_list)
|
|
find_path(${var}_INCLUDE ${_arg_list})
|
|
else()
|
|
set(${var}_INCLUDE FALSE)
|
|
endif()
|
|
if(${var} AND ${var}_INCLUDE)
|
|
include_directories(${${var}_INCLUDE})
|
|
_internal_message("${lib} found")
|
|
set(${var}_FOUND 1 CACHE INTERNAL "")
|
|
else()
|
|
if(_is_required)
|
|
message(FATAL_ERROR "${lib} is required but not found")
|
|
else()
|
|
_internal_message("${lib} not found")
|
|
endif()
|
|
endif()
|
|
endif()
|
|
endmacro()
|
|
|
|
macro(check_libav)
|
|
if(PKG_CONFIG_FOUND)
|
|
pkg_check_modules(LIBAV libavcodec>=54.35.0 libavformat>=54.20.4
|
|
libswscale>=2.1.1 libavutil>=52.3.0)
|
|
else()
|
|
message("pkg-config is required to check for libav/ffmpeg")
|
|
endif()
|
|
if(LIBAV_FOUND)
|
|
message("libav/ffmpeg found, enabling AVI frame dumps")
|
|
add_definitions(-DHAVE_LIBAV)
|
|
include_directories(${LIBAV_INCLUDE_DIRS})
|
|
else()
|
|
message("libav/ffmpeg not found, disabling AVI frame dumps")
|
|
endif()
|
|
endmacro()
|
|
|