From 3064949029da5c49bff8c7bab30b3baa5573312f Mon Sep 17 00:00:00 2001 From: Vicki Pfau Date: Wed, 18 Jan 2017 12:51:05 -0800 Subject: [PATCH] Feature: Support ImageMagick 7 --- CHANGES | 1 + CMakeLists.txt | 7 ++++++- src/feature/imagemagick/imagemagick-gif-encoder.h | 4 ++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/CHANGES b/CHANGES index c437ef953..9b62df111 100644 --- a/CHANGES +++ b/CHANGES @@ -7,6 +7,7 @@ Bugfixes: - GB MBC: Fix ROM bank overflows getting set to bank 0 Misc: - Qt: Improved HiDPI support + - Feature: Support ImageMagick 7 0.5.2: (2016-12-31) Bugfixes: diff --git a/CMakeLists.txt b/CMakeLists.txt index 11b0b1d2f..570500f50 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -299,6 +299,7 @@ if(HAVE_UMASK) endif() # Feature dependencies +set(FEATURE_DEFINES) set(FEATURES) if(CMAKE_SYSTEM_NAME MATCHES .*BSD) set(LIBEDIT_LIBRARIES -ledit) @@ -409,11 +410,16 @@ if(USE_MAGICK) list(APPEND FEATURE_SRC "${CMAKE_CURRENT_SOURCE_DIR}/src/feature/imagemagick/imagemagick-gif-encoder.c") list(APPEND DEPENDENCY_LIB ${MAGICKWAND_LIBRARIES}) string(REGEX MATCH "^[0-9]+\\.[0-9]+" MAGICKWAND_VERSION_PARTIAL ${MagickWand_VERSION}) + string(REGEX MATCH "^[0-9]+" MAGICKWAND_VERSION_MAJOR ${MagickWand_VERSION}) if(${MAGICKWAND_VERSION_PARTIAL} EQUAL "6.7") set(MAGICKWAND_DEB_VERSION "5") + elseif(${MagickWand_VERSION} EQUAL "6.9.7") + set(MAGICKWAND_DEB_VERSION "-6.q16-3") else() set(MAGICKWAND_DEB_VERSION "-6.q16-2") endif() + list(APPEND FEATURE_DEFINES MAGICKWAND_VERSION_MAJOR=${MAGICKWAND_VERSION_MAJOR}) + set(CPACK_DEBIAN_PACKAGE_DEPENDS "${CPACK_DEBIAN_PACKAGE_DEPENDS},libmagickwand${MAGICKWAND_DEB_VERSION}") endif() @@ -525,7 +531,6 @@ if(USE_EPOXY) endif() -set(FEATURE_DEFINES) foreach(FEATURE IN LISTS FEATURES) list(APPEND FEATURE_DEFINES "USE_${FEATURE}") endforeach() diff --git a/src/feature/imagemagick/imagemagick-gif-encoder.h b/src/feature/imagemagick/imagemagick-gif-encoder.h index 554813737..7f1aedee2 100644 --- a/src/feature/imagemagick/imagemagick-gif-encoder.h +++ b/src/feature/imagemagick/imagemagick-gif-encoder.h @@ -11,7 +11,11 @@ #define MAGICKCORE_HDRI_ENABLE 0 #define MAGICKCORE_QUANTUM_DEPTH 8 +#if MAGICKWAND_VERSION_MAJOR >= 7 +#include +#else #include +#endif struct ImageMagickGIFEncoder { struct mAVStream d;