From a335137607a135ab8d2983dd1e1c168abfe82a86 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sat, 4 Jan 2014 13:12:45 +1100 Subject: CMake: fix for OpenEXRConfig.h not being found on some Linux systems --- build_files/cmake/Modules/FindOpenEXR.cmake | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'build_files/cmake/Modules/FindOpenEXR.cmake') diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake index c794dd0a8c7..166ef052076 100644 --- a/build_files/cmake/Modules/FindOpenEXR.cmake +++ b/build_files/cmake/Modules/FindOpenEXR.cmake @@ -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() -- cgit v1.2.3