90 lines
3.3 KiB
Diff
90 lines
3.3 KiB
Diff
From fb3a334bbee3535d508af6510d9903d26ba37d34 Mon Sep 17 00:00:00 2001
|
|
From: h6197627 <aon70983@cndps.com>
|
|
Date: Mon, 6 Jan 2020 15:52:40 +0200
|
|
Subject: [PATCH] cmake: fix Linux system OpenEXR detection
|
|
|
|
---
|
|
cmake/OpenCVFindOpenEXR.cmake | 55 ++++++++++++++++++-----------------
|
|
1 file changed, 29 insertions(+), 26 deletions(-)
|
|
|
|
diff --git a/cmake/OpenCVFindOpenEXR.cmake b/cmake/OpenCVFindOpenEXR.cmake
|
|
index fb6c2fa1469..9103f1f5a71 100644
|
|
--- a/cmake/OpenCVFindOpenEXR.cmake
|
|
+++ b/cmake/OpenCVFindOpenEXR.cmake
|
|
@@ -20,6 +20,8 @@ if(WIN32)
|
|
elseif(MSVC)
|
|
SET(OPENEXR_LIBSEARCH_SUFFIXES Win32/Release Win32 Win32/Debug)
|
|
endif()
|
|
+elseif(UNIX)
|
|
+ SET(OPENEXR_LIBSEARCH_SUFFIXES ${CMAKE_LIBRARY_ARCHITECTURE})
|
|
endif()
|
|
|
|
SET(SEARCH_PATHS
|
|
@@ -39,6 +41,25 @@ MACRO(FIND_OPENEXR_LIBRARY LIBRARY_NAME LIBRARY_SUFFIX)
|
|
PATHS "${SEARCH_PATH}/lib" "${SEARCH_PATH}/lib/static")
|
|
ENDMACRO()
|
|
|
|
+MACRO(ocv_find_openexr LIBRARY_SUFFIX)
|
|
+ IF(NOT OPENEXR_FOUND)
|
|
+ FIND_OPENEXR_LIBRARY("Half" "${LIBRARY_SUFFIX}")
|
|
+ FIND_OPENEXR_LIBRARY("Iex" "${LIBRARY_SUFFIX}")
|
|
+ FIND_OPENEXR_LIBRARY("Imath" "${LIBRARY_SUFFIX}")
|
|
+ FIND_OPENEXR_LIBRARY("IlmImf" "${LIBRARY_SUFFIX}")
|
|
+ FIND_OPENEXR_LIBRARY("IlmThread" "${LIBRARY_SUFFIX}")
|
|
+ IF (OPENEXR_INCLUDE_PATH AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY AND OPENEXR_ILMTHREAD_LIBRARY)
|
|
+ SET(OPENEXR_FOUND TRUE)
|
|
+ ELSE()
|
|
+ UNSET(OPENEXR_IMATH_LIBRARY)
|
|
+ UNSET(OPENEXR_ILMIMF_LIBRARY)
|
|
+ UNSET(OPENEXR_IEX_LIBRARY)
|
|
+ UNSET(OPENEXR_ILMTHREAD_LIBRARY)
|
|
+ UNSET(OPENEXR_HALF_LIBRARY)
|
|
+ ENDIF()
|
|
+ ENDIF()
|
|
+ENDMACRO()
|
|
+
|
|
FOREACH(SEARCH_PATH ${SEARCH_PATHS})
|
|
FIND_PATH(OPENEXR_INCLUDE_PATH ImfRgbaFile.h
|
|
PATH_SUFFIXES OpenEXR
|
|
@@ -64,32 +85,14 @@ FOREACH(SEARCH_PATH ${SEARCH_PATHS})
|
|
set(OPENEXR_VERSION "${OPENEXR_VERSION_MAJOR}_${OPENEXR_VERSION_MINOR}")
|
|
ENDIF ()
|
|
|
|
- SET(LIBRARY_SUFFIXES
|
|
- "-${OPENEXR_VERSION}"
|
|
- "-${OPENEXR_VERSION}_s"
|
|
- "-${OPENEXR_VERSION}_d"
|
|
- "-${OPEXEXR_VERSION}_s_d"
|
|
- ""
|
|
- "_s"
|
|
- "_d"
|
|
- "_s_d")
|
|
-
|
|
- FOREACH(LIBRARY_SUFFIX ${LIBRARY_SUFFIXES})
|
|
- FIND_OPENEXR_LIBRARY("Half" ${LIBRARY_SUFFIX})
|
|
- FIND_OPENEXR_LIBRARY("Iex" ${LIBRARY_SUFFIX})
|
|
- FIND_OPENEXR_LIBRARY("Imath" ${LIBRARY_SUFFIX})
|
|
- FIND_OPENEXR_LIBRARY("IlmImf" ${LIBRARY_SUFFIX})
|
|
- FIND_OPENEXR_LIBRARY("IlmThread" ${LIBRARY_SUFFIX})
|
|
- IF (OPENEXR_INCLUDE_PATH AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY)
|
|
- SET(OPENEXR_FOUND TRUE)
|
|
- BREAK()
|
|
- ENDIF()
|
|
- UNSET(OPENEXR_IMATH_LIBRARY)
|
|
- UNSET(OPENEXR_ILMIMF_LIBRARY)
|
|
- UNSET(OPENEXR_IEX_LIBRARY)
|
|
- UNSET(OPENEXR_ILMTHREAD_LIBRARY)
|
|
- UNSET(OPENEXR_HALF_LIBRARY)
|
|
- ENDFOREACH()
|
|
+ ocv_find_openexr("-${OPENEXR_VERSION}")
|
|
+ ocv_find_openexr("-${OPENEXR_VERSION}_s")
|
|
+ ocv_find_openexr("-${OPENEXR_VERSION}_d")
|
|
+ ocv_find_openexr("-${OPEXEXR_VERSION}_s_d")
|
|
+ ocv_find_openexr("")
|
|
+ ocv_find_openexr("_s")
|
|
+ ocv_find_openexr("_d")
|
|
+ ocv_find_openexr("_s_d")
|
|
|
|
IF (OPENEXR_FOUND)
|
|
BREAK()
|