From a90b0daebef51dfa7ac2a4c5df49133ac4f98613 Mon Sep 17 00:00:00 2001 From: Ian Chamberlain Date: Sat, 20 Aug 2022 20:35:45 -0400 Subject: [PATCH] Look at version_major.h when for newer ffmpeg libs In ffmpeg 5.1, it seems most (or all) of these libraries use a separate version_major.h, so the logic to check minimum version didn't work without looking at the major version file. --- externals/cmake-modules/FindFFmpeg.cmake | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/externals/cmake-modules/FindFFmpeg.cmake b/externals/cmake-modules/FindFFmpeg.cmake index 6cb5960bb..cac21c614 100644 --- a/externals/cmake-modules/FindFFmpeg.cmake +++ b/externals/cmake-modules/FindFFmpeg.cmake @@ -116,6 +116,10 @@ function(find_ffmpeg LIBNAME) endforeach() string(TOUPPER ${LIBNAME} LIBNAME_UPPER) file(STRINGS "${FFmpeg_INCLUDE_${LIBNAME}}/lib${LIBNAME}/version.h" _FFmpeg_VERSION_H_CONTENTS REGEX "#define LIB${LIBNAME_UPPER}_VERSION_(MAJOR|MINOR|MICRO) ") + if (EXISTS "${FFmpeg_INCLUDE_${LIBNAME}}/lib${LIBNAME}/version_major.h") + file(STRINGS "${FFmpeg_INCLUDE_${LIBNAME}}/lib${LIBNAME}/version_major.h" _FFmpeg_MAJOR_VERSION_H_CONTENTS REGEX "#define LIB${LIBNAME_UPPER}_VERSION_MAJOR ") + string(APPEND _FFmpeg_VERSION_H_CONTENTS "\n" ${_FFmpeg_MAJOR_VERSION_H_CONTENTS}) + endif() set(_FFmpeg_VERSION_REGEX "([0-9]+)") foreach(v MAJOR MINOR MICRO) if("${_FFmpeg_VERSION_H_CONTENTS}" MATCHES "#define LIB${LIBNAME_UPPER}_VERSION_${v}[\\t ]+${_FFmpeg_VERSION_REGEX}")