blob: e593d08e40030b2e84e9de402f0b7dc5d36e1ca0 (
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
|
# See https://bugs.gentoo.org/628688 for further info and
# development discussion about this patch.
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -17,7 +17,18 @@ else ()
find_package(Qt5 COMPONENTS Core Gui Network Widgets LinguistTools REQUIRED)
endif()
-find_package(ImageMagick REQUIRED COMPONENTS Magick++ MagickWand MagickCore)
+find_package(ImageMagick COMPONENTS Magick++ MagickWand MagickCore)
+if (NOT ImageMagick_FOUND)
+ set(ImageMagick_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick")
+ set(ImageMagick_Magick++_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick/Magick++")
+ set(ImageMagick_MagickCore_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick/magic")
+ set(ImageMagick_LIBRARY "GENTOO_LIB/libGraphicsMagick.so")
+ set(ImageMagick_Magick++_LIBRARY "GENTOO_LIB/libGraphicsMagick++.so")
+ set(ImageMagick_MagickCore_LIBRARY "GENTOO_LIB/libGraphicsMagick.so")
+ set(ImageMagick_MagickWand_LIBRARY "GENTOO_LIB/libGraphicsMagickWand.so")
+ set(ImageMagick_MagickWand_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick/wand")
+ set(ImageMagick_LIBRARIES ${ImageMagick_LIBRARY} ${ImageMagick_Magick++_LIBRARY} ${ImageMagick_MagickCore_LIBRARY} ${ImageMagick_MagickWand_LIBRARY})
+endif ()
set(converseen_SOURCES
src/main.cpp
--- a/src/converter.cpp
+++ b/src/converter.cpp
@@ -317,8 +317,14 @@ bool Converter::writeImage(Image &my_image, const QString &format, const int &qu
error_status = "";
+/* Workaround to compile with GraphicsMagick:
+ GraphicsMagick "MagickLibVersion" is greater that 0x100000
+ e.g. GraphicsMagick-1.3.25 has "MagickLibVersion=0x181501"
+ or GraphicsMagick-1.3.26 has "MagickLibVersion=0x191600" */
#if MagickLibVersion < 0x700
hasTransparency = my_image.matte();
+#elif MagickLibVersion > 0x100000
+ hasTransparency = my_image.matte();
#else
hasTransparency = my_image.alpha();
#endif
@@ -385,6 +391,8 @@ Image Converter::convertPDFtoImage(const Image &my_image)
#if MagickLibVersion < 0x700
ximage.antiAlias(true);
+#elif MagickLibVersion > 0x100000
+ ximage.antiAlias(true);
#else
ximage.textAntiAlias(true);
#endif
--- a/src/globals.h
+++ b/src/globals.h
@@ -32,8 +32,14 @@
using namespace Magick;
using namespace std;
+/* Workaround to compile with GraphicsMagick:
+ GraphicsMagick "MagickLibVersion" is greater that 0x100000
+ e.g. GraphicsMagick-1.3.25 has "MagickLibVersion=0x181501"
+ or GraphicsMagick-1.3.26 has "MagickLibVersion=0x191600" */
#if MagickLibVersion < 0x700
typedef FilterTypes IMFilterType;
+#elif MagickLibVersion > 0x100000
+ typedef FilterTypes IMFilterType;
#else
typedef FilterType IMFilterType;
#endif
--- a/src/formats.cpp
+++ b/src/formats.cpp
@@ -174,6 +174,12 @@ bool Formats::isVideo(list<CoderInfo>::iterator entry)
QStringList videoFormats(QStringList() << "3G2" << "3GP" << "APNG" << "AVI" << "FLV" << "M2V" << "M4V" << "MKV" << "MOV" << "MP4" << "MPEG" << "MPG" << "WEBM" << "WMV");
return videoFormats.contains(currFormat);
+#elif MagickLibVersion > 0x100000
+ // Support for ImageMagick-6. This will be removed sooner as Linux distros drop the support!
+ QString currFormat = QString::fromStdString(entry->name());
+ QStringList videoFormats(QStringList() << "3G2" << "3GP" << "APNG" << "AVI" << "FLV" << "M2V" << "M4V" << "MKV" << "MOV" << "MP4" << "MPEG" << "MPG" << "WEBM" << "WMV");
+
+ return videoFormats.contains(currFormat);
#else
return (QString::fromStdString(entry->module()) == "VIDEO") ? true : false;
#endif
|