diff options
Diffstat (limited to 'modules/FindAGG.cmake')
-rw-r--r-- | modules/FindAGG.cmake | 88 |
1 files changed, 51 insertions, 37 deletions
diff --git a/modules/FindAGG.cmake b/modules/FindAGG.cmake index 2e92ad31..cf336f40 100644 --- a/modules/FindAGG.cmake +++ b/modules/FindAGG.cmake @@ -7,40 +7,54 @@ # AGG_DEFINITIONS - Compiler switches required for using AGG # - -# use pkg-config to get the directories and then use these values -# in the FIND_PATH() and FIND_LIBRARY() calls -INCLUDE(UsePkgConfig) - -PKGCONFIG(libagg _AGGIncDir _AGGLinkDir _AGGLinkFlags _AGGCflags) - -set(AGG_DEFINITIONS ${_AGGCflags}) - -FIND_PATH(AGG_INCLUDE_DIR agg2/agg_pixfmt_gray.h - ${_AGGIncDir} - /usr/include - /usr/local/include -) - -FIND_LIBRARY(AGG_LIBRARIES NAMES agg - PATHS - ${_AGGLinkDir} - /usr/lib - /usr/local/lib -) - -if (AGG_INCLUDE_DIR AND AGG_LIBRARIES) - set(AGG_FOUND TRUE) -endif (AGG_INCLUDE_DIR AND AGG_LIBRARIES) - -if (AGG_FOUND) - if (NOT AGG_FIND_QUIETLY) - message(STATUS "Found AGG: ${AGG_LIBRARIES}") - endif (NOT AGG_FIND_QUIETLY) -else (AGG_FOUND) - if (AGG_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find AGG") - endif (AGG_FIND_REQUIRED) -endif (AGG_FOUND) - -MARK_AS_ADVANCED(AGG_INCLUDE_DIR AGG_LIBRARIES) +IF (DEFINED CACHED_AGG) + + # in cache already + IF ("${CACHED_AGG}" STREQUAL "YES") + SET(AGG_FOUND TRUE) + ENDIF ("${CACHED_AGG}" STREQUAL "YES") + +ELSE (DEFINED CACHED_AGG) + + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + INCLUDE(UsePkgConfig) + + PKGCONFIG(libagg _AGGIncDir _AGGLinkDir _AGGLinkFlags _AGGCflags) + + set(AGG_DEFINITIONS ${_AGGCflags}) + + FIND_PATH(AGG_INCLUDE_DIR agg2/agg_pixfmt_gray.h + ${_AGGIncDir} + /usr/include + /usr/local/include + ) + + FIND_LIBRARY(AGG_LIBRARIES NAMES agg + PATHS + ${_AGGLinkDir} + /usr/lib + /usr/local/lib + ) + + if (AGG_INCLUDE_DIR AND AGG_LIBRARIES) + set(AGG_FOUND TRUE) + endif (AGG_INCLUDE_DIR AND AGG_LIBRARIES) + + if (AGG_FOUND) + set(CACHED_AGG "YES") + if (NOT AGG_FIND_QUIETLY) + message(STATUS "Found AGG: ${AGG_LIBRARIES}") + endif (NOT AGG_FIND_QUIETLY) + else (AGG_FOUND) + set(CACHED_AGG "NO") + if (AGG_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find AGG") + endif (AGG_FIND_REQUIRED) + endif (AGG_FOUND) + + MARK_AS_ADVANCED(AGG_INCLUDE_DIR AGG_LIBRARIES) + + set(CACHED_AGG ${CACHED_AGG} CACHE INTERNAL "If libagg was checked") + +ENDIF (DEFINED CACHED_AGG) |