aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackBoosY <47264268+JackBoosY@users.noreply.github.com>2019-06-27 01:33:36 +0800
committerPhil Christensen <philc@microsoft.com>2019-06-26 10:33:36 -0700
commiteff0769b757481f0f3a42f195355abbd319b6f78 (patch)
treeabdccffb60050e6373f0fc8d16a182c7e715e9c4
parent9c3e312d81f402ccd122255a464ea4e27e950483 (diff)
downloadvcpkg-eff0769b757481f0f3a42f195355abbd319b6f78.tar.gz
vcpkg-eff0769b757481f0f3a42f195355abbd319b6f78.zip
[openvdb]Upgrade version to 6.1.0, regenerate patches and fix build errors. (#6864)
-rw-r--r--ports/openvdb/0001-fix-cmake-modules.patch207
-rw-r--r--ports/openvdb/0001-remove-pkgconfig.patch129
-rw-r--r--ports/openvdb/0002-add-custom-options.patch14
-rw-r--r--ports/openvdb/0002-fix-cmake-modules.patch1125
-rw-r--r--ports/openvdb/0003-build-only-necessary-targets.patch282
-rw-r--r--ports/openvdb/0003-fix-cmake.patch90
-rw-r--r--ports/openvdb/0004-add-necessary-head.patch59
-rw-r--r--ports/openvdb/CONTROL4
-rw-r--r--ports/openvdb/blosc.patch24
-rw-r--r--ports/openvdb/portfile.cmake35
10 files changed, 1366 insertions, 603 deletions
diff --git a/ports/openvdb/0001-fix-cmake-modules.patch b/ports/openvdb/0001-fix-cmake-modules.patch
deleted file mode 100644
index 03cc2461e..000000000
--- a/ports/openvdb/0001-fix-cmake-modules.patch
+++ /dev/null
@@ -1,207 +0,0 @@
-diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake
-index 2d9d9d3..e9b4abc 100644
---- a/cmake/FindBlosc.cmake
-+++ b/cmake/FindBlosc.cmake
-@@ -37,11 +37,7 @@
-
- FIND_PACKAGE ( PackageHandleStandardArgs )
-
--FIND_PATH( BLOSC_LOCATION include/blosc.h
-- "$ENV{BLOSC_ROOT}"
-- NO_DEFAULT_PATH
-- NO_SYSTEM_ENVIRONMENT_PATH
-- )
-+FIND_PATH( BLOSC_LOCATION include/blosc.h)
-
- FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc
- REQUIRED_VARS BLOSC_LOCATION
-@@ -53,7 +49,7 @@ IF ( BLOSC_FOUND )
- CACHE STRING "Blosc library directories")
-
- SET ( _blosc_library_name "blosc" )
--
-+
- # Static library setup
- IF (Blosc_USE_STATIC_LIBS)
- SET(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES})
-@@ -69,7 +65,7 @@ IF ( BLOSC_FOUND )
- NO_DEFAULT_PATH
- NO_SYSTEM_ENVIRONMENT_PATH
- )
--
-+
- # Static library tear down
- IF (Blosc_USE_STATIC_LIBS)
- SET( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP} )
-diff --git a/cmake/FindGLEW.cmake b/cmake/FindGLEW.cmake
-index 0b72457..75951a6 100644
---- a/cmake/FindGLEW.cmake
-+++ b/cmake/FindGLEW.cmake
-@@ -39,11 +39,7 @@
-
- FIND_PACKAGE ( PackageHandleStandardArgs )
-
--FIND_PATH( GLEW_LOCATION include/GL/glew.h
-- "$ENV{GLEW_ROOT}"
-- NO_DEFAULT_PATH
-- NO_SYSTEM_ENVIRONMENT_PATH
-- )
-+FIND_PATH( GLEW_LOCATION include/GL/glew.h)
-
- FIND_PACKAGE_HANDLE_STANDARD_ARGS ( GLEW
- REQUIRED_VARS GLEW_LOCATION
-diff --git a/cmake/FindGLFW3.cmake b/cmake/FindGLFW3.cmake
-index cea0b86..07ea09e 100644
---- a/cmake/FindGLFW3.cmake
-+++ b/cmake/FindGLFW3.cmake
-@@ -39,11 +39,7 @@
-
- FIND_PACKAGE ( PackageHandleStandardArgs )
-
--FIND_PATH( GLFW3_LOCATION include/GLFW/glfw3.h
-- "$ENV{GLFW3_ROOT}"
-- NO_DEFAULT_PATH
-- NO_SYSTEM_ENVIRONMENT_PATH
--)
-+FIND_PATH( GLFW3_LOCATION include/GLFW/glfw3.h)
-
- FIND_PACKAGE_HANDLE_STANDARD_ARGS ( GLFW3
- REQUIRED_VARS GLFW3_LOCATION
-@@ -59,7 +59,7 @@ IF (GLFW3_FOUND)
- NO_CMAKE_SYSTEM_PATH
- )
- ELSE (GLFW3_USE_STATIC_LIBS)
-- FIND_LIBRARY ( GLFW3_glfw_LIBRARY glfw
-+ FIND_LIBRARY ( GLFW3_glfw_LIBRARY glfw3dll
- PATHS ${GLFW3_LOCATION}/lib
- PATH_SUFFIXES ${GLFW3_PATH_SUFFIXES}
- NO_DEFAULT_PATH
-diff --git a/cmake/FindILMBase.cmake b/cmake/FindILMBase.cmake
-index 664affd..5197110 100644
---- a/cmake/FindILMBase.cmake
-+++ b/cmake/FindILMBase.cmake
-@@ -43,11 +43,7 @@
-
- FIND_PACKAGE ( PackageHandleStandardArgs )
-
--FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h
-- "$ENV{ILMBASE_ROOT}"
-- NO_DEFAULT_PATH
-- NO_SYSTEM_ENVIRONMENT_PATH
-- )
-+FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h)
-
- FIND_PACKAGE_HANDLE_STANDARD_ARGS ( ILMBase
- REQUIRED_VARS ILMBASE_LOCATION
-@@ -70,11 +66,13 @@ IF ( ILMBASE_FOUND )
- SET ( IEXMATH_LIBRARY_NAME IexMath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
- SET ( ILMTHREAD_LIBRARY_NAME IlmThread-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
- SET ( IMATH_LIBRARY_NAME Imath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
-+ SET ( HALF_LIBRARY_NAME Half-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
- ELSE ( ILMBASE_NAMESPACE_VERSIONING )
- SET ( IEX_LIBRARY_NAME Iex )
- SET ( IEXMATH_LIBRARY_NAME IexMath )
- SET ( ILMTHREAD_LIBRARY_NAME IlmThread )
- SET ( IMATH_LIBRARY_NAME Imath )
-+ SET ( HALF_LIBRARY_NAME Half )
- ENDIF ( ILMBASE_NAMESPACE_VERSIONING )
-
- SET ( ILMBASE_INCLUDE_DIRS
-@@ -84,7 +82,7 @@ IF ( ILMBASE_FOUND )
- SET ( ILMBASE_LIBRARYDIR ${ILMBASE_LOCATION}/lib
- CACHE STRING "ILMBase library directories")
- SET ( ILMBASE_FOUND TRUE )
--
-+
- SET ( ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
- IF (Ilmbase_USE_STATIC_LIBS)
- IF (APPLE)
-@@ -129,14 +127,14 @@ IF ( ILMBASE_FOUND )
- ELSEIF (WIN32)
- # Link library
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
-- FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} )
-+ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
- FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
- FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
- FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
- FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
- # Load library
- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
-- FIND_LIBRARY ( Ilmbase_HALF_DLL Half PATHS ${ILMBASE_LOCATION}/bin
-+ FIND_LIBRARY ( Ilmbase_HALF_DLL ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LOCATION}/bin
- NO_DEFAULT_PATH
- NO_SYSTEM_ENVIRONMENT_PATH
- )
-@@ -157,7 +155,7 @@ IF ( ILMBASE_FOUND )
- NO_SYSTEM_ENVIRONMENT_PATH
- )
- ELSE (APPLE)
-- FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR}
-+ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
- NO_DEFAULT_PATH
- NO_SYSTEM_ENVIRONMENT_PATH
- )
-diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake
-index 6d69c03..5ecf8fa 100644
---- a/cmake/FindOpenEXR.cmake
-+++ b/cmake/FindOpenEXR.cmake
-@@ -38,11 +38,7 @@
-
- FIND_PACKAGE ( PackageHandleStandardArgs )
-
--FIND_PATH ( OPENEXR_LOCATION include/OpenEXR/OpenEXRConfig.h
-- ENV OPENEXR_ROOT
-- NO_DEFAULT_PATH
-- NO_SYSTEM_ENVIRONMENT_PATH
-- )
-+FIND_PATH ( OPENEXR_LOCATION include/OpenEXR/OpenEXRConfig.h)
-
- FIND_PACKAGE_HANDLE_STANDARD_ARGS ( OpenEXR
- REQUIRED_VARS OPENEXR_LOCATION
-@@ -59,7 +55,7 @@ IF ( OPENEXR_FOUND )
- FILE ( STRINGS "${OPENEXR_LOCATION}/include/OpenEXR/OpenEXRConfig.h" _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR ")
- STRING ( REGEX REPLACE "#define OPENEXR_VERSION_MINOR" "" _openexr_version_minor_unstrip "${_openexr_version_minor_string}")
- STRING ( STRIP "${_openexr_version_minor_unstrip}" OPENEXR_VERSION_MINOR )
--
-+
- MESSAGE ( STATUS "Found OpenEXR v${OPENEXR_VERSION_MAJOR}.${OPENEXR_VERSION_MINOR} at ${OPENEXR_LOCATION}" )
-
- IF ( OPENEXR_NAMESPACE_VERSIONING )
-@@ -67,7 +63,7 @@ IF ( OPENEXR_FOUND )
- ELSE ( OPENEXR_NAMESPACE_VERSIONING )
- SET ( ILMIMF_LIBRARY_NAME IlmImf )
- ENDIF ( OPENEXR_NAMESPACE_VERSIONING )
--
-+
- SET ( OPENEXR_INCLUDE_DIRS
- ${OPENEXR_LOCATION}/include
- ${OPENEXR_LOCATION}/include/OpenEXR
-@@ -120,6 +116,5 @@ IF ( OPENEXR_FOUND )
- ENDIF ()
-
- # SET( Openexr_ILMIMF_LIBRARY ${OPENEXR_ILMIMF_LIBRARY_PATH} CACHE STRING "Openexr's IlmImf library")
--
--ENDIF ( OPENEXR_FOUND )
-
-+ENDIF ( OPENEXR_FOUND )
-diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake
-index 8a56ec0..9f5a7b4 100644
---- a/cmake/FindTBB.cmake
-+++ b/cmake/FindTBB.cmake
-@@ -42,14 +42,7 @@ FIND_PACKAGE ( PackageHandleStandardArgs )
-
- # SET ( TBB_FOUND FALSE )
-
--FIND_PATH( TBB_LOCATION include/tbb/tbb.h
-- "$ENV{TBB_ROOT}"
-- NO_DEFAULT_PATH
-- NO_CMAKE_ENVIRONMENT_PATH
-- NO_CMAKE_PATH
-- NO_SYSTEM_ENVIRONMENT_PATH
-- NO_CMAKE_SYSTEM_PATH
-- )
-+FIND_PATH( TBB_LOCATION include/tbb/tbb.h)
-
- FIND_PACKAGE_HANDLE_STANDARD_ARGS ( TBB
- REQUIRED_VARS TBB_LOCATION
diff --git a/ports/openvdb/0001-remove-pkgconfig.patch b/ports/openvdb/0001-remove-pkgconfig.patch
new file mode 100644
index 000000000..01803d531
--- /dev/null
+++ b/ports/openvdb/0001-remove-pkgconfig.patch
@@ -0,0 +1,129 @@
+diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake
+index 03e361e..b44f46d 100644
+--- a/cmake/FindBlosc.cmake
++++ b/cmake/FindBlosc.cmake
+@@ -104,11 +104,6 @@ else()
+ endif()
+ endif()
+
+-# Additionally try and use pkconfig to find blosc
+-
+-find_package(PkgConfig)
+-pkg_check_modules(PC_Blosc QUIET blosc)
+-
+ # ------------------------------------------------------------------------
+ # Search for blosc include DIR
+ # ------------------------------------------------------------------------
+diff --git a/cmake/FindCppUnit.cmake b/cmake/FindCppUnit.cmake
+index fb8a28b..fea685e 100644
+--- a/cmake/FindCppUnit.cmake
++++ b/cmake/FindCppUnit.cmake
+@@ -106,11 +106,6 @@ else()
+ endif()
+ endif()
+
+-# Additionally try and use pkconfig to find cppunit
+-
+-find_package(PkgConfig)
+-pkg_check_modules(PC_CppUnit QUIET cppunit)
+-
+ # ------------------------------------------------------------------------
+ # Search for CppUnit include DIR
+ # ------------------------------------------------------------------------
+diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake
+index f0a0d7f..9f31355 100644
+--- a/cmake/FindIlmBase.cmake
++++ b/cmake/FindIlmBase.cmake
+@@ -152,11 +152,6 @@ else()
+ endif()
+ endif()
+
+-# Additionally try and use pkconfig to find IlmBase
+-
+-find_package(PkgConfig)
+-pkg_check_modules(PC_IlmBase QUIET IlmBase)
+-
+ # ------------------------------------------------------------------------
+ # Search for IlmBase include DIR
+ # ------------------------------------------------------------------------
+diff --git a/cmake/FindLog4cplus.cmake b/cmake/FindLog4cplus.cmake
+index 6890724..10dc931 100644
+--- a/cmake/FindLog4cplus.cmake
++++ b/cmake/FindLog4cplus.cmake
+@@ -106,11 +106,6 @@ else()
+ endif()
+ endif()
+
+-# Additionally try and use pkconfig to find log4cplus
+-
+-find_package(PkgConfig)
+-pkg_check_modules(PC_Log4cplus QUIET log4cplus)
+-
+ # ------------------------------------------------------------------------
+ # Search for Log4cplus include DIR
+ # ------------------------------------------------------------------------
+diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake
+index 302c1df..3d00c3d 100644
+--- a/cmake/FindOpenEXR.cmake
++++ b/cmake/FindOpenEXR.cmake
+@@ -145,11 +145,6 @@ else()
+ endif()
+ endif()
+
+-# Additionally try and use pkconfig to find OpenEXR
+-
+-find_package(PkgConfig)
+-pkg_check_modules(PC_OpenEXR QUIET OpenEXR)
+-
+ # ------------------------------------------------------------------------
+ # Search for OpenEXR include DIR
+ # ------------------------------------------------------------------------
+diff --git a/cmake/FindOpenVDB.cmake b/cmake/FindOpenVDB.cmake
+index 783dfed..1fd43be 100644
+--- a/cmake/FindOpenVDB.cmake
++++ b/cmake/FindOpenVDB.cmake
+@@ -153,11 +153,6 @@ else()
+ endif()
+ endif()
+
+-# Additionally try and use pkconfig to find OpenVDB
+-
+-find_package(PkgConfig)
+-pkg_check_modules(PC_OpenVDB QUIET OpenVDB)
+-
+ # This CMake module supports being called from external packages AND from
+ # within the OpenVDB repository for building openvdb components with the
+ # core library build disabled. Determine where we are being called from:
+diff --git a/cmake/FindTBB.cmake b/cmake/FindTBB.cmake
+index 01696ce..8fe73e5 100644
+--- a/cmake/FindTBB.cmake
++++ b/cmake/FindTBB.cmake
+@@ -141,11 +141,6 @@ else()
+ endif()
+ endif()
+
+-# Additionally try and use pkconfig to find Tbb
+-
+-find_package(PkgConfig)
+-pkg_check_modules(PC_Tbb QUIET tbb)
+-
+ # ------------------------------------------------------------------------
+ # Search for tbb include DIR
+ # ------------------------------------------------------------------------
+diff --git a/cmake/OpenVDBGLFW3Setup.cmake b/cmake/OpenVDBGLFW3Setup.cmake
+index 3a29dc7..4dc6269 100644
+--- a/cmake/OpenVDBGLFW3Setup.cmake
++++ b/cmake/OpenVDBGLFW3Setup.cmake
+@@ -77,12 +77,6 @@ else()
+ endif()
+ endif()
+
+-# Additionally try and use pkconfig to find glfw, though we only use
+-# pkg-config to re-direct to the cmake. In other words, glfw's cmake is
+-# expected to be installed
+-find_package(PkgConfig)
+-pkg_check_modules(PC_glfw3 QUIET glfw3)
+-
+ if(PC_glfw3_FOUND)
+ foreach(DIR ${PC_glfw3_LIBRARY_DIRS})
+ list(APPEND _GLFW3_ROOT_SEARCH_DIR ${DIR})
diff --git a/ports/openvdb/0002-add-custom-options.patch b/ports/openvdb/0002-add-custom-options.patch
deleted file mode 100644
index 5e8d49091..000000000
--- a/ports/openvdb/0002-add-custom-options.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index b35ec70..801e7df 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -38,6 +38,9 @@ if(CCACHE_FOUND)
- set_property(GLOBAL PROPERTY RULE_LAUNCH_LINK ccache)
- endif(CCACHE_FOUND)
-
-+OPTION ( OPENVDB_BUILD_TOOLS "Build OpenVDB utilities" OFF )
-+OPTION ( OPENVDB_STATIC "Build statically linked library" OFF )
-+OPTION ( OPENVDB_SHARED "Build dynamically linked library" ON )
- OPTION ( OPENVDB_BUILD_UNITTESTS "Build the OpenVDB unit tests" ON )
- OPTION ( OPENVDB_BUILD_DOCS "Build the OpenVDB documentation" OFF )
- OPTION ( OPENVDB_BUILD_PYTHON_MODULE "Build the pyopenvdb Python module" ON )
diff --git a/ports/openvdb/0002-fix-cmake-modules.patch b/ports/openvdb/0002-fix-cmake-modules.patch
new file mode 100644
index 000000000..7b36161c5
--- /dev/null
+++ b/ports/openvdb/0002-fix-cmake-modules.patch
@@ -0,0 +1,1125 @@
+diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake
+index e8b57a2..61ba83b 100644
+--- a/cmake/FindBlosc.cmake
++++ b/cmake/FindBlosc.cmake
+@@ -1,4 +1,4 @@
+-# Copyright (c) 2012-2019 DreamWorks Animation LLC
++# Copyright (c) 2012-2016 DreamWorks Animation LLC
+ #
+ # All rights reserved. This software is distributed under the
+ # Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
+@@ -24,190 +24,51 @@
+ # IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
+ # LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
+ #
+-#[=======================================================================[.rst:
+
+-FindBlosc
+----------
+-
+-Find Blosc include dirs and libraries
+-
+-Use this module by invoking find_package with the form::
+-
+- find_package(Blosc
+- [version] [EXACT] # Minimum or EXACT version e.g. 1.5.0
+- [REQUIRED] # Fail with error if Blosc is not found
+- )
+-
+-IMPORTED Targets
+-^^^^^^^^^^^^^^^^
+-
+-``Blosc::blosc``
+- This module defines IMPORTED target Blosc::Blosc, if Blosc has been found.
+-
+-Result Variables
+-^^^^^^^^^^^^^^^^
+-
+-This will define the following variables:
+-
+-``Blosc_FOUND``
+- True if the system has the Blosc library.
+-``Blosc_VERSION``
+- The version of the Blosc library which was found.
+-``Blosc_INCLUDE_DIRS``
+- Include directories needed to use Blosc.
+-``Blosc_LIBRARIES``
+- Libraries needed to link to Blosc.
+-``Blosc_LIBRARY_DIRS``
+- Blosc library directories.
+-
+-Cache Variables
+-^^^^^^^^^^^^^^^
+-
+-The following cache variables may also be set:
+-
+-``Blosc_INCLUDE_DIR``
+- The directory containing ``blosc.h``.
+-``Blosc_LIBRARY``
+- The path to the Blosc library.
+-
+-Hints
+-^^^^^
+-
+-Instead of explicitly setting the cache variables, the following variables
+-may be provided to tell this module where to look.
+-
+-``BLOSC_ROOT``
+- Preferred installation prefix.
+-``BLOSC_INCLUDEDIR``
+- Preferred include directory e.g. <prefix>/include
+-``BLOSC_LIBRARYDIR``
+- Preferred library directory e.g. <prefix>/lib
+-``SYSTEM_LIBRARY_PATHS``
+- Paths appended to all include and lib searches.
+-
+-#]=======================================================================]
+-
+-mark_as_advanced(
+- Blosc_INCLUDE_DIR
+- Blosc_LIBRARY
+-)
+-
+-# Append BLOSC_ROOT or $ENV{BLOSC_ROOT} if set (prioritize the direct cmake var)
+-set(_BLOSC_ROOT_SEARCH_DIR "")
+-
+-if(BLOSC_ROOT)
+- list(APPEND _BLOSC_ROOT_SEARCH_DIR ${BLOSC_ROOT})
+-else()
+- set(_ENV_BLOSC_ROOT $ENV{BLOSC_ROOT})
+- if(_ENV_BLOSC_ROOT)
+- list(APPEND _BLOSC_ROOT_SEARCH_DIR ${_ENV_BLOSC_ROOT})
+- endif()
+-endif()
+-
+-# ------------------------------------------------------------------------
+-# Search for blosc include DIR
+-# ------------------------------------------------------------------------
+-
+-set(_BLOSC_INCLUDE_SEARCH_DIRS "")
+-list(APPEND _BLOSC_INCLUDE_SEARCH_DIRS
+- ${BLOSC_INCLUDEDIR}
+- ${_BLOSC_ROOT_SEARCH_DIR}
+- ${PC_Blosc_INCLUDE_DIRS}
+- ${SYSTEM_LIBRARY_PATHS}
+-)
++# -*- cmake -*-
++# - Find Blosc
++#
++# Author : Nicholas Yue yue.nicholas@gmail.com
++#
++# BLOSC_FOUND set if Blosc is found.
++# BLOSC_INCLUDE_DIR Blosc's include directory
++# BLOSC_LIBRARYDIR Blosc's library directory
++# BLOSC_LIBRARIES all Blosc libraries
+
+-# Look for a standard blosc header file.
+-find_path(Blosc_INCLUDE_DIR blosc.h
+- NO_DEFAULT_PATH
+- PATHS ${_BLOSC_INCLUDE_SEARCH_DIRS}
+- PATH_SUFFIXES include
+-)
++FIND_PACKAGE ( PackageHandleStandardArgs )
+
+-if(EXISTS "${Blosc_INCLUDE_DIR}/blosc.h")
+- file(STRINGS "${Blosc_INCLUDE_DIR}/blosc.h"
+- _blosc_version_major_string REGEX "#define BLOSC_VERSION_MAJOR +[0-9]+ "
+- )
+- string(REGEX REPLACE "#define BLOSC_VERSION_MAJOR +([0-9]+).*$" "\\1"
+- _blosc_version_major_string "${_blosc_version_major_string}"
+- )
+- string(STRIP "${_blosc_version_major_string}" Blosc_VERSION_MAJOR)
++FIND_PATH( BLOSC_LOCATION include/blosc.h)
+
+- file(STRINGS "${Blosc_INCLUDE_DIR}/blosc.h"
+- _blosc_version_minor_string REGEX "#define BLOSC_VERSION_MINOR +[0-9]+ "
++FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc
++ REQUIRED_VARS BLOSC_LOCATION
+ )
+- string(REGEX REPLACE "#define BLOSC_VERSION_MINOR +([0-9]+).*$" "\\1"
+- _blosc_version_minor_string "${_blosc_version_minor_string}"
+- )
+- string(STRIP "${_blosc_version_minor_string}" Blosc_VERSION_MINOR)
+-
+- unset(_blosc_version_major_string)
+- unset(_blosc_version_minor_string)
+-
+- set(Blosc_VERSION ${Blosc_VERSION_MAJOR}.${Blosc_VERSION_MINOR})
+-endif()
+-
+-# ------------------------------------------------------------------------
+-# Search for blosc lib DIR
+-# ------------------------------------------------------------------------
+
+-set(_BLOSC_LIBRARYDIR_SEARCH_DIRS "")
+-list(APPEND _BLOSC_LIBRARYDIR_SEARCH_DIRS
+- ${BLOSC_LIBRARYDIR}
+- ${_BLOSC_ROOT_SEARCH_DIR}
+- ${PC_Blosc_LIBRARY_DIRS}
+- ${SYSTEM_LIBRARY_PATHS}
+-)
++IF ( BLOSC_FOUND )
+
+-# Static library setup
+-if(UNIX AND BLOSC_USE_STATIC_LIBS)
+- set(_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+- set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+-endif()
++# SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib
++# CACHE STRING "Blosc library directories")
+
+-set(BLOSC_PATH_SUFFIXES
+- lib64
+- lib
+-)
++ SET ( _blosc_library_name "blosc" )
+
+-find_library(Blosc_LIBRARY blosc
+- NO_DEFAULT_PATH
+- PATHS ${_BLOSC_LIBRARYDIR_SEARCH_DIRS}
+- PATH_SUFFIXES ${BLOSC_PATH_SUFFIXES}
+-)
++ # Static library setup
++ IF (Blosc_USE_STATIC_LIBS)
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP ${CMAKE_FIND_LIBRARY_SUFFIXES})
++ IF (WIN32)
++ SET ( _blosc_library_name "libblosc" )
++ ELSE ()
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
++ ENDIF ()
++ ENDIF()
+
+-if(UNIX AND BLOSC_USE_STATIC_LIBS)
+- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+- unset(_BLOSC_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
+-endif()
+-
+-# ------------------------------------------------------------------------
+-# Cache and set Blosc_FOUND
+-# ------------------------------------------------------------------------
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(Blosc
+- FOUND_VAR Blosc_FOUND
+- REQUIRED_VARS
+- Blosc_LIBRARY
+- Blosc_INCLUDE_DIR
+- VERSION_VAR Blosc_VERSION
+-)
++ FIND_LIBRARY ( BLOSC_blosc_LIBRARY ${_blosc_library_name}
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
+
+-if(Blosc_FOUND)
+- set(Blosc_LIBRARIES ${Blosc_LIBRARY})
+- set(Blosc_INCLUDE_DIRS ${Blosc_INCLUDE_DIR})
+- set(Blosc_DEFINITIONS ${PC_Blosc_CFLAGS_OTHER})
++ # Static library tear down
++ IF (Blosc_USE_STATIC_LIBS)
++ SET( CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES_BACKUP} )
++ ENDIF()
+
+- get_filename_component(Blosc_LIBRARY_DIRS ${Blosc_LIBRARY} DIRECTORY)
++ SET( BLOSC_INCLUDE_DIR "${BLOSC_LOCATION}/include" CACHE STRING "Blosc include directory" )
+
+- if(NOT TARGET Blosc::blosc)
+- add_library(Blosc::blosc UNKNOWN IMPORTED)
+- set_target_properties(Blosc::blosc PROPERTIES
+- IMPORTED_LOCATION "${Blosc_LIBRARIES}"
+- INTERFACE_COMPILE_DEFINITIONS "${Blosc_DEFINITIONS}"
+- INTERFACE_INCLUDE_DIRECTORIES "${Blosc_INCLUDE_DIRS}"
+- )
+- endif()
+-elseif(Blosc_FIND_REQUIRED)
+- message(FATAL_ERROR "Unable to find Blosc")
+-endif()
++ENDIF ( BLOSC_FOUND )
+diff --git a/cmake/FindIlmBase.cmake b/cmake/FindIlmBase.cmake
+index 7f71a72..bb14fb4 100644
+--- a/cmake/FindIlmBase.cmake
++++ b/cmake/FindIlmBase.cmake
+@@ -1,4 +1,4 @@
+-# Copyright (c) 2012-2019 DreamWorks Animation LLC
++# Copyright (c) 2012-2016 DreamWorks Animation LLC
+ #
+ # All rights reserved. This software is distributed under the
+ # Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
+@@ -24,309 +24,162 @@
+ # IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
+ # LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
+ #
+-#[=======================================================================[.rst:
+
+-FindIlmBase
+------------
+-
+-Find IlmBase include dirs and libraries
+-
+-Use this module by invoking find_package with the form::
+-
+- find_package(IlmBase
+- [version] [EXACT] # Minimum or EXACT version
+- [REQUIRED] # Fail with error if IlmBase is not found
+- [COMPONENTS <libs>...] # IlmBase libraries by their canonical name
+- # e.g. "Half" for "libHalf"
+- )
+-
+-IMPORTED Targets
+-^^^^^^^^^^^^^^^^
+-
+-``IlmBase::Half``
+- The Half library target.
+-``IlmBase::Iex``
+- The Iex library target.
+-``IlmBase::IexMath``
+- The IexMath library target.
+-``IlmBase::IlmThread``
+- The IlmThread library target.
+-``IlmBase::Imath``
+- The Imath library target.
+-
+-Result Variables
+-^^^^^^^^^^^^^^^^
+-
+-This will define the following variables:
+-
+-``IlmBase_FOUND``
+- True if the system has the IlmBase library.
+-``IlmBase_VERSION``
+- The version of the IlmBase library which was found.
+-``IlmBase_INCLUDE_DIRS``
+- Include directories needed to use IlmBase.
+-``IlmBase_LIBRARIES``
+- Libraries needed to link to IlmBase.
+-``IlmBase_LIBRARY_DIRS``
+- IlmBase library directories.
+-``IlmBase_{COMPONENT}_FOUND``
+- True if the system has the named IlmBase component.
+-
+-Cache Variables
+-^^^^^^^^^^^^^^^
+-
+-The following cache variables may also be set:
+-
+-``IlmBase_INCLUDE_DIR``
+- The directory containing ``IlmBase/config-auto.h``.
+-``IlmBase_{COMPONENT}_LIBRARY``
+- Individual component libraries for IlmBase
+-``IlmBase_{COMPONENT}_DLL``
+- Individual component dlls for IlmBase on Windows.
+-
+-Hints
+-^^^^^
+-
+-Instead of explicitly setting the cache variables, the following variables
+-may be provided to tell this module where to look.
+-
+-``ILMBASE_ROOT``
+- Preferred installation prefix.
+-``ILMBASE_INCLUDEDIR``
+- Preferred include directory e.g. <prefix>/include
+-``ILMBASE_LIBRARYDIR``
+- Preferred library directory e.g. <prefix>/lib
+-``SYSTEM_LIBRARY_PATHS``
+- Paths appended to all include and lib searches.
+-
+-#]=======================================================================]
+-
+-# Support new if() IN_LIST operator
+-if(POLICY CMP0057)
+- cmake_policy(SET CMP0057 NEW)
+-endif()
+-
+-mark_as_advanced(
+- IlmBase_INCLUDE_DIR
+- IlmBase_LIBRARY
+-)
+-
+-set(_ILMBASE_COMPONENT_LIST
+- Half
+- Iex
+- IexMath
+- IlmThread
+- Imath
+-)
+-
+-if(IlmBase_FIND_COMPONENTS)
+- set(ILMBASE_COMPONENTS_PROVIDED TRUE)
+- set(_IGNORED_COMPONENTS "")
+- foreach(COMPONENT ${IlmBase_FIND_COMPONENTS})
+- if(NOT ${COMPONENT} IN_LIST _ILMBASE_COMPONENT_LIST)
+- list(APPEND _IGNORED_COMPONENTS ${COMPONENT})
+- endif()
+- endforeach()
+-
+- if(_IGNORED_COMPONENTS)
+- message(STATUS "Ignoring unknown components of IlmBase:")
+- foreach(COMPONENT ${_IGNORED_COMPONENTS})
+- message(STATUS " ${COMPONENT}")
+- endforeach()
+- list(REMOVE_ITEM IlmBase_FIND_COMPONENTS ${_IGNORED_COMPONENTS})
+- endif()
+-else()
+- set(ILMBASE_COMPONENTS_PROVIDED FALSE)
+- set(IlmBase_FIND_COMPONENTS ${_ILMBASE_COMPONENT_LIST})
+-endif()
+-
+-# Append ILMBASE_ROOT or $ENV{ILMBASE_ROOT} if set (prioritize the direct cmake var)
+-set(_ILMBASE_ROOT_SEARCH_DIR "")
+-
+-if(ILMBASE_ROOT)
+- list(APPEND _ILMBASE_ROOT_SEARCH_DIR ${ILMBASE_ROOT})
+-else()
+- set(_ENV_ILMBASE_ROOT $ENV{ILMBASE_ROOT})
+- if(_ENV_ILMBASE_ROOT)
+- list(APPEND _ILMBASE_ROOT_SEARCH_DIR ${_ENV_ILMBASE_ROOT})
+- endif()
+-endif()
+-
+-# ------------------------------------------------------------------------
+-# Search for IlmBase include DIR
+-# ------------------------------------------------------------------------
+-
+-set(_ILMBASE_INCLUDE_SEARCH_DIRS "")
+-list(APPEND _ILMBASE_INCLUDE_SEARCH_DIRS
+- ${ILMBASE_INCLUDEDIR}
+- ${_ILMBASE_ROOT_SEARCH_DIR}
+- ${PC_IlmBase_INCLUDEDIR}
+- ${SYSTEM_LIBRARY_PATHS}
+-)
+-
+-# Look for a standard IlmBase header file.
+-find_path(IlmBase_INCLUDE_DIR IlmBaseConfig.h
+- NO_DEFAULT_PATH
+- PATHS ${_ILMBASE_INCLUDE_SEARCH_DIRS}
+- PATH_SUFFIXES include/OpenEXR OpenEXR
+-)
+-
+-if(EXISTS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h")
+- # Get the ILMBASE version information from the config header
+- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h"
+- _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR "
+- )
+- string(REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" ""
+- _ilmbase_version_major_string "${_ilmbase_version_major_string}"
+- )
+- string(STRIP "${_ilmbase_version_major_string}" IlmBase_VERSION_MAJOR)
+-
+- file(STRINGS "${IlmBase_INCLUDE_DIR}/IlmBaseConfig.h"
+- _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR "
+- )
+- string(REGEX REPLACE "#define ILMBASE_VERSION_MINOR" ""
+- _ilmbase_version_minor_string "${_ilmbase_version_minor_string}"
+- )
+- string(STRIP "${_ilmbase_version_minor_string}" IlmBase_VERSION_MINOR)
+-
+- unset(_ilmbase_version_major_string)
+- unset(_ilmbase_version_minor_string)
+-
+- set(IlmBase_VERSION ${IlmBase_VERSION_MAJOR}.${IlmBase_VERSION_MINOR})
+-endif()
+-
+-# ------------------------------------------------------------------------
+-# Search for ILMBASE lib DIR
+-# ------------------------------------------------------------------------
+-
+-set(_ILMBASE_LIBRARYDIR_SEARCH_DIRS "")
+-
+-# Append to _ILMBASE_LIBRARYDIR_SEARCH_DIRS in priority order
+-
+-list(APPEND _ILMBASE_LIBRARYDIR_SEARCH_DIRS
+- ${ILMBASE_LIBRARYDIR}
+- ${_ILMBASE_ROOT_SEARCH_DIR}
+- ${PC_IlmBase_LIBDIR}
+- ${SYSTEM_LIBRARY_PATHS}
+-)
+-
+-# Build suffix directories
+-
+-set(ILMBASE_PATH_SUFFIXES
+- lib64
+- lib
+-)
+-
+-if(UNIX)
+- list(INSERT ILMBASE_PATH_SUFFIXES 0 lib/x86_64-linux-gnu)
+-endif()
+-
+-set(_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+-
+-# library suffix handling
+-if(WIN32)
+- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.lib"
+- )
+-else()
+- if(ILMBASE_USE_STATIC_LIBS)
+- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.a"
+- )
+- else()
+- if(APPLE)
+- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.dylib"
+- )
+- else()
+- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+- "-${IlmBase_VERSION_MAJOR}_${IlmBase_VERSION_MINOR}.so"
+- )
+- endif()
+- endif()
+-endif()
+-
+-set(IlmBase_LIB_COMPONENTS "")
+-
+-foreach(COMPONENT ${IlmBase_FIND_COMPONENTS})
+- find_library(IlmBase_${COMPONENT}_LIBRARY ${COMPONENT}
+- NO_DEFAULT_PATH
+- PATHS ${_ILMBASE_LIBRARYDIR_SEARCH_DIRS}
+- PATH_SUFFIXES ${ILMBASE_PATH_SUFFIXES}
+- )
+- list(APPEND IlmBase_LIB_COMPONENTS ${IlmBase_${COMPONENT}_LIBRARY})
+-
+- if(WIN32 AND NOT ILMBASE_USE_STATIC_LIBS)
+- set(_ILMBASE_TMP ${CMAKE_FIND_LIBRARY_SUFFIXES})
+- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
+- find_library(IlmBase_${COMPONENT}_DLL ${COMPONENT}
+- NO_DEFAULT_PATH
+- PATHS ${_ILMBASE_LIBRARYDIR_SEARCH_DIRS}
+- PATH_SUFFIXES bin
+- )
+- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_ILMBASE_TMP})
+- unset(_ILMBASE_TMP)
+- endif()
+-
+- if(IlmBase_${COMPONENT}_LIBRARY)
+- set(IlmBase_${COMPONENT}_FOUND TRUE)
+- else()
+- set(IlmBase_${COMPONENT}_FOUND FALSE)
+- endif()
+-endforeach()
+-
+-# reset lib suffix
+-
+-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+-unset(_ILMBASE_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
+-
+-# ------------------------------------------------------------------------
+-# Cache and set ILMBASE_FOUND
+-# ------------------------------------------------------------------------
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(IlmBase
+- FOUND_VAR IlmBase_FOUND
+- REQUIRED_VARS
+- IlmBase_INCLUDE_DIR
+- IlmBase_LIB_COMPONENTS
+- VERSION_VAR IlmBase_VERSION
+- HANDLE_COMPONENTS
+-)
++#-*-cmake-*-
++# - Find ILMBase
++#
++# Author : Nicholas Yue yue.nicholas@gmail.com
++#
++# This auxiliary CMake file helps in find the ILMBASE headers and libraries
++#
++# ILMBASE_FOUND set if ILMBASE is found.
++# ILMBASE_INCLUDE_DIR ILMBASE's include directory
++# ILMBASE_LIBRARYDIR ILMBASE's include directory
++# Ilmbase_HALF_LIBRARY ILMBASE's Half libraries
++# Ilmbase_IEX_LIBRARY ILMBASE's Iex libraries
++# Ilmbase_IEXMATH_LIBRARY ILMBASE's IexMath libraries
++# Ilmbase_ILMTHREAD_LIBRARY ILMBASE's IlmThread libraries
++# Ilmbase_IMATH_LIBRARY ILMBASE's Imath libraries
+
+-if(IlmBase_FOUND)
+- set(IlmBase_LIBRARIES ${IlmBase_LIB_COMPONENTS})
++FIND_PACKAGE ( PackageHandleStandardArgs )
+
+- # We have to add both include and include/OpenEXR to the include
+- # path in case OpenEXR and IlmBase are installed separately
++FIND_PATH ( ILMBASE_LOCATION include/OpenEXR/IlmBaseConfig.h)
+
+- set(IlmBase_INCLUDE_DIRS)
+- list(APPEND IlmBase_INCLUDE_DIRS
+- ${IlmBase_INCLUDE_DIR}/../
+- ${IlmBase_INCLUDE_DIR}
++FIND_PACKAGE_HANDLE_STANDARD_ARGS ( ILMBase
++ REQUIRED_VARS ILMBASE_LOCATION
+ )
+- set(IlmBase_DEFINITIONS ${PC_IlmBase_CFLAGS_OTHER})
+-
+- set(IlmBase_LIBRARY_DIRS "")
+- foreach(LIB ${IlmBase_LIB_COMPONENTS})
+- get_filename_component(_ILMBASE_LIBDIR ${LIB} DIRECTORY)
+- list(APPEND IlmBase_LIBRARY_DIRS ${_ILMBASE_LIBDIR})
+- endforeach()
+- list(REMOVE_DUPLICATES IlmBase_LIBRARY_DIRS)
+-
+- # Configure imported targets
+-
+- foreach(COMPONENT ${IlmBase_FIND_COMPONENTS})
+- if(NOT TARGET IlmBase::${COMPONENT})
+- add_library(IlmBase::${COMPONENT} UNKNOWN IMPORTED)
+- set_target_properties(IlmBase::${COMPONENT} PROPERTIES
+- IMPORTED_LOCATION "${IlmBase_${COMPONENT}_LIBRARY}"
+- INTERFACE_COMPILE_OPTIONS "${IlmBase_DEFINITIONS}"
+- INTERFACE_INCLUDE_DIRECTORIES "${IlmBase_INCLUDE_DIRS}"
+- )
+- endif()
+- endforeach()
+
+-elseif(IlmBase_FIND_REQUIRED)
+- message(FATAL_ERROR "Unable to find IlmBase")
+-endif()
++OPTION ( ILMBASE_NAMESPACE_VERSIONING "Namespace versioning of libraries" ON )
++
++IF ( ILMBASE_FOUND )
++
++ FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_major_string REGEX "#define ILMBASE_VERSION_MAJOR ")
++ STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MAJOR" "" _ilmbase_version_major_unstrip "${_ilmbase_version_major_string}")
++ STRING ( STRIP "${_ilmbase_version_major_unstrip}" ILMBASE_VERSION_MAJOR )
++
++ FILE ( STRINGS "${ILMBASE_LOCATION}/include/OpenEXR/IlmBaseConfig.h" _ilmbase_version_minor_string REGEX "#define ILMBASE_VERSION_MINOR ")
++ STRING ( REGEX REPLACE "#define ILMBASE_VERSION_MINOR" "" _ilmbase_version_minor_unstrip "${_ilmbase_version_minor_string}")
++ STRING ( STRIP "${_ilmbase_version_minor_unstrip}" ILMBASE_VERSION_MINOR )
++
++ IF ( ILMBASE_NAMESPACE_VERSIONING )
++ SET ( IEX_LIBRARY_NAME Iex-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
++ SET ( IEXMATH_LIBRARY_NAME IexMath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
++ SET ( ILMTHREAD_LIBRARY_NAME IlmThread-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
++ SET ( IMATH_LIBRARY_NAME Imath-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
++ SET ( HALF_LIBRARY_NAME Half-${ILMBASE_VERSION_MAJOR}_${ILMBASE_VERSION_MINOR} )
++ ELSE ( ILMBASE_NAMESPACE_VERSIONING )
++ SET ( IEX_LIBRARY_NAME Iex )
++ SET ( IEXMATH_LIBRARY_NAME IexMath )
++ SET ( ILMTHREAD_LIBRARY_NAME IlmThread )
++ SET ( IMATH_LIBRARY_NAME Imath )
++ SET ( HALF_LIBRARY_NAME Half )
++ ENDIF ( ILMBASE_NAMESPACE_VERSIONING )
++
++ SET ( ILMBASE_INCLUDE_DIRS
++ ${ILMBASE_LOCATION}/include
++ ${ILMBASE_LOCATION}/include/OpenEXR
++ CACHE STRING "ILMBase include directories")
++ SET ( ILMBASE_LIBRARYDIR ${ILMBASE_LOCATION}/lib
++ CACHE STRING "ILMBase library directories")
++ SET ( ILMBASE_FOUND TRUE )
++
++ SET ( ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
++ IF (Ilmbase_USE_STATIC_LIBS)
++ IF (APPLE)
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR} )
++ ELSEIF (WIN32)
++ # Link library
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half_static PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex_static PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread_static PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath_static PATHS ${ILMBASE_LIBRARYDIR} )
++ ELSE (APPLE)
++ SET ( CMAKE_FIND_LIBRARY_SUFFIXES ".a")
++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ ENDIF (APPLE)
++ ELSE (Ilmbase_USE_STATIC_LIBS)
++ IF (APPLE)
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dylib")
++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY Half PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY Iex PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY IlmThread PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY Imath PATHS ${ILMBASE_LIBRARYDIR} )
++ ELSEIF (WIN32)
++ # Link library
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".lib")
++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR} )
++ # Load library
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
++ FIND_LIBRARY ( Ilmbase_HALF_DLL ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LOCATION}/bin
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_IEX_DLL ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_IEXMATH_DLL ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_DLL ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_IMATH_DLL ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ ELSE (APPLE)
++ FIND_LIBRARY ( Ilmbase_HALF_LIBRARY ${HALF_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_IEX_LIBRARY ${IEX_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_IEXMATH_LIBRARY ${IEXMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_ILMTHREAD_LIBRARY ${ILMTHREAD_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ FIND_LIBRARY ( Ilmbase_IMATH_LIBRARY ${IMATH_LIBRARY_NAME} PATHS ${ILMBASE_LIBRARYDIR}
++ NO_DEFAULT_PATH
++ NO_SYSTEM_ENVIRONMENT_PATH
++ )
++ ENDIF (APPLE)
++ ENDIF ()
++ # MUST reset
++ SET(CMAKE_FIND_LIBRARY_SUFFIXES ${ORIGINAL_CMAKE_FIND_LIBRARY_SUFFIXES})
++
++ELSE ( ILMBASE_FOUND )
++ MESSAGE ( FATAL_ERROR "Unable to find ILMBase, ILMBASE_ROOT = $ENV{ILMBASE_ROOT}")
++ENDIF ( ILMBASE_FOUND )
+diff --git a/cmake/FindOpenEXR.cmake b/cmake/FindOpenEXR.cmake
+index 2f771ad..a381c6d 100644
+--- a/cmake/FindOpenEXR.cmake
++++ b/cmake/FindOpenEXR.cmake
+@@ -1,324 +1,87 @@
+-# Copyright (c) 2012-2019 DreamWorks Animation LLC
+-#
+-# All rights reserved. This software is distributed under the
+-# Mozilla Public License 2.0 ( http://www.mozilla.org/MPL/2.0/ )
+-#
+-# Redistributions of source code must retain the above copyright
+-# and license notice and the following restrictions and disclaimer.
+-#
+-# * Neither the name of DreamWorks Animation nor the names of
+-# its contributors may be used to endorse or promote products derived
+-# from this software without specific prior written permission.
+-#
+-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+-# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+-# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+-# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+-# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY INDIRECT, INCIDENTAL,
+-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+-# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+-# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+-# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+-# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+-# IN NO EVENT SHALL THE COPYRIGHT HOLDERS' AND CONTRIBUTORS' AGGREGATE
+-# LIABILITY FOR ALL CLAIMS REGARDLESS OF THEIR BASIS EXCEED US$250.00.
+-#
+-#[=======================================================================[.rst:
+-
+-FindOpenEXR
+------------
+-
+-Find OpenEXR include dirs and libraries
+-
+-Use this module by invoking find_package with the form::
+-
+- find_package(OpenEXR
+- [version] [EXACT] # Minimum or EXACT version
+- [REQUIRED] # Fail with error if OpenEXR is not found
+- [COMPONENTS <libs>...] # OpenEXR libraries by their canonical name
+- # e.g. "IlmImf" for "libIlmImf"
+- )
+-
+-IMPORTED Targets
+-^^^^^^^^^^^^^^^^
+-
+-``OpenEXR::IlmImf``
+- The IlmImf library target.
+-``OpenEXR::IlmImfUtil``
+- The IlmImfUtil library target.
+-
+-Result Variables
+-^^^^^^^^^^^^^^^^
+-
+-This will define the following variables:
+-
+-``OpenEXR_FOUND``
+- True if the system has the OpenEXR library.
+-``OpenEXR_VERSION``
+- The version of the OpenEXR library which was found.
+-``OpenEXR_INCLUDE_DIRS``
+- Include directories needed to use OpenEXR.
+-``OpenEXR_LIBRARIES``
+- Libraries needed to link to OpenEXR.
+-``OpenEXR_LIBRARY_DIRS``
+- OpenEXR library directories.
+-``OpenEXR_DEFINITIONS``
+- Definitions to use when compiling code that uses OpenEXR.
+-``OpenEXR_{COMPONENT}_FOUND``
+- True if the system has the named OpenEXR component.
+-
+-Cache Variables
+-^^^^^^^^^^^^^^^
+-
+-The following cache variables may also be set:
+-
+-``OpenEXR_INCLUDE_DIR``
+- The directory containing ``OpenEXR/config-auto.h``.
+-``OpenEXR_{COMPONENT}_LIBRARY``
+- Individual component libraries for OpenEXR
+-``OpenEXR_{COMPONENT}_DLL``
+- Individual component dlls for OpenEXR on Windows.
+-
+-Hints
+-^^^^^
+-
+-Instead of explicitly setting the cache variables, the following variables
+-may be provided to tell this module where to look.
+-
+-``OPENEXR_ROOT``
+- Preferred installation prefix.
+-``OPENEXR_INCLUDEDIR``
+- Preferred include directory e.g. <prefix>/include
+-``OPENEXR_LIBRARYDIR``
+- Preferred library directory e.g. <prefix>/lib
+-``SYSTEM_LIBRARY_PATHS``
+- Paths appended to all include and lib searches.
+-
+-#]=======================================================================]
+-
+-# Support new if() IN_LIST operator
+-if(POLICY CMP0057)
+- cmake_policy(SET CMP0057 NEW)
+-endif()
+-
+-mark_as_advanced(
+- OpenEXR_INCLUDE_DIR
+- OpenEXR_LIBRARY
+-)
+-
+-set(_OPENEXR_COMPONENT_LIST
+- IlmImf
+- IlmImfUtil
+-)
+-
+-if(OpenEXR_FIND_COMPONENTS)
+- set(OPENEXR_COMPONENTS_PROVIDED TRUE)
+- set(_IGNORED_COMPONENTS "")
+- foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS})
+- if(NOT ${COMPONENT} IN_LIST _OPENEXR_COMPONENT_LIST)
+- list(APPEND _IGNORED_COMPONENTS ${COMPONENT})
+- endif()
+- endforeach()
+-
+- if(_IGNORED_COMPONENTS)
+- message(STATUS "Ignoring unknown components of OpenEXR:")
+- foreach(COMPONENT ${_IGNORED_COMPONENTS})
+- message(STATUS " ${COMPONENT}")
+- endforeach()
+- list(REMOVE_ITEM OpenEXR_FIND_COMPONENTS ${_IGNORED_COMPONENTS})
+- endif()
+-else()
+- set(OPENEXR_COMPONENTS_PROVIDED FALSE)
+- set(OpenEXR_FIND_COMPONENTS ${_OPENEXR_COMPONENT_LIST})
+-endif()
+-
+-# Append OPENEXR_ROOT or $ENV{OPENEXR_ROOT} if set (prioritize the direct cmake var)
+-set(_OPENEXR_ROOT_SEARCH_DIR "")
+-
+-if(OPENEXR_ROOT)
+- list(APPEND _OPENEXR_ROOT_SEARCH_DIR ${OPENEXR_ROOT})
+-else()
+- set(_ENV_OPENEXR_ROOT $ENV{OPENEXR_ROOT})
+- if(_ENV_OPENEXR_ROOT)
+- list(APPEND _OPENEXR_ROOT_SEARCH_DIR ${_ENV_OPENEXR_ROOT})
+- endif()
+-endif()
+-
+-# ------------------------------------------------------------------------
+-# Search for OpenEXR include DIR
+-# ------------------------------------------------------------------------
+-
+-set(_OPENEXR_INCLUDE_SEARCH_DIRS "")
+-list(APPEND _OPENEXR_INCLUDE_SEARCH_DIRS
+- ${OPENEXR_INCLUDEDIR}
+- ${_OPENEXR_ROOT_SEARCH_DIR}
+- ${PC_OpenEXR_INCLUDEDIR}
+- ${SYSTEM_LIBRARY_PATHS}
+-)
+-
+-# Look for a standard OpenEXR header file.
+-find_path(OpenEXR_INCLUDE_DIR OpenEXRConfig.h
+- NO_DEFAULT_PATH
+- PATHS ${_OPENEXR_INCLUDE_SEARCH_DIRS}
+- PATH_SUFFIXES include/OpenEXR OpenEXR
+-)
+-
+-if(EXISTS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h")
+- # Get the EXR version information from the config header
+- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h"
+- _openexr_version_major_string REGEX "#define OPENEXR_VERSION_MAJOR "
+- )
+- string(REGEX REPLACE "#define OPENEXR_VERSION_MAJOR" ""
+- _openexr_version_major_string "${_openexr_version_major_string}"
+- )
+- string(STRIP "${_openexr_version_major_string}" OpenEXR_VERSION_MAJOR)
+-
+- file(STRINGS "${OpenEXR_INCLUDE_DIR}/OpenEXRConfig.h"
+- _openexr_version_minor_string REGEX "#define OPENEXR_VERSION_MINOR "
+- )
+- string(REGEX REPLACE "#define OPENEXR_VERSION_MINOR" ""
+- _openexr_version_minor_string "${_openexr_version_minor_string}"
+- )
+- string(STRIP "${_openexr_version_minor_string}" OpenEXR_VERSION_MINOR)
+-
+- unset(_openexr_version_major_string)
+- unset(_openexr_version_minor_string)
+-
+- set(OpenEXR_VERSION ${OpenEXR_VERSION_MAJOR}.${OpenEXR_VERSION_MINOR})
+-endif()
+-
+-# ------------------------------------------------------------------------
+-# Search for OPENEXR lib DIR
+-# ------------------------------------------------------------------------
+-
+-set(_OPENEXR_LIBRARYDIR_SEARCH_DIRS "")
+-
+-# Append to _OPENEXR_LIBRARYDIR_SEARCH_DIRS in priority order
+-
+-list(APPEND _OPENEXR_LIBRARYDIR_SEARCH_DIRS
+- ${OPENEXR_LIBRARYDIR}
+- ${_OPENEXR_ROOT_SEARCH_DIR}
+- ${PC_OpenEXR_LIBDIR}
+- ${SYSTEM_LIBRARY_PATHS}
+-)
+-
+-# Build suffix directories
+-
+-set(OPENEXR_PATH_SUFFIXES
+- lib64
+- lib
+-)
+-
+-if(UNIX )
+- list(INSERT OPENEXR_PATH_SUFFIXES 0 lib/x86_64-linux-gnu)
+-endif()
+-
+-set(_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+-
+-# library suffix handling
+-if(WIN32)
+- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.lib"
+- )
+-else()
+- if(OPENEXR_USE_STATIC_LIBS)
+- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.a"
+- )
+- else()
+- if(APPLE)
+- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.dylib"
+- )
+- else()
+- list(APPEND CMAKE_FIND_LIBRARY_SUFFIXES
+- "-${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}.so"
+- )
+- endif()
+- endif()
+-endif()
+-
+-set(OpenEXR_LIB_COMPONENTS "")
+-
+-foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS})
+- find_library(OpenEXR_${COMPONENT}_LIBRARY ${COMPONENT}
+- NO_DEFAULT_PATH
+- PATHS ${_OPENEXR_LIBRARYDIR_SEARCH_DIRS}
+- PATH_SUFFIXES ${OPENEXR_PATH_SUFFIXES}
+- )
+- list(APPEND OpenEXR_LIB_COMPONENTS ${OpenEXR_${COMPONENT}_LIBRARY})
+-
+- if(WIN32 AND NOT OPENEXR_USE_STATIC_LIBS)
+- set(_OPENEXR_TMP ${CMAKE_FIND_LIBRARY_SUFFIXES})
+- set(CMAKE_FIND_LIBRARY_SUFFIXES ".dll")
+- find_library(OpenEXR_${COMPONENT}_DLL ${COMPONENT}
+- NO_DEFAULT_PATH
+- PATHS ${_OPENEXR_LIBRARYDIR_SEARCH_DIRS}
+- PATH_SUFFIXES bin
+- )
+- set(CMAKE_FIND_LIBRARY_SUFFIXES ${_OPENEXR_TMP})
+- unset(_OPENEXR_TMP)
+- endif()
+-
+- if(OpenEXR_${COMPONENT}_LIBRARY)
+- set(OpenEXR_${COMPONENT}_FOUND TRUE)
+- else()
+- set(OpenEXR_${COMPONENT}_FOUND FALSE)
+- endif()
+-endforeach()
+-
+-# reset lib suffix
+-
+-set(CMAKE_FIND_LIBRARY_SUFFIXES ${_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+-unset(_OPENEXR_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES)
+-
+-# ------------------------------------------------------------------------
+-# Cache and set OPENEXR_FOUND
+-# ------------------------------------------------------------------------
+-
+-include(FindPackageHandleStandardArgs)
+-find_package_handle_standard_args(OpenEXR
+- FOUND_VAR OpenEXR_FOUND
+- REQUIRED_VARS
+- OpenEXR_INCLUDE_DIR
+- OpenEXR_LIB_COMPONENTS
+- VERSION_VAR OpenEXR_VERSION
+- HANDLE_COMPONENTS
+-)
+-
+-if(OpenEXR_FOUND)
+- set(OpenEXR_LIBRARIES ${OpenEXR_LIB_COMPONENTS})
+-
+- # We have to add both include and include/OpenEXR to the include
+- # path in case OpenEXR and IlmBase are installed separately
+-
+- set(OpenEXR_INCLUDE_DIRS)
+- list(APPEND OpenEXR_INCLUDE_DIRS
+- ${OpenEXR_INCLUDE_DIR}/../
+- ${OpenEXR_INCLUDE_DIR}
+- )
+- set(OpenEXR_DEFINITIONS ${PC_OpenEXR_CFLAGS_OTHER})
+-
+- set(OpenEXR_LIBRARY_DIRS "")
+- foreach(LIB ${OpenEXR_LIB_COMPONENTS})
+- get_filename_component(_OPENEXR_LIBDIR ${LIB} DIRECTORY)
+- list(APPEND OpenEXR_LIBRARY_DIRS ${_OPENEXR_LIBDIR})
+- endforeach()
+- list(REMOVE_DUPLICATES OpenEXR_LIBRARY_DIRS)
+-
+- # Configure imported target
+-
+- foreach(COMPONENT ${OpenEXR_FIND_COMPONENTS})
+- if(NOT TARGET OpenEXR::${COMPONENT})
+- add_library(OpenEXR::${COMPONENT} UNKNOWN IMPORTED)
+- set_target_properties(OpenEXR::${COMPONENT} PROPERTIES
+- IMPORTED_LOCATION "${OpenEXR_${COMPONENT}_LIBRARY}"
+- INTERFACE_COMPILE_OPTIONS "${OpenEXR_DEFINITIONS}"
+- INTERFACE_INCLUDE_DIRECTORIES "${OpenEXR_INCLUDE_DIRS}"
+- )
+- endif()
+- endforeach()
+-elseif(OpenEXR_FIND_REQUIRED)
+- message(FATAL_ERROR "Unable to find OpenEXR")
+-endif()
++include(FindPackageHandleStandardArgs)
++
++find_path(OpenEXR_INCLUDE_DIRS OpenEXR/OpenEXRConfig.h)
++find_path(OPENEXR_INCLUDE_PATHS NAMES ImfRgbaFile.h PATH_SUFFIXES OpenEXR)
++
++file(STRINGS "${OpenEXR_INCLUDE_DIRS}/OpenEXR/OpenEXRConfig.h" OPENEXR_CONFIG_H)
++
++string(REGEX REPLACE "^.*define OPENEXR_VERSION_MAJOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MAJOR "${OPENEXR_CONFIG_H}")
++string(REGEX REPLACE "^.*define OPENEXR_VERSION_MINOR ([0-9]+).*$" "\\1" OpenEXR_VERSION_MINOR "${OPENEXR_CONFIG_H}")
++set(OpenEXR_LIB_SUFFIX "${OpenEXR_VERSION_MAJOR}_${OpenEXR_VERSION_MINOR}")
++
++include(SelectLibraryConfigurations)
++
++if(NOT OpenEXR_BASE_LIBRARY)
++ find_library(OpenEXR_BASE_LIBRARY_RELEASE NAMES IlmImf-${OpenEXR_LIB_SUFFIX})
++ find_library(OpenEXR_BASE_LIBRARY_DEBUG NAMES IlmImf-${OpenEXR_LIB_SUFFIX}_d)
++ select_library_configurations(OpenEXR_BASE)
++endif()
++
++if(NOT OpenEXR_UTIL_LIBRARY)
++ find_library(OpenEXR_UTIL_LIBRARY_RELEASE NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX})
++ find_library(OpenEXR_UTIL_LIBRARY_DEBUG NAMES IlmImfUtil-${OpenEXR_LIB_SUFFIX}_d)
++ select_library_configurations(OpenEXR_UTIL)
++endif()
++
++if(NOT OpenEXR_HALF_LIBRARY)
++ find_library(OpenEXR_HALF_LIBRARY_RELEASE NAMES Half-${OpenEXR_LIB_SUFFIX})
++ find_library(OpenEXR_HALF_LIBRARY_DEBUG NAMES Half-${OpenEXR_LIB_SUFFIX}_d)
++ select_library_configurations(OpenEXR_HALF)
++endif()
++
++if(NOT OpenEXR_IEX_LIBRARY)
++ find_library(OpenEXR_IEX_LIBRARY_RELEASE NAMES Iex-${OpenEXR_LIB_SUFFIX})
++ find_library(OpenEXR_IEX_LIBRARY_DEBUG NAMES Iex-${OpenEXR_LIB_SUFFIX}_d)
++ select_library_configurations(OpenEXR_IEX)
++endif()
++
++if(NOT OpenEXR_MATH_LIBRARY)
++ find_library(OpenEXR_MATH_LIBRARY_RELEASE NAMES Imath-${OpenEXR_LIB_SUFFIX})
++ find_library(OpenEXR_MATH_LIBRARY_DEBUG NAMES Imath-${OpenEXR_LIB_SUFFIX}_d)
++ select_library_configurations(OpenEXR_MATH)
++endif()
++
++if(NOT OpenEXR_THREAD_LIBRARY)
++ find_library(OpenEXR_THREAD_LIBRARY_RELEASE NAMES IlmThread-${OpenEXR_LIB_SUFFIX})
++ find_library(OpenEXR_THREAD_LIBRARY_DEBUG NAMES IlmThread-${OpenEXR_LIB_SUFFIX}_d)
++ select_library_configurations(OpenEXR_THREAD)
++endif()
++
++if(NOT OpenEXR_IEXMATH_LIBRARY)
++ find_library(OpenEXR_IEXMATH_LIBRARY_RELEASE NAMES IexMath-${OpenEXR_LIB_SUFFIX})
++ find_library(OpenEXR_IEXMATH_LIBRARY_DEBUG NAMES IexMath-${OpenEXR_LIB_SUFFIX}d)
++ select_library_configurations(OpenEXR_IEXMATH)
++endif()
++
++set(OPENEXR_HALF_LIBRARY "${OpenEXR_HALF_LIBRARY}")
++set(OPENEXR_IEX_LIBRARY "${OpenEXR_IEX_LIBRARY}")
++set(OPENEXR_IMATH_LIBRARY "${OpenEXR_MATH_LIBRARY}")
++set(OPENEXR_ILMIMF_LIBRARY "${OpenEXR_BASE_LIBRARY}")
++set(OPENEXR_ILMIMFUTIL_LIBRARY "${OpenEXR_UTIL_LIBRARY}")
++set(OPENEXR_ILMTHREAD_LIBRARY "${OpenEXR_THREAD_LIBRARY}")
++
++set(OpenEXR_LIBRARY "${OpenEXR_BASE_LIBRARY}")
++
++set(OpenEXR_LIBRARIES
++ ${OpenEXR_LIBRARY}
++ ${OpenEXR_MATH_LIBRARY}
++ ${OpenEXR_IEXMATH_LIBRARY}
++ ${OpenEXR_UTIL_LIBRARY}
++ ${OpenEXR_HALF_LIBRARY}
++ ${OpenEXR_IEX_LIBRARY}
++ ${OpenEXR_THREAD_LIBRARY}
++)
++
++set(OPENEXR_LIBRARIES
++ ${OPENEXR_HALF_LIBRARY}
++ ${OPENEXR_IEX_LIBRARY}
++ ${OPENEXR_IMATH_LIBRARY}
++ ${OPENEXR_ILMIMF_LIBRARY}
++ ${OPENEXR_ILMTHREAD_LIBRARY}
++)
++
++FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenEXR REQUIRED_VARS OpenEXR_LIBRARIES OpenEXR_INCLUDE_DIRS)
++
++if(OpenEXR_FOUND)
++ set(OPENEXR_FOUND 1)
++endif()
diff --git a/ports/openvdb/0003-build-only-necessary-targets.patch b/ports/openvdb/0003-build-only-necessary-targets.patch
deleted file mode 100644
index 8be8263a5..000000000
--- a/ports/openvdb/0003-build-only-necessary-targets.patch
+++ /dev/null
@@ -1,282 +0,0 @@
-diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt
-index 9404dbc..94daf8c 100644
---- a/openvdb/CMakeLists.txt
-+++ b/openvdb/CMakeLists.txt
-@@ -29,28 +29,31 @@ PROJECT ( OpenVDBCore )
-
- set(CMAKE_CXX_STANDARD 11)
-
-+IF ( OPENVDB_BUILD_TOOLS )
- IF ( USE_GLFW3 )
- FIND_PACKAGE ( GLFW3 REQUIRED )
- SET ( OPENVDB_USE_GLFW_FLAG "-DOPENVDB_USE_GLFW_3" )
- IF ( UNIX AND NOT APPLE )
-- SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" )
-- ENDIF ( UNIX AND NOT APPLE )
-+ SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" )
-+ ENDIF ()
- SET ( GLFW_LINK_LIBRARY ${GLFW3_glfw_LIBRARY} )
- SET ( GLFW_INCLUDE_DIRECTORY ${GLFW3_INCLUDE_DIR} CACHE STRING "GLFW3 include directory")
- ELSE ()
- FIND_PACKAGE ( GLFW REQUIRED )
- IF ( UNIX AND NOT APPLE )
-- SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" )
-+ SET ( GLFW_DEPENDENT_LIBRARIES "X11;Xi;Xrandr;Xinerama;Xcursor;Xxf86vm" )
- ENDIF ()
- SET ( GLFW_LINK_LIBRARY ${GLFW_glfw_LIBRARY} )
- SET ( GLFW_INCLUDE_DIRECTORY ${GLFW_INCLUDE_DIR} CACHE STRING "GLFW include directory")
- ENDIF ()
-+ENDIF ()
-
-+IF ( OPENVDB_BUILD_TOOLS )
- IF (WIN32)
- FIND_PACKAGE ( GLEW REQUIRED )
--ELSE ()
-- FIND_PACKAGE ( Threads REQUIRED )
--ENDIF()
-+ENDIF ()
-+ENDIF ()
-+FIND_PACKAGE ( Threads REQUIRED )
-
- # Determine OpenVDB version
- #define OPENVDB_LIBRARY_MAJOR_VERSION_NUMBER 4
-@@ -130,7 +133,12 @@ INCLUDE_DIRECTORIES ( SYSTEM ${BLOSC_INCLUDE_DIR} )
- INCLUDE_DIRECTORIES ( SYSTEM ${CPPUNIT_INCLUDE_DIR} )
-
- IF (WIN32)
-- ADD_DEFINITIONS ( -D_WIN32 -DNOMINMAX -DHALF_EXPORTS -DOPENVDB_DLL )
-+ ADD_DEFINITIONS ( -D__TBB_NO_IMPLICIT_LINKAGE )
-+ ADD_DEFINITIONS ( -D__TBBMALLOC_NO_IMPLICIT_LINKAGE )
-+ ADD_DEFINITIONS ( -D_WIN32 -DNOMINMAX )
-+ IF ( OPENVDB_SHARED )
-+ ADD_DEFINITIONS ( -DOPENEXR_DLL -DOPENVDB_DLL )
-+ ENDIF ()
- ELSE ()
- ADD_DEFINITIONS ( -pthread -fPIC )
- ENDIF ()
-@@ -170,16 +178,21 @@ SET ( OPENVDB_LIBRARY_SOURCE_FILES
-
- SET_SOURCE_FILES_PROPERTIES ( ${OPENVDB_LIBRARY_SOURCE_FILES}
- PROPERTIES
-- COMPILE_FLAGS "-DOPENVDB_PRIVATE -DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}"
-+ COMPILE_FLAGS "-DOPENVDB_PRIVATE -DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$<CXX_COMPILER_ID:MSVC>:/bigobj>"
- )
--
-+
-+IF ( OPENVDB_STATIC )
- ADD_LIBRARY ( openvdb_static STATIC
- ${OPENVDB_LIBRARY_SOURCE_FILES}
- )
-+ENDIF ()
-+IF ( OPENVDB_SHARED )
- ADD_LIBRARY ( openvdb_shared SHARED
- ${OPENVDB_LIBRARY_SOURCE_FILES}
- )
-+ENDIF ()
-
-+IF ( OPENVDB_STATIC )
- TARGET_LINK_LIBRARIES ( openvdb_static
- ${Boost_IOSTREAMS_LIBRARY}
- ${Boost_SYSTEM_LIBRARY}
-@@ -188,6 +201,8 @@ TARGET_LINK_LIBRARIES ( openvdb_static
- ${ZLIB_LIBRARY}
- ${BLOSC_blosc_LIBRARY}
- )
-+ENDIF ()
-+IF ( OPENVDB_SHARED )
- TARGET_LINK_LIBRARIES ( openvdb_shared
- ${Boost_IOSTREAMS_LIBRARY}
- ${Boost_SYSTEM_LIBRARY}
-@@ -196,7 +211,9 @@ TARGET_LINK_LIBRARIES ( openvdb_shared
- ${ZLIB_LIBRARY}
- ${BLOSC_blosc_LIBRARY}
- )
-+ENDIF ()
-
-+IF ( OPENVDB_STATIC )
- IF (WIN32)
- SET_TARGET_PROPERTIES ( openvdb_static
- PROPERTIES OUTPUT_NAME libopenvdb
-@@ -205,8 +222,10 @@ ELSE()
- SET_TARGET_PROPERTIES ( openvdb_static
- PROPERTIES OUTPUT_NAME openvdb
- )
--ENDIF()
-+ENDIF ()
-+ENDIF ()
-
-+IF ( OPENVDB_SHARED )
- SET_TARGET_PROPERTIES(
- openvdb_shared
- PROPERTIES
-@@ -214,13 +233,15 @@ SET_TARGET_PROPERTIES(
- SOVERSION ${OPENVDB_MAJOR_VERSION_NUMBER}.${OPENVDB_MINOR_VERSION_NUMBER}
- VERSION ${OPENVDB_MAJOR_VERSION_NUMBER}.${OPENVDB_MINOR_VERSION_NUMBER}.${OPENVDB_PATCH_VERSION_NUMBER}
- )
-+ENDIF ()
-
- SET ( VDB_PRINT_SOURCE_FILES cmd/openvdb_print/main.cc )
- SET_SOURCE_FILES_PROPERTIES ( ${VDB_PRINT_SOURCE_FILES}
- PROPERTIES
-- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}"
-+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$<CXX_COMPILER_ID:MSVC>:/bigobj>"
- )
-
-+IF ( OPENVDB_BUILD_TOOLS )
- ADD_EXECUTABLE ( vdb_print
- ${VDB_PRINT_SOURCE_FILES}
- )
-@@ -229,14 +250,19 @@ TARGET_LINK_LIBRARIES ( vdb_print
- openvdb_shared
- ${CMAKE_THREAD_LIBS_INIT}
- ${BLOSC_blosc_LIBRARY}
-+ )
-+
-+IF (NOT WIN32)
-+TARGET_LINK_LIBRARIES ( vdb_print
- m
- stdc++
- )
-+ENDIF ()
-
- SET ( VDB_RENDER_SOURCE_FILES cmd/openvdb_render/main.cc )
- SET_SOURCE_FILES_PROPERTIES ( ${VDB_RENDER_SOURCE_FILES}
- PROPERTIES
-- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG}"
-+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} $<$<CXX_COMPILER_ID:MSVC>:/bigobj>"
- )
- ADD_EXECUTABLE ( vdb_render
- ${VDB_RENDER_SOURCE_FILES}
-@@ -249,9 +275,14 @@ TARGET_LINK_LIBRARIES ( vdb_render
- ${Openexr_ILMIMF_LIBRARY}
- ${Ilmbase_ILMTHREAD_LIBRARY}
- ${Ilmbase_IEX_LIBRARY}
-+ )
-+
-+IF (NOT WIN32)
-+TARGET_LINK_LIBRARIES ( vdb_render
- m
- stdc++
- )
-+ENDIF ()
-
- SET ( VDB_VIEW_SOURCE_FILES
- cmd/openvdb_view/main.cc
-@@ -263,29 +294,38 @@ SET ( VDB_VIEW_SOURCE_FILES
- )
- SET_SOURCE_FILES_PROPERTIES ( ${VDB_VIEW_SOURCE_FILES}
- PROPERTIES
-- COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} -DGL_GLEXT_PROTOTYPES=1"
-+ COMPILE_FLAGS "-DOPENVDB_USE_BLOSC ${OPENVDB_USE_GLFW_FLAG} -DGL_GLEXT_PROTOTYPES=1 $<$<CXX_COMPILER_ID:MSVC>:/bigobj>"
-+ )
-+
-+ADD_EXECUTABLE ( vdb_view
-+ ${VDB_VIEW_SOURCE_FILES}
- )
--IF (NOT WIN32)
-- ADD_EXECUTABLE ( vdb_view
-- ${VDB_VIEW_SOURCE_FILES}
-- )
-
-- target_include_directories ( vdb_view SYSTEM PRIVATE ${Boost_INCLUDE_DIR} )
-+target_include_directories ( vdb_view SYSTEM PRIVATE ${Boost_INCLUDE_DIR} )
-
-- TARGET_LINK_LIBRARIES ( vdb_view
-- openvdb_shared
-- ${Boost_THREAD_LIBRARY}
-- ${OPENGL_gl_LIBRARY}
-- ${OPENGL_glu_LIBRARY}
-- ${COCOA_LIBRARY}
-- ${IOKIT_LIBRARY}
-- ${COREVIDEO_LIBRARY}
-- ${GLFW_LINK_LIBRARY}
-- ${GLFW_DEPENDENT_LIBRARIES}
-- ${GLEW_GLEW_LIBRARY}
-- m
-- stdc++
-- )
-+TARGET_LINK_LIBRARIES ( vdb_view
-+ openvdb_shared
-+ ${Boost_LIBRARIES}
-+ ${OPENGL_gl_LIBRARY}
-+ ${OPENGL_glu_LIBRARY}
-+ ${GLFW_LINK_LIBRARY}
-+ ${GLFW_DEPENDENT_LIBRARIES}
-+ ${GLEW_GLEW_LIBRARY}
-+ )
-+IF (APPLE)
-+TARGET_LINK_LIBRARIES ( vdb_view
-+ ${COCOA_LIBRARY}
-+ ${IOKIT_LIBRARY}
-+ ${COREVIDEO_LIBRARY}
-+)
-+ENDIF ()
-+IF (NOT WIN32)
-+TARGET_LINK_LIBRARIES ( vdb_view
-+ m
-+ stdc++
-+ )
-+
-+ENDIF ()
- ENDIF ()
-
- SET ( UNITTEST_SOURCE_FILES
-@@ -398,7 +438,7 @@ IF ( OPENVDB_BUILD_UNITTESTS )
-
- ADD_TEST ( vdb_unit_test vdb_test )
-
--ENDIF (OPENVDB_BUILD_UNITTESTS)
-+ENDIF ()
-
- # Doxygen docmentation
- IF (OPENVDB_BUILD_DOCS)
-@@ -419,26 +459,29 @@ IF (OPENVDB_BUILD_DOCS)
- ENDIF ()
-
- # Installation
--IF ( NOT WIN32 )
-+IF ( OPENVDB_BUILD_TOOLS )
- INSTALL ( TARGETS
- vdb_view
- DESTINATION
- bin
- )
-+ INSTALL ( TARGETS
-+ vdb_print
-+ vdb_render
-+ DESTINATION
-+ bin
-+ )
- ENDIF ()
--INSTALL ( TARGETS
-- vdb_print
-- vdb_render
-- DESTINATION
-- bin
-- )
-
--INSTALL ( TARGETS
-- openvdb_static
-- DESTINATION
-- lib
-- )
-+IF ( OPENVDB_STATIC)
-+ INSTALL ( TARGETS
-+ openvdb_static
-+ DESTINATION
-+ lib
-+ )
-+ENDIF ()
-
-+IF ( OPENVDB_SHARED )
- IF (WIN32)
- INSTALL ( TARGETS
- openvdb_shared
-@@ -452,6 +495,7 @@ ELSE()
- lib
- )
- ENDIF ()
-+ENDIF ()
-
- INSTALL ( DIRECTORY ${PROJECT_SOURCE_DIR} DESTINATION include
- FILES_MATCHING PATTERN "*.h"
diff --git a/ports/openvdb/0003-fix-cmake.patch b/ports/openvdb/0003-fix-cmake.patch
new file mode 100644
index 000000000..b70a4756f
--- /dev/null
+++ b/ports/openvdb/0003-fix-cmake.patch
@@ -0,0 +1,90 @@
+diff --git a/openvdb/CMakeLists.txt b/openvdb/CMakeLists.txt
+index b84d3e6..524a59e 100644
+--- a/openvdb/CMakeLists.txt
++++ b/openvdb/CMakeLists.txt
+@@ -71,13 +71,13 @@ message(STATUS "----------------------------------------------------")
+ # Collect and configure lib dependencies
+
+ if(USE_EXR)
+- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED)
+- find_package(OpenEXR ${MINIMUM_OPENEXR_VERSION} REQUIRED)
++ find_package(IlmBase REQUIRED)
++ find_package(OpenEXR REQUIRED)
+ else()
+- find_package(IlmBase ${MINIMUM_ILMBASE_VERSION} REQUIRED COMPONENTS Half)
++ find_package(IlmBase REQUIRED COMPONENTS Half)
+ endif()
+
+-find_package(TBB ${MINIMUM_TBB_VERSION} REQUIRED COMPONENTS tbb)
++find_package(TBB CONFIG REQUIRED)
+ find_package(ZLIB ${MINIMUM_ZLIB_VERSION} REQUIRED)
+
+ if(USE_LOG4CPLUS)
+@@ -115,15 +115,15 @@ endif()
+ set(OPENVDB_CORE_DEPENDENT_LIBS
+ Boost::iostreams
+ Boost::system
+- IlmBase::Half
++ ${Ilmbase_HALF_LIBRARY}
+ )
+
+ if(USE_EXR)
+ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS
+- IlmBase::IlmThread
+- IlmBase::Iex
+- IlmBase::Imath
+- OpenEXR::IlmImf
++ ${Ilmbase_ILMTHREAD_LIBRARY}
++ ${Ilmbase_IEX_LIBRARY}
++ ${Ilmbase_IMATH_LIBRARY}
++ ${OPENEXR_ILMIMF_LIBRARY}
+ )
+ endif()
+
+@@ -135,7 +135,7 @@ endif()
+ # See FindOpenVDB.cmake
+
+ if(USE_BLOSC)
+- list(APPEND OPENVDB_CORE_DEPENDENT_LIBS Blosc::blosc)
++ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS ${BLOSC_blosc_LIBRARY})
+ endif()
+
+ list(APPEND OPENVDB_CORE_DEPENDENT_LIBS
+@@ -160,7 +160,11 @@ endif()
+
+ # @todo Should be target definitions
+ if(WIN32)
+- add_definitions(-D_WIN32 -DNOMINMAX -DOPENVDB_DLL)
++ add_definitions(-D_WIN32 -DNOMINMAX)
++ add_definitions(-D__TBB_NO_IMPLICIT_LINKAGE -D__TBBMALLOC_NO_IMPLICIT_LINKAGE)
++ if (OPENVDB_SHARED)
++ add_definitions(-DOPENEXR_DLL -DOPENVDB_DLL)
++ endif()
+ endif()
+
+ ##### Core library configuration
+@@ -374,6 +378,7 @@ list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_PRIVATE")
+ if(USE_BLOSC)
+ list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "-DOPENVDB_USE_BLOSC")
+ endif()
++list(APPEND OPENVDB_CORE_PRIVATE_DEFINES "$<$<CXX_COMPILER_ID:MSVC>:/bigobj>")
+
+ # Public defines
+
+diff --git a/openvdb/cmd/CMakeLists.txt b/openvdb/cmd/CMakeLists.txt
+index 124bc3c..d58b3fe 100644
+--- a/openvdb/cmd/CMakeLists.txt
++++ b/openvdb/cmd/CMakeLists.txt
+@@ -155,9 +155,9 @@ if(OPENVDB_BUILD_VDB_RENDER)
+ # headers
+
+ target_link_libraries(vdb_render
+- OpenEXR::IlmImf
+- IlmBase::IlmThread
+- IlmBase::Iex
++ ${OPENEXR_ILMIMF_LIBRARY}
++ ${Ilmbase_ILMTHREAD_LIBRARY}
++ ${Ilmbase_IEX_LIBRARY}
+ ${OPENVDB_BINARIES_DEPENDENT_LIBS}
+ )
+
diff --git a/ports/openvdb/0004-add-necessary-head.patch b/ports/openvdb/0004-add-necessary-head.patch
deleted file mode 100644
index bbe7246b1..000000000
--- a/ports/openvdb/0004-add-necessary-head.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-diff --git a/openvdb/viewer/ClipBox.h b/openvdb/viewer/ClipBox.h
-index ad62d39..c68c5be 100644
---- a/openvdb/viewer/ClipBox.h
-+++ b/openvdb/viewer/ClipBox.h
-@@ -37,6 +37,7 @@
- #include <OpenGL/gl.h>
- #include <OpenGL/glu.h>
- #else
-+#include <windows.h>
- #include <GL/gl.h>
- #include <GL/glu.h>
- #endif
-diff --git a/openvdb/viewer/Font.h b/openvdb/viewer/Font.h
-index da62993..b341165 100644
---- a/openvdb/viewer/Font.h
-+++ b/openvdb/viewer/Font.h
-@@ -37,6 +37,7 @@
- #include <OpenGL/gl.h>
- #include <OpenGL/glu.h>
- #else
-+#include <windows.h>
- #include <GL/gl.h>
- #include <GL/glu.h>
- #endif
-diff --git a/openvdb/viewer/RenderModules.h b/openvdb/viewer/RenderModules.h
-index b9fa5b1..fd38a50 100644
---- a/openvdb/viewer/RenderModules.h
-+++ b/openvdb/viewer/RenderModules.h
-@@ -31,6 +31,7 @@
- #ifndef OPENVDB_VIEWER_RENDERMODULES_HAS_BEEN_INCLUDED
- #define OPENVDB_VIEWER_RENDERMODULES_HAS_BEEN_INCLUDED
-
-+#include <GL/glew.h>
- #include <openvdb/openvdb.h>
- #include <openvdb/tools/VolumeToMesh.h>
- #include <openvdb/tools/MeshToVolume.h>
-@@ -41,6 +42,7 @@
- #include <vector>
-
- #if defined(__APPLE__) || defined(MACOSX)
-+#include <windows.h>
- #include <OpenGL/gl.h>
- #include <OpenGL/glu.h>
- #else
-diff --git a/openvdb/viewer/Viewer.cc b/openvdb/viewer/Viewer.cc
-index 31bb7a4..88bd308 100644
---- a/openvdb/viewer/Viewer.cc
-+++ b/openvdb/viewer/Viewer.cc
-@@ -31,9 +31,9 @@
- #include "Viewer.h"
-
- #include "Camera.h"
-+#include "RenderModules.h"
- #include "ClipBox.h"
- #include "Font.h"
--#include "RenderModules.h"
- #include <openvdb/util/Formats.h> // for formattedInt()
- #include <openvdb/util/logging.h>
- #include <openvdb/points/PointDataGrid.h>
diff --git a/ports/openvdb/CONTROL b/ports/openvdb/CONTROL
index 77a06c78c..5a49417d1 100644
--- a/ports/openvdb/CONTROL
+++ b/ports/openvdb/CONTROL
@@ -1,6 +1,6 @@
Source: openvdb
-Version: 6.0.0-2
-Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess
+Version: 6.1.0
+Build-Depends: boost-ptr-container, openexr, tbb, blosc, boost-iostreams, boost-system, boost-thread, boost-date-time, boost-any, boost-uuid, boost-interprocess, ilmbase
Homepage: https://github.com/dreamworksanimation/openvdb
Description: Sparse volume data structure and tools
diff --git a/ports/openvdb/blosc.patch b/ports/openvdb/blosc.patch
deleted file mode 100644
index 2b9782a1b..000000000
--- a/ports/openvdb/blosc.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/cmake/FindBlosc.cmake b/cmake/FindBlosc.cmake
-index 5ac3780c..61ba83bc 100644
---- a/cmake/FindBlosc.cmake
-+++ b/cmake/FindBlosc.cmake
-@@ -45,8 +45,8 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS ( Blosc
-
- IF ( BLOSC_FOUND )
-
-- SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib
-- CACHE STRING "Blosc library directories")
-+# SET ( BLOSC_LIBRARYDIR ${BLOSC_LOCATION}/lib
-+# CACHE STRING "Blosc library directories")
-
- SET ( _blosc_library_name "blosc" )
-
-@@ -61,8 +61,6 @@ IF ( BLOSC_FOUND )
- ENDIF()
-
- FIND_LIBRARY ( BLOSC_blosc_LIBRARY ${_blosc_library_name}
-- PATHS ${BLOSC_LIBRARYDIR}
-- NO_DEFAULT_PATH
- NO_SYSTEM_ENVIRONMENT_PATH
- )
-
diff --git a/ports/openvdb/portfile.cmake b/ports/openvdb/portfile.cmake
index d1c4cb8ce..1d837fcf9 100644
--- a/ports/openvdb/portfile.cmake
+++ b/ports/openvdb/portfile.cmake
@@ -3,15 +3,13 @@ include(vcpkg_common_functions)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO AcademySoftwareFoundation/openvdb
- REF v6.0.0
- SHA512 6b9e267fff46647b39e1e6faa12059442196c1858df1fda1515cfc375e25bc3033e2828c80e63a652509cfba386376e022cebf81ec85aaccece421b0c721529b
+ REF v6.1.0
+ SHA512 99ebbb50104ef87792ab73989e8714c4f283fb02d04c3033126b5f0d927ff7bbdebe35c8214ded841692941d8ed8ae551fd6d1bf90ad7dc07bedc3b38b9c4b38
HEAD_REF master
PATCHES
- 0001-fix-cmake-modules.patch
- 0002-add-custom-options.patch
- 0003-build-only-necessary-targets.patch
- 0004-add-necessary-head.patch
- blosc.patch
+ 0001-remove-pkgconfig.patch
+ 0002-fix-cmake-modules.patch
+ 0003-fix-cmake.patch
)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
@@ -38,29 +36,36 @@ vcpkg_configure_cmake(
-DOPENVDB_BUILD_PYTHON_MODULE=OFF
-DOPENVDB_ENABLE_3_ABI_COMPATIBLE=OFF
-DUSE_GLFW3=ON
- -DOPENVDB_STATIC=${OPENVDB_STATIC}
- -DOPENVDB_SHARED=${OPENVDB_SHARED}
- -DOPENVDB_BUILD_TOOLS=${OPENVDB_BUILD_TOOLS}
+ -DOPENVDB_CORE_STATIC=${OPENVDB_STATIC}
+ -DOPENVDB_CORE_SHARED=${OPENVDB_SHARED}
+ -DOPENVDB_BUILD_VDB_PRINT=${OPENVDB_BUILD_TOOLS}
+ -DOPENVDB_BUILD_VDB_VIEW=${OPENVDB_BUILD_TOOLS}
+ #-DOPENVDB_BUILD_VDB_RENDER=${OPENVDB_BUILD_TOOLS} # Enable vdb_render when https://github.com/openexr/openexr/issues/302 is fixed
+ -DOPENVDB_BUILD_VDB_LOD=${OPENVDB_BUILD_TOOLS}
)
vcpkg_install_cmake()
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/OpenVDB TARGET_PATH share/openvdb)
+
vcpkg_copy_pdbs()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
if (OPENVDB_BUILD_TOOLS)
# copy tools to tools/openvdb directory
file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/${PORT}/)
file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_print.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_print.exe)
- file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_render.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_render.exe)
- file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_view.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_view.exe)
+ #file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_render.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_render.exe)
+ #file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_view.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_view.exe) # vdb_view does not support win32 currently.
+ file(RENAME ${CURRENT_PACKAGES_DIR}/bin/vdb_lod.exe ${CURRENT_PACKAGES_DIR}/tools/${PORT}/vdb_lod.exe)
vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/${PORT})
# remove debug versions of tools
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_render.exe)
file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_print.exe)
- file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_view.exe)
+ #file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_render.exe)
+ #file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_view.exe) # vdb_view does not support win32 currently.
+ file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/vdb_lod.exe)
endif()
# Handle copyright