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)