diff options
author | David Faure <faure@kde.org> | 2006-04-18 11:22:38 +0000 |
---|---|---|
committer | David Faure <faure@kde.org> | 2006-04-18 11:22:38 +0000 |
commit | 2b43aad081d13bdeb2ed8a65f65fbecfb470da0d (patch) | |
tree | 405e268ae2040a0266b2921ea2fa3ce8ffaded57 /modules/FindOpenEXR.cmake | |
parent | f0436915e149f27532c6aece815e3169794dc72b (diff) | |
download | extra-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/FindOpenEXR.cmake')
-rw-r--r-- | modules/FindOpenEXR.cmake | 156 |
1 files changed, 84 insertions, 72 deletions
diff --git a/modules/FindOpenEXR.cmake b/modules/FindOpenEXR.cmake index db0aa3be..a139a430 100644 --- a/modules/FindOpenEXR.cmake +++ b/modules/FindOpenEXR.cmake @@ -1,74 +1,86 @@ -# use pkg-config to get the directories and then use these values -# in the FIND_PATH() and FIND_LIBRARY() calls -INCLUDE(UsePkgConfig) - -PKGCONFIG(OpenEXR _OpenEXRIncDir _OpenEXRLinkDir _OpenEXRLinkFlags _OpenEXRCflags) - -#PKGCONFIG(libagg _AGGIncDir _AGGLinkDir _AGGLinkFlags _AGGCflags) - -FIND_PATH(OPENEXR_INCLUDE_DIR ImfRgbaFile.h - ${_OpenEXRIncDir} - ${_OpenEXRIncDir}/OpenEXR/ - /usr/include - /usr/local/include -) - -FIND_LIBRARY(OPENEXR_HALF_LIBRARY NAMES Half - PATHS - ${_OPENEXRLinkDir} - /usr/lib - /usr/local/lib -) - - -FIND_LIBRARY(OPENEXR_IEX_LIBRARY NAMES Iex - PATHS - ${_OPENEXRLinkDir} - /usr/lib - /usr/local/lib -) - -FIND_LIBRARY(OPENEXR_IMATH_LIBRARY NAMES Imath - PATHS - ${_OPENEXRLinkDir} - /usr/lib - /usr/local/lib -) - - -FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf - PATHS - ${_OPENEXRLinkDir} - /usr/lib - /usr/local/lib -) - -set(OPENEXR_LIBRARIES ${OPENEXR_HALF_LIBRARY} ${OPENEXR_IMATH_LIBRARY} ) - -if (OPENEXR_INCLUDE_DIR AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY) - set(OPENEXR_FOUND TRUE) - set(OPENEXR_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY}) -endif (OPENEXR_INCLUDE_DIR AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY) - - - -if (OPENEXR_FOUND) - if (NOT OpenEXR_FIND_QUIETLY) - message(STATUS "Found OPENEXR: ${OPENEXR_LIBRARIES}") - endif (NOT OpenEXR_FIND_QUIETLY) -else (OPENEXR_FOUND) - if (OpenEXR_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find OPENEXR") - endif (OpenEXR_FIND_REQUIRED) -endif (OPENEXR_FOUND) - -MARK_AS_ADVANCED( - OPENEXR_INCLUDE_DIR - OPENEXR_LIBRARIES - OPENEXR_ILMIMF_LIBRARY - OPENEXR_IMATH_LIBRARY - OPENEXR_IEX_LIBRARY - OPENEXR_HALF_LIBRARY ) - +IF (DEFINED CACHED_OPENEXR) + + # in cache already + IF ("${CACHED_OPENEXR}" STREQUAL "YES") + SET(OPENEXR_FOUND TRUE) + ENDIF ("${CACHED_OPENEXR}" STREQUAL "YES") + +ELSE (DEFINED CACHED_OPENEXR) + + # use pkg-config to get the directories and then use these values + # in the FIND_PATH() and FIND_LIBRARY() calls + INCLUDE(UsePkgConfig) + + PKGCONFIG(OpenEXR _OpenEXRIncDir _OpenEXRLinkDir _OpenEXRLinkFlags _OpenEXRCflags) + + FIND_PATH(OPENEXR_INCLUDE_DIR ImfRgbaFile.h + ${_OpenEXRIncDir} + ${_OpenEXRIncDir}/OpenEXR/ + /usr/include + /usr/local/include + ) + + FIND_LIBRARY(OPENEXR_HALF_LIBRARY NAMES Half + PATHS + ${_OPENEXRLinkDir} + /usr/lib + /usr/local/lib + ) + + + FIND_LIBRARY(OPENEXR_IEX_LIBRARY NAMES Iex + PATHS + ${_OPENEXRLinkDir} + /usr/lib + /usr/local/lib + ) + + FIND_LIBRARY(OPENEXR_IMATH_LIBRARY NAMES Imath + PATHS + ${_OPENEXRLinkDir} + /usr/lib + /usr/local/lib + ) + + + FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf + PATHS + ${_OPENEXRLinkDir} + /usr/lib + /usr/local/lib + ) + + set(OPENEXR_LIBRARIES ${OPENEXR_HALF_LIBRARY} ${OPENEXR_IMATH_LIBRARY} ) + + if (OPENEXR_INCLUDE_DIR AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY) + set(OPENEXR_FOUND TRUE) + set(OPENEXR_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} CACHE STRING "The libraries needed to use OpenEXR") + endif (OPENEXR_INCLUDE_DIR AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY) + + + + if (OPENEXR_FOUND) + set(CACHED_OPENEXR "YES") + if (NOT OpenEXR_FIND_QUIETLY) + message(STATUS "Found OPENEXR: ${OPENEXR_LIBRARIES}") + endif (NOT OpenEXR_FIND_QUIETLY) + else (OPENEXR_FOUND) + set(CACHED_OPENEXR "NO") + if (OpenEXR_FIND_REQUIRED) + message(FATAL_ERROR "Could NOT find OPENEXR") + endif (OpenEXR_FIND_REQUIRED) + endif (OPENEXR_FOUND) + + MARK_AS_ADVANCED( + OPENEXR_INCLUDE_DIR + OPENEXR_LIBRARIES + OPENEXR_ILMIMF_LIBRARY + OPENEXR_IMATH_LIBRARY + OPENEXR_IEX_LIBRARY + OPENEXR_HALF_LIBRARY ) + + set(CACHED_OPENEXR ${CACHED_OPENEXR} CACHE INTERNAL "If openexr was checked") + +ENDIF (DEFINED CACHED_OPENEXR) |