include(FindPkgConfig OPTIONAL) macro(_internal_message msg _quiet) if(NOT _quiet) message("${msg}") endif() endmacro() macro(check_lib var lib) set(_is_required 0) set(_is_quiet 0) foreach(_arg ${ARGN}) if(_arg STREQUAL "REQUIRED") set(_is_required 1) endif() if(_arg STREQUAL "QUIET") set(_is_quiet 1) endif() endforeach() if(ARGN) list(REMOVE_ITEM ${ARGN} "REQUIRED") list(REMOVE_ITEM ${ARGN} "QUIET") endif() if(PKG_CONFIG_FOUND AND NOT ${var}_FOUND) string(TOLOWER ${lib} lower_lib) pkg_search_module(${var} QUIET ${lower_lib}) endif() if(${var}_FOUND) _internal_message("${lib} found" _is_quiet) else() find_library(${var} ${lib}) foreach(_file ${ARGN}) find_path(${var}_INCLUDE ${_file}) endforeach() if(${var} AND ${var}_INCLUDE) _internal_message("${lib} found" _is_quiet) 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" _is_quiet) endif() endif() endif() endmacro() macro(check_libav) if(PKG_CONFIG_FOUND) pkg_check_modules(LIBAV libavcodec>=52.72.2 libavformat>=52.64.2 libswscale>=0.11.0 libavutil>=50.15.1) else() message("pkg-config is required to check for libav") endif() if(LIBAV_FOUND) message("libav found, enabling AVI frame dumps") add_definitions(-DHAVE_LIBAV) else() message("libav not found, disabling AVI frame dumps") endif() endmacro()