Blob Blame History Raw
Index: hugin-2020.0.0/CMakeLists.txt
===================================================================
--- hugin-2020.0.0.orig/CMakeLists.txt
+++ hugin-2020.0.0/CMakeLists.txt
@@ -214,7 +214,18 @@ ENDIF()
 
 ENDIF()
 
-FIND_PACKAGE(OpenEXR REQUIRED)
+FIND_PACKAGE(Imath CONFIG)
+IF(TARGET Imath::Imath)
+    FIND_PACKAGE(OpenEXR CONFIG REQUIRED)
+	FIND_PACKAGE(ZLIB REQUIRED)
+	get_target_property(OPENEXR_INCLUDE_DIR OpenEXR::OpenEXRConfig INTERFACE_INCLUDE_DIRECTORIES)
+	get_target_property(IMATH_INCLUDE_DIR Imath::ImathConfig INTERFACE_INCLUDE_DIRECTORIES)
+    list(APPEND OPENEXR_INCLUDE_DIR ${IMATH_INCLUDE_DIR})
+	set(OPENEXR_LIBRARIES OpenEXR::OpenEXR Imath::Imath ${ZLIB_LIBRARIES})
+	set(OPENEXR_FOUND TRUE)
+ELSE()
+    FIND_PACKAGE(OpenEXR REQUIRED)
+ENDIF()
 include_directories(${OPENEXR_INCLUDE_DIR})
 
 FIND_PACKAGE(VIGRA 1.9.0 REQUIRED)
Index: hugin-2020.0.0/src/hugin_base/vigra_ext/ReduceOpenEXR.h
===================================================================
--- hugin-2020.0.0.orig/src/hugin_base/vigra_ext/ReduceOpenEXR.h
+++ hugin-2020.0.0/src/hugin_base/vigra_ext/ReduceOpenEXR.h
@@ -25,8 +25,8 @@
 #include <vigra_ext/HDRUtils.h>
 #include <vigra_ext/FileRAII.h>
 
-#include <ImfRgbaFile.h>
-#include <ImfArray.h>
+#include <OpenEXR/ImfRgbaFile.h>
+#include <OpenEXR/ImfArray.h>
 
 
 // hack to read pgm header
Index: hugin-2020.0.0/CMakeModules/FindVIGRA.cmake
===================================================================
--- hugin-2020.0.0.orig/CMakeModules/FindVIGRA.cmake
+++ hugin-2020.0.0/CMakeModules/FindVIGRA.cmake
@@ -75,6 +75,9 @@ IF (VIGRA_FOUND)
       )
       STRING(TOLOWER "${OUTPUT_LDD_VIGRA}" OUTPUT_LDD_VIGRA_LOWER)
       IF(NOT "${OUTPUT_LDD_VIGRA_LOWER}" MATCHES "libilmimf")
+      ELSEIF(NOT "${OUTPUT_LDD_VIGRA_LOWER}" MATCHES "libiopenexr")
+	    MESSAGE(STATUS "OpenEXR is version 3 or greter.")
+	  ELSE()
         MESSAGE(FATAL_ERROR "Libvigraimpex found. But vigraimpex seems to compiled without OpenEXR support. OpenEXR support is required for Hugin.")
       ENDIF()
     ELSE()