# - Try to find ffmpeg libraries (libavcodec, libavformat and libavutil) # Once done this will define # # FFMPEG_FOUND - system has ffmpeg or libav # FFMPEG_INCLUDE_DIR - the ffmpeg include directory # FFMPEG_LIBRARIES - Link these to use ffmpeg # FFMPEG_LIBAVCODEC # FFMPEG_LIBAVFORMAT # FFMPEG_LIBAVUTIL # # Copyright (c) 2008 Andreas Schneider <mail@cynapses.org> # Modified for other libraries by Lasse Kärkkäinen <tronic> # Modified for Hedgewars by Stepik777 # Modified for FFmpeg-example Tuukka Pasanen 2018 # Modified for yuzu toastUnlimted 2020 # # Redistribution and use is allowed according to the terms of the New # BSD license. # include(FindPackageHandleStandardArgs) find_package_handle_standard_args(FFMPEG FOUND_VAR FFMPEG_FOUND REQUIRED_VARS FFMPEG_LIBRARY FFMPEG_INCLUDE_DIR VERSION_VAR FFMPEG_VERSION ) if(FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) # in cache already set(FFMPEG_FOUND TRUE) else() # use pkg-config to get the directories and then use these values # in the FIND_PATH() and FIND_LIBRARY() calls find_package(PkgConfig) if(PKG_CONFIG_FOUND) pkg_check_modules(_FFMPEG_AVCODEC libavcodec) pkg_check_modules(_FFMPEG_AVUTIL libavutil) pkg_check_modules(_FFMPEG_SWSCALE libswscale) endif() find_path(FFMPEG_AVCODEC_INCLUDE_DIR NAMES libavcodec/avcodec.h PATHS ${_FFMPEG_AVCODEC_INCLUDE_DIRS} /usr/include /usr/local/include /opt/local/include /sw/include PATH_SUFFIXES ffmpeg libav) find_library(FFMPEG_LIBAVCODEC NAMES avcodec PATHS ${_FFMPEG_AVCODEC_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib) find_library(FFMPEG_LIBAVUTIL NAMES avutil PATHS ${_FFMPEG_AVUTIL_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib) find_library(FFMPEG_LIBSWSCALE NAMES swscale PATHS ${_FFMPEG_SWSCALE_LIBRARY_DIRS} /usr/lib /usr/local/lib /opt/local/lib /sw/lib) if(FFMPEG_LIBAVCODEC AND FFMPEG_LIBAVUTIL AND FFMPEG_LIBSWSCALE) set(FFMPEG_FOUND TRUE) endif() if(FFMPEG_FOUND) set(FFMPEG_INCLUDE_DIR ${FFMPEG_AVCODEC_INCLUDE_DIR}) set(FFMPEG_LIBRARIES ${FFMPEG_LIBAVCODEC} ${FFMPEG_LIBAVUTIL} ${FFMPEG_LIBSWSCALE}) endif() if(FFMPEG_FOUND) if(NOT FFMPEG_FIND_QUIETLY) message(STATUS "Found FFMPEG or Libav: ${FFMPEG_LIBRARIES}, ${FFMPEG_INCLUDE_DIR}") endif() else() if(FFMPEG_FIND_REQUIRED) message(FATAL_ERROR "Could not find libavcodec or libavutil or libswscale") endif() endif() endif()