# See https://bugs.gentoo.org/628688 for further info and # development discussion about this patch. --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -100,6 +100,14 @@ FIND_PACKAGE(ImageMagick REQUIRED) FIND_PACKAGE(ImageMagick COMPONENTS Magick++) FIND_PACKAGE(ImageMagick COMPONENTS MagickWand) FIND_PACKAGE(ImageMagick COMPONENTS MagickCore) +if (NOT ImageMagick_MagickCore_FOUND) + set(ImageMagick_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick") + set(ImageMagick_Magick++_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick/Magick++") + set(ImageMagick_MagickCore_INCLUDE_DIRS "") + set(ImageMagick_LIBRARY "GENTOO_LIB/libGraphicsMagick.so") + set(ImageMagick_Magick++_LIBRARY "GENTOO_LIB/libGraphicsMagick++.so") + set(ImageMagick_MagickCore_LIBRARY "") +endif () INCLUDE_DIRECTORIES(${Qt5Core_INCLUDE_DIRS}) INCLUDE_DIRECTORIES(${Qt5Gui_INCLUDE_DIRS}) --- a/src/converter.cpp +++ b/src/converter.cpp @@ -254,8 +254,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 --- 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