diff options
| -rw-r--r-- | CMakeLists.txt | 4 | ||||
| -rw-r--r-- | CMakeScripts/DefineDependsandFlags.cmake | 28 | ||||
| -rw-r--r-- | src/extension/init.cpp | 8 | ||||
| -rw-r--r-- | src/extension/internal/image-resolution.cpp | 6 |
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 */ } } |
