From e4c44f8b4674b88c0174270f27d61db808f66bc6 Mon Sep 17 00:00:00 2001 From: Eduard Braun Date: Tue, 2 Oct 2018 22:19:07 +0200 Subject: CMake: Allow to build with GraphicsMagick instead of ImageMagick For now we still default to ImageMagick, but we can fall-back to GraphicsMagick (e.g. if only ImageMagick 7 is available; add a check for this). To prefer GraphicsMagick despite a compatible version of ImageMagick use -DWITH_IMAGE_MAGICK=OFF when running CMake --- CMakeScripts/DefineDependsandFlags.cmake | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'CMakeScripts') 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) -- cgit v1.2.3