aboutsummaryrefslogtreecommitdiff
path: root/modules/FindAGG.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'modules/FindAGG.cmake')
-rw-r--r--modules/FindAGG.cmake88
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)