summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt4
-rw-r--r--CMakeScripts/DefineDependsandFlags.cmake28
-rw-r--r--src/extension/init.cpp8
-rw-r--r--src/extension/internal/image-resolution.cpp6
4 files changed, 30 insertions, 16 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2680fc033..c692f40be 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -103,7 +103,8 @@ option(BUILD_SHARED_LIBS "Compile libraries as shared and not static" ON)
option(ENABLE_POPPLER "Compile with support of libpoppler" ON)
option(ENABLE_POPPLER_CAIRO "Compile with support of libpoppler-cairo for rendering PDF preview (depends on ENABLE_POPPLER)" ON)
-option(WITH_IMAGE_MAGICK "Compile with support of ImageMagick for raster extensions and image import resolution" ON)
+option(WITH_IMAGE_MAGICK "Compile with support of ImageMagick for raster extensions and image import resolution (requires ImageMagick 6; set to OFF if you prefer GraphicsMagick)" ON)
+option(WITH_GRAPHICS_MAGICK "Compile with support of GraphicsMagick for raster extensions and image import resolution" ON)
option(WITH_LIBCDR "Compile with support of libcdr for CorelDRAW Diagrams" ON)
option(WITH_LIBVISIO "Compile with support of libvisio for Microsoft Visio Diagrams" ON)
option(WITH_LIBWPG "Compile with support of libwpg for WordPerfect Graphics" ON)
@@ -290,6 +291,7 @@ message("GMOCK_PRESENT: ${GMOCK_PRESENT}")
message("WITH_DBUS: ${WITH_DBUS}")
message("WITH_GTKSPELL: ${WITH_GTKSPELL}")
message("WITH_IMAGE_MAGICK: ${WITH_IMAGE_MAGICK}")
+message("WITH_GRAPHICS_MAGICK: ${WITH_GRAPHICS_MAGICK}")
message("WITH_LIBCDR: ${WITH_LIBCDR}")
message("WITH_LIBVISIO: ${WITH_LIBVISIO}")
message("WITH_LIBWPG: ${WITH_LIBWPG}")
diff --git a/CMakeScripts/DefineDependsandFlags.cmake b/CMakeScripts/DefineDependsandFlags.cmake
index aa637ead1..897aafb57 100644
--- a/CMakeScripts/DefineDependsandFlags.cmake
+++ b/CMakeScripts/DefineDependsandFlags.cmake
@@ -309,17 +309,29 @@ list(APPEND INKSCAPE_INCS_SYS ${ZLIB_INCLUDE_DIRS})
list(APPEND INKSCAPE_LIBS ${ZLIB_LIBRARIES})
if(WITH_IMAGE_MAGICK)
- pkg_check_modules(ImageMagick ImageMagick++ )
- if(ImageMagick_FOUND)
- list(APPEND INKSCAPE_LIBS ${ImageMagick_LDFLAGS})
- add_definitions(${ImageMagick_CFLAGS_OTHER})
-
- list(APPEND INKSCAPE_INCS_SYS ${ImageMagick_INCLUDE_DIRS})
- list(APPEND INKSCAPE_LIBS ${ImageMagick_LIBRARIES})
+ # we want "<" but pkg_check_modules only offers "<=" for some reason; let's hope nobody actually has 7.0.0
+ pkg_check_modules(MAGICK ImageMagick++<=7)
+ if(MAGICK_FOUND)
+ set(WITH_GRAPHICS_MAGICK OFF) # prefer ImageMagick for now and disable GraphicsMagick if found
else()
- set(WITH_IMAGE_MAGICK OFF) # enable 'Extensions > Raster'
+ set(WITH_IMAGE_MAGICK OFF)
+ endif()
+endif()
+if(WITH_GRAPHICS_MAGICK)
+ pkg_check_modules(MAGICK GraphicsMagick++)
+ if(NOT MAGICK_FOUND)
+ set(WITH_GRAPHICS_MAGICK OFF)
endif()
endif()
+if(MAGICK_FOUND)
+ list(APPEND INKSCAPE_LIBS ${MAGICK_LDFLAGS})
+ add_definitions(${MAGICK_CFLAGS_OTHER})
+
+ list(APPEND INKSCAPE_INCS_SYS ${MAGICK_INCLUDE_DIRS})
+ list(APPEND INKSCAPE_LIBS ${MAGICK_LIBRARIES})
+
+ set(WITH_MAGICK ON) # enable 'Extensions > Raster'
+endif()
set(ENABLE_NLS OFF)
if(WITH_NLS)
diff --git a/src/extension/init.cpp b/src/extension/init.cpp
index 7524ba106..3ac73f05a 100644
--- a/src/extension/init.cpp
+++ b/src/extension/init.cpp
@@ -65,7 +65,7 @@
#include "dbus/dbus-init.h"
#endif
-#ifdef WITH_IMAGE_MAGICK
+#ifdef WITH_MAGICK
#include <Magick++.h>
#include "internal/bitmap/adaptiveThreshold.h"
#include "internal/bitmap/addNoise.h"
@@ -102,7 +102,7 @@
//#include "internal/bitmap/threshold.h"
#include "internal/bitmap/unsharpmask.h"
#include "internal/bitmap/wave.h"
-#endif /* WITH_IMAGE_MAGICK */
+#endif /* WITH_MAGICK */
#include "internal/filter/filter.h"
@@ -191,7 +191,7 @@ init()
#endif
/* Raster Effects */
-#ifdef WITH_IMAGE_MAGICK
+#ifdef WITH_MAGICK
Magick::InitializeMagick(NULL);
Internal::Bitmap::AdaptiveThreshold::init();
@@ -229,7 +229,7 @@ init()
//Internal::Bitmap::Threshold::init();
Internal::Bitmap::Unsharpmask::init();
Internal::Bitmap::Wave::init();
-#endif /* WITH_IMAGE_MAGICK */
+#endif /* WITH_MAGICK */
Internal::Filter::Filter::filters_all();
diff --git a/src/extension/internal/image-resolution.cpp b/src/extension/internal/image-resolution.cpp
index befb48222..d1618d3b5 100644
--- a/src/extension/internal/image-resolution.cpp
+++ b/src/extension/internal/image-resolution.cpp
@@ -30,7 +30,7 @@
#include <csetjmp>
#endif
-#ifdef WITH_IMAGE_MAGICK
+#ifdef WITH_MAGICK
#include <Magick++.h>
#endif
@@ -396,7 +396,7 @@ void ImageResolution::readjfif(char const *) {
#endif
-#ifdef WITH_IMAGE_MAGICK
+#ifdef WITH_MAGICK
void ImageResolution::readmagick(char const *fn) {
Magick::Image image;
debug("Trying image.read");
@@ -439,7 +439,7 @@ void ImageResolution::readmagick(char const *fn) {
void ImageResolution::readmagick(char const *) {
}
-#endif /* WITH_IMAGE_MAGICK */
+#endif /* WITH_MAGICK */
}
}