Spaces:
Running
on
Zero
Running
on
Zero
| # Copyright (C) 2020, Inria | |
| # GRAPHDECO research group, https://team.inria.fr/graphdeco | |
| # All rights reserved. | |
| # | |
| # This software is free for non-commercial, research and evaluation use | |
| # under the terms of the LICENSE.md file. | |
| # | |
| # For inquiries contact sibr@inria.fr and/or George.Drettakis@inria.fr | |
| ## Try to find the FFMPEG library | |
| ## Once done this will define | |
| ## | |
| ## FFMPEG_FOUND - system has FFmpeg | |
| ## FFMPEG_INCLUDE_DIR - The FFmpeg include directory | |
| ## FFMPEG_LIBRARIES - The libraries needed to use FFmpeg | |
| ## FFMPEG_DYNAMIC_LIBS - DLLs for windows | |
| if(NOT FFMPEG_DIR) | |
| set(FFMPEG_DIR "$ENV{FFMPEG_DIR}" CACHE PATH "FFMPEG_DIR root directory") | |
| endif() | |
| if(FFMPEG_DIR) | |
| file(TO_CMAKE_PATH ${FFMPEG_DIR} FFMPEG_DIR) | |
| endif() | |
| MACRO(FFMPEG_FIND varname shortname headername) | |
| # Path to include dirs | |
| FIND_PATH(FFMPEG_${varname}_INCLUDE_DIRS | |
| NAMES "lib${shortname}/${headername}" | |
| PATHS | |
| "${FFMPEG_DIR}/include" # modify this to adapt according to OS/compiler | |
| "/usr/include" | |
| "/usr/include/ffmpeg" | |
| ) | |
| #Add libraries | |
| IF(${FFMPEG_${varname}_INCLUDE_DIRS} STREQUAL "FFMPEG_${varname}_INCLUDE_DIR-NOTFOUND") | |
| MESSAGE(STATUS "Can't find includes for ${shortname}...") | |
| ELSE() | |
| FIND_LIBRARY(FFMPEG_${varname}_LIBRARIES | |
| NAMES ${shortname} | |
| PATHS | |
| ${FFMPEG_DIR}/lib | |
| "/usr/lib" | |
| "/usr/lib64" | |
| "/usr/local/lib" | |
| "/usr/local/lib64" | |
| ) | |
| # set libraries and other variables | |
| SET(FFMPEG_${varname}_FOUND 1) | |
| SET(FFMPEG_${varname}_INCLUDE_DIRS ${FFMPEG_${varname}_INCLUDE_DIR}) | |
| SET(FFMPEG_${varname}_LIBS ${FFMPEG_${varname}_LIBRARIES}) | |
| ENDIF() | |
| ENDMACRO(FFMPEG_FIND) | |
| #Calls to ffmpeg_find to get librarires ------------------------------ | |
| FFMPEG_FIND(LIBAVFORMAT avformat avformat.h) | |
| FFMPEG_FIND(LIBAVDEVICE avdevice avdevice.h) | |
| FFMPEG_FIND(LIBAVCODEC avcodec avcodec.h) | |
| FFMPEG_FIND(LIBAVUTIL avutil avutil.h) | |
| FFMPEG_FIND(LIBSWSCALE swscale swscale.h) | |
| # check if libs are found and set FFMPEG related variables | |
| #SET(FFMPEG_FOUND "NO") | |
| IF(FFMPEG_LIBAVFORMAT_FOUND | |
| AND FFMPEG_LIBAVDEVICE_FOUND | |
| AND FFMPEG_LIBAVCODEC_FOUND | |
| AND FFMPEG_LIBAVUTIL_FOUND | |
| AND FFMPEG_LIBSWSCALE_FOUND) | |
| # All ffmpeg libs are here | |
| SET(FFMPEG_FOUND "YES") | |
| SET(FFMPEG_INCLUDE_DIR ${FFMPEG_LIBAVFORMAT_INCLUDE_DIRS}) | |
| SET(FFMPEG_LIBRARY_DIRS ${FFMPEG_LIBAVFORMAT_LIBRARY_DIRS}) | |
| SET(FFMPEG_LIBRARIES | |
| ${FFMPEG_LIBAVFORMAT_LIBS} | |
| ${FFMPEG_LIBAVDEVICE_LIBS} | |
| ${FFMPEG_LIBAVCODEC_LIBS} | |
| ${FFMPEG_LIBAVUTIL_LIBS} | |
| ${FFMPEG_LIBSWSCALE_LIBS} ) | |
| # add dynamic libraries | |
| if(WIN32) | |
| file(GLOB FFMPEG_DYNAMIC_LIBS "${FFMPEG_DIR}/bin/*.dll") | |
| if(NOT FFMPEG_DYNAMIC_LIBS) | |
| message("FFMPEG_DYNAMIC_LIBS is missing...") | |
| endif() | |
| set(FFMPEG_DYNAMIC_LIBS ${FFMPEG_DYNAMIC_LIBS} CACHE PATH "Windows dll location") | |
| endif() | |
| mark_as_advanced(FFMPEG_INCLUDE_DIR FFMPEG_LIBRARY_DIRS FFMPEG_LIBRARIES FFMPEG_DYNAMIC_LIBS) | |
| ELSE () | |
| MESSAGE(STATUS "Could not find FFMPEG") | |
| ENDIF() | |
| INCLUDE(FindPackageHandleStandardArgs) | |
| FIND_PACKAGE_HANDLE_STANDARD_ARGS(FFMPEG | |
| REQUIRED_VARS FFMPEG_INCLUDE_DIR FFMPEG_LIBRARIES | |
| FAIL_MESSAGE "FFmpeg wasn't found correctly. Set FFMPEG_DIR to the root SDK installation directory." | |
| ) | |
| if(NOT FFMPEG_FOUND) | |
| set(FFMPEG_DIR "" CACHE STRING "Path to FFmpeg install directory") | |
| endif() | |