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