vcpkg/scripts/test_ports/vcpkg-ci-blender/fix_openexr.patch

68 lines
2.2 KiB
Diff

diff --git a/build_files/cmake/Modules/FindOpenEXR.cmake b/build_files/cmake/Modules/FindOpenEXR.cmake
--- a/build_files/cmake/Modules/FindOpenEXR.cmake
+++ b/build_files/cmake/Modules/FindOpenEXR.cmake
@@ -22,6 +22,54 @@
# also defined, but not for general use are
# OPENEXR_LIBRARY, where to find the OpenEXR library.
+block(SCOPE_FOR VARIABLES)
+ find_package(OpenEXR CONFIG REQUIRED)
+
+ set(_openexr_libraries OpenEXR::OpenEXR)
+ if(TARGET OpenEXR::OpenEXRUtil)
+ list(APPEND _openexr_libraries OpenEXR::OpenEXRUtil)
+ endif()
+
+ if(TARGET OpenEXR::OpenEXRConfig)
+ get_target_property(_openexr_include_dirs OpenEXR::OpenEXRConfig INTERFACE_INCLUDE_DIRECTORIES)
+ else()
+ get_target_property(_openexr_include_dirs OpenEXR::OpenEXR INTERFACE_INCLUDE_DIRECTORIES)
+ endif()
+
+ if(TARGET Imath::ImathConfig)
+ get_target_property(_imath_include_dirs Imath::ImathConfig INTERFACE_INCLUDE_DIRECTORIES)
+ elseif(TARGET Imath::Imath)
+ get_target_property(_imath_include_dirs Imath::Imath INTERFACE_INCLUDE_DIRECTORIES)
+ endif()
+
+ set(_openexr_include_dir "")
+ foreach(_openexr_dir IN LISTS _openexr_include_dirs)
+ if(EXISTS "${_openexr_dir}/OpenEXR/OpenEXRConfig.h")
+ set(_openexr_include_dir "${_openexr_dir}")
+ break()
+ endif()
+ endforeach()
+ if(NOT _openexr_include_dir)
+ list(GET _openexr_include_dirs 0 _openexr_include_dir)
+ endif()
+
+ if(TARGET Imath::Imath)
+ set(IMATH_LIBRARIES Imath::Imath PARENT_SCOPE)
+ endif()
+ if(_imath_include_dirs)
+ set(IMATH_INCLUDE_DIRS "${_imath_include_dirs}" PARENT_SCOPE)
+ list(GET _imath_include_dirs 0 _imath_include_dir)
+ set(IMATH_INCLUDE_DIR "${_imath_include_dir}" PARENT_SCOPE)
+ endif()
+
+ set(OpenEXR_FOUND TRUE PARENT_SCOPE)
+ set(OPENEXR_FOUND TRUE PARENT_SCOPE)
+ set(OPENEXR_LIBRARIES "${_openexr_libraries}" PARENT_SCOPE)
+ set(OPENEXR_INCLUDE_DIRS "${_openexr_include_dirs}" PARENT_SCOPE)
+ set(OPENEXR_INCLUDE_DIR "${_openexr_include_dir}" PARENT_SCOPE)
+endblock()
+
+if(0)
# If `OPENEXR_ROOT_DIR` was defined in the environment, use it.
if(DEFINED OPENEXR_ROOT_DIR)
# Pass.
@@ -204,6 +252,8 @@
set(IMATH_INCLUDE_DIRS
${IMATH_INCLUDE_DIR})
endif()
+
+endif()
mark_as_advanced(
OPENEXR_INCLUDE_DIR