aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ports/devil/0003_fix-openexr.patch109
-rw-r--r--ports/devil/portfile.cmake1
2 files changed, 110 insertions, 0 deletions
diff --git a/ports/devil/0003_fix-openexr.patch b/ports/devil/0003_fix-openexr.patch
new file mode 100644
index 000000000..d8038e4cf
--- /dev/null
+++ b/ports/devil/0003_fix-openexr.patch
@@ -0,0 +1,109 @@
+--- a/DevIL/src-IL/cmake/FindOpenEXR.cmake
++++ b/DevIL/src-IL/cmake/FindOpenEXR.cmake
+@@ -1,64 +1,13 @@
+-# Locate OpenEXR
+-# This module defines
+-# OPENEXR_LIBRARIES
+-# OPENEXR_FOUND, if false, do not try to link to OpenEXR
+-# OPENEXR_INCLUDE_DIR, where to find the headers
+-#
+-# $OPENEXR_DIR is an environment variable that would
+-# correspond to the ./configure --prefix=$OPENEXR_DIR
+-#
+-# Created by Robert Osfield.
++include(FindPackageHandleStandardArgs)
+
++find_path(OPENEXR_INCLUDE_PATHS NAMES ImfRgbaFile.h PATH_SUFFIXES OpenEXR)
+
+-FIND_PATH(OPENEXR_INCLUDE_DIR ImfIO.h
+- $ENV{OPENEXR_DIR}/include
+- $ENV{OPENEXR_DIR}
+- ~/Library/Frameworks
+- /Library/Frameworks
+- /usr/local/include
+- /usr/include
+- /sw/include # Fink
+- /opt/local/include # DarwinPorts
+- /opt/csw/include # Blastwave
+- /opt/include
+- /usr/freeware/include
+-)
++find_library(OPENEXR_HALF_LIBRARY NAMES Half)
++find_library(OPENEXR_IEX_LIBRARY NAMES Iex-2_2)
++find_library(OPENEXR_IMATH_LIBRARY NAMES Imath-2_2)
++find_library(OPENEXR_ILMIMF_LIBRARY NAMES IlmImf-2_2)
++find_library(OPENEXR_ILMTHREAD_LIBRARY NAMES IlmThread-2_2)
+
+-# Macro to find exr libraries (deduplicating search paths)
+-# example: OPENEXR_FIND_VAR(OPENEXR_IlmImf_LIBRARY IlmImf)
+-MACRO(OPENEXR_FIND_VAR varname libname)
+- FIND_LIBRARY( ${varname}
+- NAMES ${libname}
+- PATHS
+- $ENV{OPENEXR_DIR}/lib
+- $ENV{OPENEXR_DIR}
+- ~/Library/Frameworks
+- /Library/Frameworks
+- /usr/local/lib
+- /usr/lib
+- /sw/lib
+- /opt/local/lib
+- /opt/csw/lib
+- /opt/lib
+- /usr/freeware/lib64
+- )
+-ENDMACRO(OPENEXR_FIND_VAR)
++set(OPENEXR_LIBRARIES ${OPENEXR_HALF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY})
+
+-# Macro to find exr libraries (and debug versions)
+-# example: OPENEXR_FIND(IlmImf)
+-MACRO(OPENEXR_FIND libname)
+- OPENEXR_FIND_VAR(OPENEXR_${libname}_LIBRARY ${libname})
+- OPENEXR_FIND_VAR(OPENEXR_${libname}_LIBRARY_DEBUG ${libname}d)
+-ENDMACRO(OPENEXR_FIND)
+-
+-OPENEXR_FIND(IlmImf)
+-OPENEXR_FIND(IlmThread)
+-OPENEXR_FIND(Iex)
+-OPENEXR_FIND(Half)
+-
+-SET(OPENEXR_FOUND "NO")
+-IF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmImf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY)
+- SET(OPENEXR_LIBRARIES ${OPENEXR_IlmImf_LIBRARY} ${OPENEXR_IlmThread_LIBRARY} ${OPENEXR_Half_LIBRARY} ${OPENEXR_Iex_LIBRARY} )
+- SET(OPENEXR_LIBRARIES_VARS OPENEXR_IlmImf_LIBRARY OPENEXR_IlmThread_LIBRARY OPENEXR_Half_LIBRARY OPENEXR_Iex_LIBRARY )
+- SET(OPENEXR_FOUND "YES")
+-ENDIF(OPENEXR_INCLUDE_DIR AND OPENEXR_IlmImf_LIBRARY AND OPENEXR_IlmThread_LIBRARY AND OPENEXR_Iex_LIBRARY AND OPENEXR_Half_LIBRARY)
++find_package_handle_standard_args(OPENEXR REQUIRED_VARS OPENEXR_LIBRARIES OPENEXR_INCLUDE_PATHS)
+--- a/DevIL/src-IL/src/il_exr.cpp
++++ b/DevIL/src-IL/src/il_exr.cpp
+@@ -15,14 +15,14 @@
+ #ifndef IL_NO_EXR
+
+ #ifndef HAVE_CONFIG_H // We are probably on a Windows box .
+-//#define OPENEXR_DLL
+-#define HALF_EXPORTS
++#define OPENEXR_DLL
++//#define HALF_EXPORTS
+ #endif //HAVE_CONFIG_H
+
+ #include "il_exr.h"
+-#include <ImfRgba.h>
+-#include <ImfArray.h>
+-#include <ImfRgbaFile.h>
++#include <OpenEXR/ImfRgba.h>
++#include <OpenEXR/ImfArray.h>
++#include <OpenEXR/ImfRgbaFile.h>
+ //#include <ImfTiledRgbaFile.h>
+ //#include <ImfInputFile.h>
+ //#include <ImfTiledInputFile.h>
+--- a/DevIL/src-IL/include/il_exr.h
++++ b/DevIL/src-IL/include/il_exr.h
+@@ -15,7 +15,7 @@
+ #define EXR_H
+
+ #include "il_internal.h"
+-#include <ImfIO.h>
++#include <OpenEXR/ImfIO.h>
+
+
+ //using namespace Imf; // Using this leads to errors with Microsoft's IStream.
diff --git a/ports/devil/portfile.cmake b/ports/devil/portfile.cmake
index ff4e7ee0c..7ab5a6c06 100644
--- a/ports/devil/portfile.cmake
+++ b/ports/devil/portfile.cmake
@@ -9,6 +9,7 @@ vcpkg_from_github(
PATCHES
0001_fix-encoding.patch
0002_fix-missing-mfc-includes.patch
+ 0003_fix-openexr.patch
enable-static.patch
)