From 1c68ecdd8e47833a6ca674a3a2f057a2560a347b Mon Sep 17 00:00:00 2001 From: Hleb Valoshka <375gnu@gmail.com> Date: Tue, 22 Jun 2021 09:14:19 +0400 Subject: [PATCH] [cmake] Update FindFFMPEG --- CMakeLists.txt | 1 + cmake/FindFFMPEG.cmake | 13 +++++++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a99e014af..8811cde19 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -206,6 +206,7 @@ endif() if(ENABLE_FFMPEG) include(FindFFMPEG) find_package(FFMPEG REQUIRED COMPONENTS avcodec avutil avformat swscale) + include_directories(${FFMPEG_INCLUDE_DIRS}) add_definitions(-DUSE_FFMPEG) endif() diff --git a/cmake/FindFFMPEG.cmake b/cmake/FindFFMPEG.cmake index a3429fe40..664b906bb 100644 --- a/cmake/FindFFMPEG.cmake +++ b/cmake/FindFFMPEG.cmake @@ -8,11 +8,14 @@ macro(find_ffmpeg_lib) set(__lib ${ARGV2}) find_library(${__name}_LIBRARY ${__lib}) - find_path(${__name}_INCLUDE_DIR ${__header}) + find_path(${__name}_INCLUDE_DIR ${__header} + HINTS /usr/include/ffmpeg) + set(FPHSA_NAME_MISMATCHED 1) find_package_handle_standard_args(${__name} FOUND_VAR ${__name}_FOUND REQUIRED_VARS ${__name}_INCLUDE_DIR ${__name}_LIBRARY FAIL_MESSAGE "Failed to find ${__name}") + unset(FPHSA_NAME_MISMATCHED) set(${__name}_INCLUDE_DIRS ${${__name}_INCLUDE_DIR}) set(${__name}_LIBRARIES ${${__name}_LIBRARY}) @@ -62,15 +65,17 @@ endif() if(NOT TARGET FFMPEG::FFMPEG) add_library(FFMPEG::FFMPEG UNKNOWN IMPORTED) - set_target_properties(FFMPEG::FFMPEG PROPERTIES IMPORTED_LINK_INTERFACE_LANGUAGES "C") + set_target_properties(FFMPEG::FFMPEG PROPERTIES + IMPORTED_LINK_INTERFACE_LANGUAGES "C" + INTERFACE_INCLUDE_DIRECTORIES "${FFMPEG_INCLUDE_DIR}") if(TARGET FFMPEG::AVCODEC) set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVCODEC) endif() if(TARGET FFMPEG::AVUTIL) set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVUTIL) endif() - if(TARGET FFMPEG::AVUTIL) - set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVUTIL) + if(TARGET FFMPEG::AVDEVICE) + set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVDEVICE) endif() if(TARGET FFMPEG::AVFORMAT) set_target_properties(FFMPEG::FFMPEG PROPERTIES INTERFACE_LINK_LIBRARIES FFMPEG::AVFORMAT)