diff options
| author | Levi <L3ehunin@gmail.com> | 2021-01-10 22:09:56 -0700 | 
|---|---|---|
| committer | Levi <L3ehunin@gmail.com> | 2021-01-10 22:09:56 -0700 | 
| commit | 7a3c884e39fccfbb498b855080bffabc9ce2e7f1 (patch) | |
| tree | 5056f9406dec188439cb0deb87603498243a9412 /externals/find-modules | |
| parent | bc69cc151192326f9b8e18bbda831f1589ba27e0 (diff) | |
| parent | 46cd71d1c773c29cce8b48e7e2b478bdf6d77085 (diff) | |
Merge remote-tracking branch 'upstream/master' into int-flags
Diffstat (limited to 'externals/find-modules')
| -rw-r--r-- | externals/find-modules/FindFFmpeg.cmake | 100 | 
1 files changed, 100 insertions, 0 deletions
diff --git a/externals/find-modules/FindFFmpeg.cmake b/externals/find-modules/FindFFmpeg.cmake new file mode 100644 index 000000000..77b331e00 --- /dev/null +++ b/externals/find-modules/FindFFmpeg.cmake @@ -0,0 +1,100 @@ +# - 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()  | 
