if(DISABLE_AV) return() endif(DISABLE_AV) cmake_minimum_required(VERSION 3.2) set(COMMON_SOURCES src/avMuxer.cpp src/filemuxer.cpp src/livemuxer.cpp src/muxer.cpp src/qt-faststart.cpp src/util.cpp ) set(COMMON_HEADERS include/avMuxer.hpp include/filemuxer.hpp include/livemuxer.hpp include/muxer.hpp include/qt-faststart.hpp include/util.hpp ) function(setup_format BACKEND_NAME USE_CUDA) set(LIST_NAME format_cuda_${USE_CUDA}) add_library(${LIST_NAME} OBJECT ${COMMON_SOURCES} ${COMMON_HEADERS}) set_property(TARGET ${LIST_NAME} PROPERTY FOLDER "plugins") set_property(TARGET ${LIST_NAME} PROPERTY CXX_STANDARD 14) set_property(TARGET ${LIST_NAME} PROPERTY POSITION_INDEPENDENT_CODE TRUE) add_cppcheck(${LIST_NAME} VS) include_lib_vs_headers(${LIST_NAME}) target_include_directories(${LIST_NAME} PRIVATE include) target_include_directories(${LIST_NAME} PRIVATE ../include) if(LINUX OR APPLE) # VSA-5342: we're using functionality that has been deprecated in ffmpeg 3 target_compile_options(${LIST_NAME} PRIVATE -Wno-deprecated-declarations) endif(LINUX OR APPLE) if(LINUX) find_library(FFMPEG_avcodec avcodec REQUIRED) find_library(FFMPEG_avformat avformat REQUIRED) find_library(FFMPEG_avutil avutil REQUIRED) elseif(ANDROID) find_library(FFMPEG_avcodec avcodec PATHS ${CMAKE_EXTERNAL_DEPS}/lib REQUIRED NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_library(FFMPEG_avformat avformat PATHS ${CMAKE_EXTERNAL_DEPS}/lib REQUIRED NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) find_library(FFMPEG_avutil avutil PATHS ${CMAKE_EXTERNAL_DEPS}/lib REQUIRED NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) endif() if(WINDOWS) find_library(FFMPEG_avcodec NAMES avcodec REQUIRED) find_library(FFMPEG_avformat NAMES avformat REQUIRED) find_library(FFMPEG_avutil NAMES avutil REQUIRED) endif(WINDOWS) if(APPLE) if(MACPORTS) find_library(FFMPEG_avcodec NAMES avcodec) find_library(FFMPEG_avformat NAMES avformat) find_library(FFMPEG_avutil NAMES avutil) target_include_directories(${LIST_NAME} PRIVATE /opt/local/include) else() find_library(FFMPEG_avcodec NAMES avcodec) find_library(FFMPEG_avformat NAMES avformat) find_library(FFMPEG_avutil NAMES avutil) target_include_directories(${LIST_NAME} PRIVATE /usr/local/include) endif() endif() set(FFMPEG_libraries_cuda_${USE_CUDA} ${FFMPEG_avcodec} ${FFMPEG_avutil} ${FFMPEG_avformat} CACHE STRING "FFMPEG LIBRARIES") endfunction() if(GPU_BACKEND_CUDA) setup_format("cuda" "ON") endif() if(GPU_BACKEND_OPENCL) setup_format("opencl" "OFF") endif()