aboutsummaryrefslogtreecommitdiff
path: root/modules/FindAGG.cmake
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2006-04-18 11:22:38 +0000
committerDavid Faure <faure@kde.org>2006-04-18 11:22:38 +0000
commit2b43aad081d13bdeb2ed8a65f65fbecfb470da0d (patch)
tree405e268ae2040a0266b2921ea2fa3ce8ffaded57 /modules/FindAGG.cmake
parentf0436915e149f27532c6aece815e3169794dc72b (diff)
downloadextra-cmake-modules-2b43aad081d13bdeb2ed8a65f65fbecfb470da0d.tar.gz
extra-cmake-modules-2b43aad081d13bdeb2ed8a65f65fbecfb470da0d.tar.bz2
More use of the cache; fixing previous commit to not recheck everytime when something isn't available (e.g. agg for me).
svn path=/trunk/KDE/kdelibs/; revision=531000
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)