From e7dd767a9a1068ee1fe1502c4d619b57d3b12add Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Fri, 26 May 2023 23:23:10 +0200 Subject: [PATCH] Fix build with >=exiv2-0.28, raise minimum to 0.27 - enables use of EXIV2_TEST_VERSION macro - exiv2 headers cleanup Signed-off-by: Andreas Sturmlechner --- CMakeLists.txt | 6 +----- config-krename.h.cmake | 3 --- src/exiv2plugin.cpp | 17 +++++------------ 3 files changed, 6 insertions(+), 20 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0bda8ac..72e7297 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,13 +56,9 @@ set_package_properties(Taglib PROPERTIES TYPE OPTIONAL) # Find exiv2 -find_package(LibExiv2 0.13) # AccessMode was added in 0.13 +find_package(LibExiv2 0.27) # EXIV2_TEST_VERSION was added in 0.27 set_package_properties(LibExiv2 PROPERTIES TYPE OPTIONAL) -if (LibExiv2_VERSION VERSION_GREATER_EQUAL "0.27") - set(HAVE_LIBEXIV2_0_27 TRUE) -endif() - # Find podofo find_package(PoDoFo) set_package_properties(PoDoFo PROPERTIES diff --git a/config-krename.h.cmake b/config-krename.h.cmake index 76c3d30..862e40b 100644 --- a/config-krename.h.cmake +++ b/config-krename.h.cmake @@ -6,9 +6,6 @@ /* have Exiv2 */ #cmakedefine01 HAVE_EXIV2 -/* Defined if we have libexiv2 >= 0.27 */ -#cmakedefine HAVE_LIBEXIV2_0_27 - /* have PoDoFo */ #cmakedefine01 HAVE_PODOFO diff --git a/src/exiv2plugin.cpp b/src/exiv2plugin.cpp index 5694d8c..25e8869 100644 --- a/src/exiv2plugin.cpp +++ b/src/exiv2plugin.cpp @@ -3,20 +3,9 @@ #include "exiv2plugin.h" -#include "../config-krename.h" - #include -#include -#include -#include -#include -#ifdef HAVE_LIBEXIV2_0_27 - #include -#else - #include -#endif -#include +#include #include "batchrenamer.h" #include "tokenhelpdialog.h" @@ -381,7 +370,11 @@ QString Exiv2Plugin::processFile(BatchRenamer *b, int index, const QString &file std::string strFilename(asc.constData(), asc.length()); try { +#if EXIV2_TEST_VERSION(0,28,0) + Image::UniquePtr image = Exiv2::ImageFactory::open(strFilename); +#else Image::AutoPtr image = Exiv2::ImageFactory::open(strFilename); +#endif if (image.get() != nullptr && image->good()) { image->readMetadata(); -- GitLab