-
-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b9617ed
commit a540ccb
Showing
4 changed files
with
136 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,121 @@ | ||
# - Find GD | ||
# Find the native GD includes and library | ||
# This module defines | ||
# GD_INCLUDE_DIR, where to find gd.h, etc. | ||
# GD_LIBRARIES, the libraries needed to use GD. | ||
# GD_FOUND, If false, do not try to use GD. | ||
# also defined, but not for general use are | ||
# GD_LIBRARY, where to find the GD library. | ||
# GD_SUPPORTS_PNG, GD_SUPPORTS_JPEG, GD_SUPPORTS_GIF, test | ||
# support for image formats in GD. | ||
|
||
FIND_PATH(GD_INCLUDE_DIR gd.h | ||
/usr/local/include | ||
/usr/include | ||
) | ||
|
||
if(WIN32 AND NOT CYGWIN) | ||
SET(GD_NAMES ${GD_NAMES} bgd) | ||
else(WIN32) | ||
SET(GD_NAMES ${GD_NAMES} gd) | ||
endif(WIN32 AND NOT CYGWIN) | ||
|
||
FIND_LIBRARY(GD_LIBRARY | ||
NAMES ${GD_NAMES} | ||
PATHS /usr/lib64 /usr/lib /usr/local/lib | ||
) | ||
|
||
IF (GD_LIBRARY AND GD_INCLUDE_DIR) | ||
SET(GD_LIBRARIES ${GD_LIBRARY}) | ||
SET(GD_FOUND "YES") | ||
ELSE (GD_LIBRARY AND GD_INCLUDE_DIR) | ||
SET(GD_FOUND "NO") | ||
ENDIF (GD_LIBRARY AND GD_INCLUDE_DIR) | ||
message("Found GD: ${GD_FOUND}") | ||
IF (GD_FOUND) | ||
IF (WIN32 AND NOT CYGWIN) | ||
SET(GD_SUPPORTS_PNG ON) | ||
SET(GD_SUPPORTS_JPEG ON) | ||
SET(GD_SUPPORTS_GIF ON) | ||
get_filename_component(GD_LIBRARY_DIR ${GD_LIBRARY} PATH) | ||
ELSE (WIN32 AND NOT CYGWIN) | ||
INCLUDE(CheckLibraryExists) | ||
GET_FILENAME_COMPONENT(GD_LIB_PATH ${GD_LIBRARY} PATH) | ||
GET_FILENAME_COMPONENT(GD_LIB ${GD_LIBRARY} NAME) | ||
|
||
CHECK_LIBRARY_EXISTS("${GD_LIBRARY}" "gdImagePng" "${GD_LIB_PATH}" GD_SUPPORTS_PNG) | ||
IF (GD_SUPPORTS_PNG) | ||
find_package(PNG) | ||
IF (PNG_FOUND) | ||
SET(GD_LIBRARIES ${GD_LIBRARIES} ${PNG_LIBRARIES}) | ||
SET(GD_INCLUDE_DIR ${GD_INCLUDE_DIR} ${PNG_INCLUDE_DIR}) | ||
ELSE (PNG_FOUND) | ||
SET(GD_SUPPORTS_PNG "NO") | ||
ENDIF (PNG_FOUND) | ||
ENDIF (GD_SUPPORTS_PNG) | ||
|
||
CHECK_LIBRARY_EXISTS("${GD_LIBRARY}" "gdImageJpeg" "${GD_LIB_PATH}" GD_SUPPORTS_JPEG) | ||
IF (GD_SUPPORTS_JPEG) | ||
find_package(JPEG) | ||
IF (JPEG_FOUND) | ||
SET(GD_LIBRARIES ${GD_LIBRARIES} ${JPEG_LIBRARIES}) | ||
SET(GD_INCLUDE_DIR ${GD_INCLUDE_DIR} ${JPEG_INCLUDE_DIR}) | ||
ELSE (JPEG_FOUND) | ||
SET(GD_SUPPORTS_JPEG "NO") | ||
ENDIF (JPEG_FOUND) | ||
ENDIF (GD_SUPPORTS_JPEG) | ||
|
||
CHECK_LIBRARY_EXISTS("${GD_LIBRARY}" "gdImageGif" "${GD_LIB_PATH}" GD_SUPPORTS_GIF) | ||
|
||
# Trim the list of include directories | ||
SET(GDINCTRIM) | ||
FOREACH(GD_DIR ${GD_INCLUDE_DIR}) | ||
SET(GD_TMP_FOUND OFF) | ||
FOREACH(GD_TRIMMED ${GDINCTRIM}) | ||
IF ("${GD_DIR}" STREQUAL "${GD_TRIMMED}") | ||
SET(GD_TMP_FOUND ON) | ||
ENDIF ("${GD_DIR}" STREQUAL "${GD_TRIMMED}") | ||
ENDFOREACH(GD_TRIMMED ${GDINCTRIM}) | ||
IF (NOT GD_TMP_FOUND) | ||
SET(GDINCTRIM "${GDINCTRIM}" "${GD_DIR}") | ||
ENDIF (NOT GD_TMP_FOUND) | ||
ENDFOREACH(GD_DIR ${GD_INCLUDE_DIR}) | ||
SET(GD_INCLUDE_DIR ${GDINCTRIM}) | ||
|
||
SET(GD_LIBRARY_DIR) | ||
|
||
# Generate trimmed list of library directories and list of libraries | ||
FOREACH(GD_LIB ${GD_LIBRARIES}) | ||
GET_FILENAME_COMPONENT(GD_NEXTLIBDIR ${GD_LIB} PATH) | ||
SET(GD_TMP_FOUND OFF) | ||
FOREACH(GD_LIBDIR ${GD_LIBRARY_DIR}) | ||
IF ("${GD_NEXTLIBDIR}" STREQUAL "${GD_LIBDIR}") | ||
SET(GD_TMP_FOUND ON) | ||
ENDIF ("${GD_NEXTLIBDIR}" STREQUAL "${GD_LIBDIR}") | ||
ENDFOREACH(GD_LIBDIR ${GD_LIBRARIES}) | ||
IF (NOT GD_TMP_FOUND) | ||
SET(GD_LIBRARY_DIR "${GD_LIBRARY_DIR}" "${GD_NEXTLIBDIR}") | ||
ENDIF (NOT GD_TMP_FOUND) | ||
ENDFOREACH(GD_LIB ${GD_LIBRARIES}) | ||
ENDIF (WIN32 AND NOT CYGWIN) | ||
ENDIF (GD_FOUND) | ||
|
||
IF (GD_FOUND) | ||
IF (NOT GD_FIND_QUIETLY) | ||
MESSAGE(STATUS "Found GD: ${GD_LIBRARY}") | ||
ENDIF (NOT GD_FIND_QUIETLY) | ||
ELSE (GD_FOUND) | ||
IF (GD_FIND_REQUIRED) | ||
MESSAGE(FATAL_ERROR "Could not find GD library") | ||
ENDIF (GD_FIND_REQUIRED) | ||
ENDIF (GD_FOUND) | ||
|
||
MARK_AS_ADVANCED( | ||
GD_LIBRARY | ||
GD_LIBRARIES | ||
GD_INCLUDE_DIR | ||
GD_LIBRARY_DIR | ||
GD_SUPPORTS_PNG | ||
GD_SUPPORTS_JPEG | ||
GD_SUPPORTS_GIF | ||
) |