From 3eba0f7aca001bce201a934fcf7e033cfac29778 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 9 Dec 2016 15:39:58 +0000 Subject: [PATCH] [Minor] Check libgd before using --- CMakeLists.txt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2342048db..3e775f438 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -725,7 +725,22 @@ IF (ENABLE_GD MATCHES "ON") ProcessPackage(GD LIBRARY gd INCLUDE gd.h INCLUDE_SUFFIXES include/gd include/libgd ROOT ${GD_ROOT_DIR} MODULES gd) - SET(WITH_GD 1) + LIST(APPEND CMAKE_REQUIRED_INCLUDES "${GD_INCLUDE}") + LIST(APPEND CMAKE_REQUIRED_LIBRARIES "${GD_LIBRARY}") + + CHECK_SYMBOL_EXISTS(gdImageSetInterpolationMethod gd.h GD_INTERPOLATION) + CHECK_SYMBOL_EXISTS(gdImageScale gd.h GD_SCALE) + CHECK_SYMBOL_EXISTS(gdImageGrayScale gd.h GD_GRAYSCALE) + CHECK_SYMBOL_EXISTS(gdImageCreateFromJpegPtr gd.h GD_JPEG) + CHECK_SYMBOL_EXISTS(gdImageCreateFromPngPtr gd.h GD_PNG) + CHECK_SYMBOL_EXISTS(gdImageCreateFromJpegPtr gd.h GD_BMP) + CHECK_SYMBOL_EXISTS(gdImageCreateFromBmpPtr gd.h GD_GIF) + + IF(GD_INTERPOLATION AND GD_SCALE AND GD_GRAYSCALE AND GD_JPEG AND GD_PNG AND GD_GIF AND GD_BMP) + SET(WITH_GD 1) + ELSE() + MESSAGE(STATUS "Libgd is found but it is unusable") + ENDIF() ENDIF () #Check for openssl (required for dkim) -- 2.39.5