summaryrefslogtreecommitdiff
blob: fdc13a1815e3b279ff68722dad3ecafe14ebff46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
From ec90823494f5ec9bb2e8098f44209f383ef8c22a Mon Sep 17 00:00:00 2001
From: Heiko Becker <heirecka@exherbo.org>
Date: Tue, 20 Nov 2018 18:24:29 +0100
Subject: Use #cmakedefine01 instead of macro_bool_to_01

---
 CMakeLists.txt                    | 13 +++++--------
 config-krename.h.cmake            | 10 +++++-----
 3 files changed, 10 insertions(+), 33 deletions(-)
 delete mode 100644 cmake/modules/MacroBoolTo01.cmake

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -80,13 +80,10 @@ set_package_properties(Freetype PROPERTIES
 
 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
 
-
-# Update configuration
-include(MacroBoolTo01)
-macro_bool_to_01(TAGLIB_FOUND HAVE_TAGLIB)
-macro_bool_to_01(EXIV2_FOUND HAVE_EXIV2)
-macro_bool_to_01(PoDoFo_FOUND HAVE_PODOFO)
-macro_bool_to_01(FREETYPE_FOUND HAVE_FREETYPE)
+set(HAVE_TAGLIB ${TAGLIB_FOUND})
+set(HAVE_EXIV2 ${LibExiv2_FOUND})
+set(HAVE_PODOFO ${PoDoFo_FOUND})
+set(HAVE_FREETYPE ${FREETYPE_FOUND})
 configure_file(config-krename.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-krename.h)
 
 # Directories
--- a/config-krename.h.cmake
+++ b/config-krename.h.cmake
@@ -1,15 +1,15 @@
 /* config.h. Generated by cmake from config.h.cmake */
 
 /* have TagLib */
-#define HAVE_TAGLIB ${HAVE_TAGLIB}
+#cmakedefine01 HAVE_TAGLIB
 
 /* have Exiv2 */
-#define HAVE_EXIV2 ${HAVE_EXIV2}
+#cmakedefine01 HAVE_EXIV2
 
 /* have PoDoFo */
-#define HAVE_PODOFO ${HAVE_PODOFO}
+#cmakedefine01 HAVE_PODOFO
 
 /* have Freetype */
-#define HAVE_FREETYPE ${HAVE_FREETYPE}
+#cmakedefine01 HAVE_FREETYPE
 
-#define VERSION "${KRENAME_VERSION}"
+#define VERSION "${krename_VERSION}"
-- 
cgit v1.1

From b22de9135ba2a5abdbd2b275a60933a50f074010 Mon Sep 17 00:00:00 2001
From: Heiko Becker <heirecka@exherbo.org>
Date: Tue, 20 Nov 2018 18:26:47 +0100
Subject: Fix building against exiv2-0.27

One neeeded part is to copy over the new FindLibExiv2 module from
ECM which has not appeared in a release yet (it will with 5.53.0).
I'll probably add that version as a requirement and remove the copy
again in the near future.
The other part includes raising the cmake version requirement to
3.7.0, which was released over 2 years ago. (The version comparison
could be easily solved differently and less elegantly, but let's see
if people with ancient cmakes complain).
---
 CMakeLists.txt                   |  15 ++---
 config-krename.h.cmake           |   3 +
 src/CMakeLists.txt               |   8 +--
 src/exiv2plugin.cpp              |   8 ++-
 6 files changed, 137 insertions(+), 91 deletions(-)
 delete mode 100644 cmake/modules/FindExiv2.cmake
 create mode 100644 cmake/modules/FindLibExiv2.cmake

diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,4 +1,5 @@
-project(krename)
 
-cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
+cmake_minimum_required(VERSION 3.7)
+
+project(krename VERSION "5.0.0")
 
@@ -39,10 +40,6 @@ add_definitions(
     -DQT_STRICT_ITERATORS
 )
 
-set(KRENAME_VERSION "5.0.0")
-
-include(FindGettext)
-
 # Find taglib
 set(TAGLIB_MIN_VERSION "1.5")
 find_package(Taglib ${TAGLIB_MIN_VERSION})
@@ -58,11 +55,12 @@ set_package_properties(Taglib PROPERTIES
     TYPE OPTIONAL)
 
 # Find exiv2
-find_package(Exiv2 0.13) # AccessMode was added in 0.13
-set_package_properties(Exiv2 PROPERTIES
-    DESCRIPTION "A library to access image metadata"
-    URL "http://www.exiv2.org"
-    TYPE OPTIONAL)
+find_package(LibExiv2 0.13) # AccessMode was added in 0.13
+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)
--- a/config-krename.h.cmake
+++ b/config-krename.h.cmake
@@ -6,6 +6,9 @@
 /* have Exiv2 */
 #cmakedefine01 HAVE_EXIV2
 
+/* Defined if we have libexiv2 >= 0.27 */
+#cmakedefine HAVE_LIBEXIV2_0_27
+
 /* have PoDoFo */
 #cmakedefine01 HAVE_PODOFO
 
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -23,7 +23,7 @@ if(FREETYPE_FOUND)
     include_directories(${FREETYPE_INCLUDE_DIRS})
 endif()
 
-add_definitions(${TAGLIB_CFLAGS} ${EXIV2_CFLAGS})
+add_definitions(${TAGLIB_CFLAGS})
 # Exiv2 needs exceptions
 kde_enable_exceptions()
 
@@ -67,7 +67,7 @@ set(krename_SRCS
     snumplugin.cpp
 )
 
-if(EXIV2_FOUND)
+if(LibExiv2_FOUND)
     set(krename_SRCS ${krename_SRCS}
         exiv2plugin.cpp
     )
@@ -137,9 +137,9 @@ if(TAGLIB_FOUND)
         ${TAGLIB_LIBRARIES}
     )
 endif()
-if(EXIV2_FOUND)
+if(LibExiv2_FOUND)
     target_link_libraries(krename
-        ${EXIV2_LIBRARIES}
+        LibExiv2::LibExiv2
     )
 endif()
 if(PoDoFo_FOUND)
--- a/src/exiv2plugin.cpp
+++ b/src/exiv2plugin.cpp
@@ -17,13 +17,19 @@
 
 #include "exiv2plugin.h"
 
+#include "../config-krename.h"
+
 #include <KLocalizedString>
 
 #include <exiv2/error.hpp>
 #include <exiv2/exif.hpp>
 #include <exiv2/image.hpp>
 #include <exiv2/iptc.hpp>
-#include <exiv2/xmp.hpp>
+#ifdef HAVE_LIBEXIV2_0_27
+    #include <exiv2/xmp_exiv2.hpp>
+#else
+    #include <exiv2/xmp.hpp>
+#endif
 #include <exiv2/tags.hpp>
 
 #include "batchrenamer.h"
-- 
cgit v1.1