From eab11436712f92afc6e7b14b25d1f6df217d79d7 Mon Sep 17 00:00:00 2001
From: Antonio Rojas <arojas@archlinux.org>
Date: Sat, 24 Apr 2021 11:19:52 +0200
Subject: [PATCH] Support building with OpenEXR 3

Try to find OpenEXR 3 first using the upstream cmake config, and fall back to using our FindOpenEXR
---
 CMakeLists.txt                                  | 9 +++++++--
 libs/pigment/CMakeLists.txt                     | 2 +-
 plugins/colorengines/lcms2/CMakeLists.txt       | 6 +++---
 plugins/colorengines/lcms2/tests/CMakeLists.txt | 2 +-
 4 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8955357ff97..ea56c84bb11 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -363,8 +363,13 @@ endif ()
 ## Check for OpenEXR
 ##
 
-macro_optional_find_package(OpenEXR)
-macro_bool_to_01(OPENEXR_FOUND HAVE_OPENEXR)
+macro_optional_find_package(OpenEXR 3.0 CONFIG QUIET)
+if(TARGET OpenEXR::OpenEXR)
+    set(OPENEXR_LIBRARIES OpenEXR::OpenEXR)
+else()
+    macro_optional_find_package(OpenEXR)
+endif()
+macro_bool_to_01(OpenEXR_FOUND HAVE_OPENEXR)
 
 ##
 ## Test for GNU Scientific Library
diff --git a/libs/pigment/CMakeLists.txt b/libs/pigment/CMakeLists.txt
index a039251e2ad..6eb6a8e70b6 100644
--- a/libs/pigment/CMakeLists.txt
+++ b/libs/pigment/CMakeLists.txt
@@ -12,7 +12,7 @@ include_directories( ${PIGMENT_INCLUDES}  ${Boost_INCLUDE_DIR})
 
 set(FILE_OPENEXR_SOURCES)
 set(LINK_OPENEXR_LIB)
-if(OPENEXR_FOUND)
+if(OpenEXR_FOUND)
     include_directories(${OPENEXR_INCLUDE_DIR})
     set(LINK_OPENEXR_LIB ${OPENEXR_LIBRARIES})
     add_definitions(${OPENEXR_DEFINITIONS})
diff --git a/plugins/colorengines/lcms2/CMakeLists.txt b/plugins/colorengines/lcms2/CMakeLists.txt
index 77807ff9702..920adbeaf87 100644
--- a/plugins/colorengines/lcms2/CMakeLists.txt
+++ b/plugins/colorengines/lcms2/CMakeLists.txt
@@ -31,7 +31,7 @@ include_directories(
     ${CMAKE_CURRENT_SOURCE_DIR}/colorprofiles
 )
 
-if (HAVE_LCMS24 AND OPENEXR_FOUND)
+if (HAVE_LCMS24 AND OpenEXR_FOUND)
 include_directories( 
     ${CMAKE_CURRENT_SOURCE_DIR}/colorspaces/gray_f16
     ${CMAKE_CURRENT_SOURCE_DIR}/colorspaces/rgb_f16
@@ -41,7 +41,7 @@ endif ()
 
 set(FILE_OPENEXR_SOURCES)
 set(LINK_OPENEXR_LIB)
-if(OPENEXR_FOUND)
+if(OpenEXR_FOUND)
     include_directories(${OPENEXR_INCLUDE_DIR})
     set(LINK_OPENEXR_LIB ${OPENEXR_LIBRARIES})
     add_definitions(${OPENEXR_DEFINITIONS})
@@ -80,7 +80,7 @@ set ( lcmsengine_SRCS
     LcmsEnginePlugin.cpp
 )
 
-if (HAVE_LCMS24 AND OPENEXR_FOUND)
+if (HAVE_LCMS24 AND OpenEXR_FOUND)
     set ( lcmsengine_SRCS
         ${lcmsengine_SRCS}
         colorspaces/gray_f16/GrayF16ColorSpace.cpp
diff --git a/plugins/colorengines/lcms2/tests/CMakeLists.txt b/plugins/colorengines/lcms2/tests/CMakeLists.txt
index 2540acc834c..77bd0b3fe4a 100644
--- a/plugins/colorengines/lcms2/tests/CMakeLists.txt
+++ b/plugins/colorengines/lcms2/tests/CMakeLists.txt
@@ -12,7 +12,7 @@ include_directories( ../colorspaces/cmyk_u16
     ../colorprofiles
     ..
 )
-if(OPENEXR_FOUND)
+if(OpenEXR_FOUND)
     include_directories(${OPENEXR_INCLUDE_DIR})
 endif()
 include_directories( ${PIGMENT_INCLUDES} ${LCMS2_INCLUDE_DIR} )
-- 
GitLab

