CMake: fix for OpenEXRConfig.h not being found on some Linux systems

This commit is contained in:
Campbell Barton 2014-01-04 13:12:45 +11:00
parent fa4260ced9
commit a335137607
1 changed files with 19 additions and 2 deletions

View File

@ -54,8 +54,22 @@ FIND_PATH(OPENEXR_INCLUDE_DIR
# If the headers were found, get the version from config file, if not already set.
IF(OPENEXR_INCLUDE_DIR)
IF(NOT OPENEXR_VERSION)
FILE(STRINGS "${OPENEXR_INCLUDE_DIR}/OpenEXR/OpenEXRConfig.h" OPENEXR_BUILD_SPECIFICATION
REGEX "^[ \t]*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
FIND_FILE(_openexr_CONFIG
NAMES
OpenEXRConfig.h
PATHS
"${OPENEXR_INCLUDE_DIR}"
"${OPENEXR_INCLUDE_DIR}/OpenEXR"
NO_DEFAULT_PATH
)
IF(_openexr_CONFIG)
FILE(STRINGS "${_openexr_CONFIG}" OPENEXR_BUILD_SPECIFICATION
REGEX "^[ \t]*#define[ \t]+OPENEXR_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
ELSE()
MESSAGE(WARNING "Could not find \"OpenEXRConfig.h\" in \"${OPENEXR_INCLUDE_DIR}\"")
ENDIF()
IF(OPENEXR_BUILD_SPECIFICATION)
MESSAGE(STATUS "${OPENEXR_BUILD_SPECIFICATION}")
@ -67,6 +81,9 @@ IF(OPENEXR_INCLUDE_DIR)
MESSAGE(WARNING "Could not determine ILMBase library version, assuming 2.0.")
SET("OPENEXR_VERSION" "2.0" CACHE STRING "Version of OpenEXR lib")
ENDIF()
UNSET(_openexr_CONFIG CACHE)
ENDIF()
ENDIF()