aboutsummaryrefslogtreecommitdiff
path: root/ports/alembic
diff options
context:
space:
mode:
authorChao <6785880+ChaoJia@users.noreply.github.com>2019-09-29 22:07:50 +0200
committerCurtis J Bezault <curtbezault@gmail.com>2019-09-29 13:07:50 -0700
commitb9c87f40d487c63d64b384f494da050acd309ce8 (patch)
tree0a38ce32dcd2e27c8792b4dd60239ea78a210568 /ports/alembic
parent3c39089dadbf057b938c228932e39a76b1fbece7 (diff)
downloadvcpkg-b9c87f40d487c63d64b384f494da050acd309ce8.tar.gz
vcpkg-b9c87f40d487c63d64b384f494da050acd309ce8.zip
[alembic,geogram,openimageio]: alembic: in favor of FindOpenEXR.cmake installed alongside package openexr by vcpkg so that debug version of openexr can actually be found and linked into; (#8379)
geogram: remove /src/lib from INTERFACE_INCLUDE_DIRECTORIES in GeogramTargets.cmake, as /src/lib is not a valid include path; openimageio: in favor of FindOpenEXR.cmake and LibRaw-config.cmake installed by vcpkg so that the debug version of openexr and libraw can actually be found and linked into;
Diffstat (limited to 'ports/alembic')
-rw-r--r--ports/alembic/fix-find-openexr-ilmbase.patch381
-rw-r--r--ports/alembic/portfile.cmake1
2 files changed, 382 insertions, 0 deletions
diff --git a/ports/alembic/fix-find-openexr-ilmbase.patch b/ports/alembic/fix-find-openexr-ilmbase.patch
new file mode 100644
index 000000000..fdd24249a
--- /dev/null
+++ b/ports/alembic/fix-find-openexr-ilmbase.patch
@@ -0,0 +1,381 @@
+diff --git a/cmake/AlembicIlmBase.cmake b/cmake/AlembicIlmBase.cmake
+index cd00d70..a73c8db 100644
+--- a/cmake/AlembicIlmBase.cmake
++++ b/cmake/AlembicIlmBase.cmake
+@@ -33,11 +33,25 @@
+ ##
+ ##-*****************************************************************************
+
+-FIND_PACKAGE(IlmBase)
++FIND_PACKAGE(OpenEXR)
+
+-IF (ILMBASE_FOUND)
++IF (OPENEXR_FOUND)
+ SET(ALEMBIC_ILMBASE_FOUND 1 CACHE STRING "Set to 1 if IlmBase is found, 0 otherwise")
+
++ set(ALEMBIC_ILMBASE_INCLUDE_DIRECTORY ${OpenEXR_INCLUDE_DIRS}/OpenEXR)
++ set(ALEMBIC_ILMBASE_HALF_LIB ${OPENEXR_HALF_LIBRARY})
++ set(ALEMBIC_ILMBASE_IEX_LIB ${OPENEXR_IEX_LIBRARY})
++ set(ALEMBIC_ILMBASE_IEXMATH_LIB ${OpenEXR_IEXMATH_LIBRARY})
++ set(ALEMBIC_ILMBASE_ILMTHREAD_LIB ${OPENEXR_ILMTHREAD_LIBRARY})
++ set(ALEMBIC_ILMBASE_IMATH_LIB ${OPENEXR_IMATH_LIBRARY})
++
++ MESSAGE( STATUS "ILMBASE INCLUDE PATH: ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY}" )
++ MESSAGE( STATUS "HALF LIB: ${ALEMBIC_ILMBASE_HALF_LIB}" )
++ MESSAGE( STATUS "IEX LIB: ${ALEMBIC_ILMBASE_IEX_LIB}" )
++ MESSAGE( STATUS "IEXMATH LIB: ${ALEMBIC_ILMBASE_IEXMATH_LIB}" )
++ MESSAGE( STATUS "ILMTHREAD LIB: ${ALEMBIC_ILMBASE_ILMTHREAD_LIB}" )
++ MESSAGE( STATUS "IMATH LIB: ${ALEMBIC_ILMBASE_IMATH_LIB}" )
++
+ SET(ALEMBIC_ILMBASE_LIBS
+ ${ALEMBIC_ILMBASE_IMATH_LIB}
+ ${ALEMBIC_ILMBASE_ILMTHREAD_LIB}
+diff --git a/cmake/AlembicOpenEXR.cmake b/cmake/AlembicOpenEXR.cmake
+index 0833b32..a9180cd 100644
+--- a/cmake/AlembicOpenEXR.cmake
++++ b/cmake/AlembicOpenEXR.cmake
+@@ -38,8 +38,12 @@
+ FIND_PACKAGE( OpenEXR )
+
+ IF( OPENEXR_FOUND )
+- SET( ALEMBIC_OPENEXR_INCLUDE_PATH ${OPENEXR_INCLUDE_PATHS} )
++ SET( ALEMBIC_OPENEXR_INCLUDE_PATH ${OPENEXR_INCLUDE_PATHS}/OpenEXR )
+ SET( ALEMBIC_OPENEXR_LIBRARIES ${OPENEXR_LIBRARIES} )
++
++ MESSAGE( STATUS "OPENEXR INCLUDE PATH: ${ALEMBIC_OPENEXR_INCLUDE_PATH}" )
++ MESSAGE( STATUS "OPENEXR LIB: ${ALEMBIC_OPENEXR_LIBRARIES}" )
++
+ # SET( ALEMBIC_OPENEXR_DEFINITIONS ${OPENEXR_DEFINITIONS} )
+
+ SET( ALEMBIC_OPENEXR_FOUND 1 CACHE STRING "Set to 1 if OpenEXR is found, 0 otherwise" )
+diff --git a/cmake/Modules/FindIlmBase.cmake b/cmake/Modules/FindIlmBase.cmake
+deleted file mode 100644
+index 679a02f..0000000
+--- a/cmake/Modules/FindIlmBase.cmake
++++ /dev/null
+@@ -1,190 +0,0 @@
+-##-*****************************************************************************
+-##
+-## Copyright (c) 2009-2016,
+-## Sony Pictures Imageworks Inc. and
+-## Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd.
+-##
+-## All rights reserved.
+-##
+-## Redistribution and use in source and binary forms, with or without
+-## modification, are permitted provided that the following conditions are
+-## met:
+-## * Redistributions of source code must retain the above copyright
+-## notice, this list of conditions and the following disclaimer.
+-## * Redistributions in binary form must reproduce the above
+-## copyright notice, this list of conditions and the following disclaimer
+-## in the documentation and/or other materials provided with the
+-## distribution.
+-## * Neither the name of Industrial Light & Magic 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 DIRECT, 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.
+-##
+-##-*****************************************************************************
+-
+-#-******************************************************************************
+-#-******************************************************************************
+-# FIRST, ILMBASE STUFF
+-#-******************************************************************************
+-#-******************************************************************************
+-
+-# If ILMBASE_ROOT was defined in the environment, use it.
+-IF(NOT ILMBASE_ROOT AND NOT $ENV{ILMBASE_ROOT} STREQUAL "")
+- SET(ILMBASE_ROOT $ENV{ILMBASE_ROOT})
+-ENDIF()
+-
+-IF(NOT DEFINED ILMBASE_ROOT)
+- MESSAGE(STATUS "ILMBASE_ROOT is undefined" )
+- IF ( ${CMAKE_HOST_UNIX} )
+- IF( ${DARWIN} )
+- # TODO: set to default install path when shipping out
+- SET( ALEMBIC_ILMBASE_ROOT NOTFOUND )
+- ELSE()
+- # TODO: set to default install path when shipping out
+- SET( ALEMBIC_ILMBASE_ROOT "/usr/local/ilmbase-1.0.1/" )
+- ENDIF()
+- ELSE()
+- IF ( ${WINDOWS} )
+- # TODO: set to 32-bit or 64-bit path
+- SET( ALEMBIC_ILMBASE_ROOT "C:/Program Files (x86)/ilmbase-1.0.1/" )
+- ELSE()
+- SET( ALEMBIC_ILMBASE_ROOT NOTFOUND )
+- ENDIF()
+- ENDIF()
+-ELSE()
+- SET( ALEMBIC_ILMBASE_ROOT ${ILMBASE_ROOT} )
+-ENDIF()
+-
+-SET(_ilmbase_FIND_COMPONENTS
+- Half
+- Iex
+- IexMath
+- IlmThread
+- Imath
+-)
+-
+-SET(_ilmbase_SEARCH_DIRS
+- ${ALEMBIC_ILMBASE_ROOT}
+- ~/Library/Frameworks
+- /Library/Frameworks
+- /usr/local
+- /usr
+- /sw
+- /opt/local
+- /opt/csw
+- /opt
+- /usr/freeware
+-)
+-
+-FIND_PATH(ILMBASE_INCLUDE_DIR
+- NAMES
+- IlmBaseConfig.h
+- HINTS
+- ${_ilmbase_SEARCH_DIRS}
+- PATH_SUFFIXES
+- include
+- include/OpenEXR
+-)
+-
+-# If the headers were found, get the version from config file, if not already set.
+-IF(ILMBASE_INCLUDE_DIR)
+- SET(ALEMBIC_ILMBASE_INCLUDE_DIRECTORY ${ILMBASE_INCLUDE_DIR})
+- IF(NOT ILMBASE_VERSION)
+-
+- FIND_FILE(_ilmbase_CONFIG
+- NAMES
+- IlmBaseConfig.h
+- PATHS
+- "${ILMBASE_INCLUDE_DIR}"
+- "${ILMBASE_INCLUDE_DIR}/OpenEXR"
+- )
+-
+- IF(_ilmbase_CONFIG)
+- FILE(STRINGS "${_ilmbase_CONFIG}" ILMBASE_BUILD_SPECIFICATION
+- REGEX "^[ \t]*#define[ \t]+(ILMBASE_VERSION_STRING|VERSION)[ \t]+\"[.0-9]+\".*$")
+- ELSE()
+- MESSAGE(WARNING "Could not find \"OpenEXRConfig.h\" in \"${ILMBASE_INCLUDE_DIR}\"")
+- ENDIF()
+-
+- IF(ILMBASE_BUILD_SPECIFICATION)
+- STRING(REGEX REPLACE ".*#define[ \t]+(ILMBASE_VERSION_STRING|VERSION)[ \t]+\"([.0-9]+)\".*"
+- "\\2" _ilmbase_libs_ver_init ${ILMBASE_BUILD_SPECIFICATION})
+- ELSE()
+- MESSAGE(WARNING "Could not determine ILMBase library version, assuming ${_ilmbase_libs_ver_init}.")
+- ENDIF()
+-
+- UNSET(_ilmbase_CONFIG CACHE)
+-
+- ENDIF()
+-
+- SET("ILMBASE_VERSION" ${_ilmbase_libs_ver_init} CACHE STRING "Version of OpenEXR lib")
+- UNSET(_ilmbase_libs_ver_init)
+-
+- STRING(REGEX REPLACE "([0-9]+)[.]([0-9]+).*" "\\1_\\2" _ilmbase_libs_ver ${ILMBASE_VERSION})
+-ENDIF()
+-
+-
+-SET(_ilmbase_LIBRARIES)
+-FOREACH(COMPONENT ${_ilmbase_FIND_COMPONENTS})
+- STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+-
+- FIND_LIBRARY(ALEMBIC_ILMBASE_${UPPERCOMPONENT}_LIB
+- NAMES
+- ${COMPONENT}-${_ilmbase_libs_ver} ${COMPONENT}
+- HINTS
+- ${_ilmbase_SEARCH_DIRS}
+- PATH_SUFFIXES
+- lib64 lib
+- )
+- LIST(APPEND _ilmbase_LIBRARIES "${ILMBASE_${UPPERCOMPONENT}_LIBRARY}")
+-ENDFOREACH()
+-
+-UNSET(_ilmbase_libs_ver)
+-
+-IF ( ${ALEMBIC_ILMBASE_HALF_LIB} STREQUAL "ALEMBIC_ILMBASE_HALF_LIB-NOTFOUND" )
+- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IlmThread, Imath) not found, required" )
+-ENDIF()
+-
+-IF ( ${ALEMBIC_ILMBASE_IEX_LIB} STREQUAL "ALEMBIC_ILMBASE_IEX_LIB-NOTFOUND" )
+- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IlmThread, Imath) not found, required" )
+-ENDIF()
+-
+-IF ( DEFINED USE_IEXMATH AND USE_IEXMATH )
+- IF ( ${ALEMBIC_ILMBASE_IEXMATH_LIB} STREQUAL
+- "ALEMBIC_ILMBASE_IEXMATH_LIB-NOTFOUND" )
+- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IexMath, IlmThread, Imath) not found, required" )
+- ENDIF()
+-ENDIF()
+-
+-IF ( ${ALEMBIC_ILMBASE_ILMTHREAD_LIB} STREQUAL "ALEMBIC_ILMBASE_ILMTHREAD_LIB-NOTFOUND" )
+- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IlmThread, Imath) not found, required" )
+-ENDIF()
+-
+-IF ( ${ALEMBIC_ILMBASE_IMATH_LIB} STREQUAL "ALEMBIC_ILMBASE_IMATH_LIB-NOTFOUND" )
+- MESSAGE( FATAL_ERROR "ilmbase libraries (Half, Iex, IlmThread, Imath) not found, required" )
+-ENDIF()
+-
+-IF ( ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY} STREQUAL "ALEMBIC_ILMBASE_INCLUDE_DIRECTORY-NOTFOUND" )
+- MESSAGE( FATAL_ERROR "ilmbase header files not found, required: ALEMBIC_ILMBASE_ROOT: ${ALEMBIC_ILMBASE_ROOT}" )
+-ENDIF()
+-
+-
+-MESSAGE( STATUS "ILMBASE INCLUDE PATH: ${ALEMBIC_ILMBASE_INCLUDE_DIRECTORY}" )
+-MESSAGE( STATUS "HALF LIB: ${ALEMBIC_ILMBASE_HALF_LIB}" )
+-MESSAGE( STATUS "IEX LIB: ${ALEMBIC_ILMBASE_IEX_LIB}" )
+-MESSAGE( STATUS "IEXMATH LIB: ${ALEMBIC_ILMBASE_IEXMATH_LIB}" )
+-MESSAGE( STATUS "ILMTHREAD LIB: ${ALEMBIC_ILMBASE_ILMTHREAD_LIB}" )
+-MESSAGE( STATUS "IMATH LIB: ${ALEMBIC_ILMBASE_IMATH_LIB}" )
+-
+-SET( ILMBASE_FOUND TRUE )
+diff --git a/cmake/Modules/FindOpenEXR.cmake b/cmake/Modules/FindOpenEXR.cmake
+deleted file mode 100644
+index 935fe6f..0000000
+--- a/cmake/Modules/FindOpenEXR.cmake
++++ /dev/null
+@@ -1,129 +0,0 @@
+-##-*****************************************************************************
+-##
+-## Copyright (c) 2009-2011,
+-## Sony Pictures Imageworks Inc. and
+-## Industrial Light & Magic, a division of Lucasfilm Entertainment Company Ltd.
+-##
+-## All rights reserved.
+-##
+-## Redistribution and use in source and binary forms, with or without
+-## modification, are permitted provided that the following conditions are
+-## met:
+-## * Redistributions of source code must retain the above copyright
+-## notice, this list of conditions and the following disclaimer.
+-## * Redistributions in binary form must reproduce the above
+-## copyright notice, this list of conditions and the following disclaimer
+-## in the documentation and/or other materials provided with the
+-## distribution.
+-## * Neither the name of Industrial Light & Magic 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 DIRECT, 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.
+-##
+-##-*****************************************************************************
+-
+-
+-# We shall worry about windowsification later.
+-
+-#-******************************************************************************
+-#-******************************************************************************
+-# NOW, OPENEXR STUFF. EXR IS OPTIONAL, WHERASE ILMBASE IS NOT
+-#-******************************************************************************
+-#-******************************************************************************
+-
+-IF(NOT DEFINED OPENEXR_ROOT)
+- IF ( ${CMAKE_HOST_UNIX} )
+- IF( ${DARWIN} )
+- # TODO: set to default install path when shipping out
+- SET( ALEMBIC_OPENEXR_ROOT NOTFOUND )
+- ELSE()
+- # TODO: set to default install path when shipping out
+- SET( ALEMBIC_OPENEXR_ROOT "/usr/local/openexr-1.6.1/" )
+- ENDIF()
+- ELSE()
+- IF ( ${WINDOWS} )
+- # TODO: set to 32-bit or 64-bit path
+- SET( ALEMBIC_OPENEXR_ROOT NOTFOUND )
+- ELSE()
+- SET( ALEMBIC_OPENEXR_ROOT NOTFOUND )
+- ENDIF()
+- ENDIF()
+-ELSE()
+- SET( ALEMBIC_OPENEXR_ROOT ${OPENEXR_ROOT} )
+-ENDIF()
+-
+-IF(NOT $ENV{OPENEXR_ROOT}x STREQUAL "x")
+- SET( ALEMBIC_OPENEXR_ROOT $ENV{OPENEXR_ROOT})
+-ELSE()
+- SET( ENV{OPENEXR_ROOT} ${OPENEXR_ROOT} )
+-ENDIF()
+-
+-
+-SET(LIBRARY_PATHS
+- ${ALEMBIC_OPENEXR_ROOT}/lib
+- ~/Library/Frameworks
+- /Library/Frameworks
+- /usr/local/lib
+- /usr/lib
+- /sw/lib
+- /opt/local/lib
+- /opt/csw/lib
+- /opt/lib
+- /usr/freeware/lib64
+-)
+-
+-SET(INCLUDE_PATHS
+- ${ALEMBIC_OPENEXR_ROOT}/include/OpenEXR/
+- ~/Library/Frameworks
+- /Library/Frameworks
+- /usr/local/include/OpenEXR/
+- /usr/local/include
+- /usr/include
+- /sw/include # Fink
+- /opt/local/include # DarwinPorts
+- /opt/csw/include # Blastwave
+- /opt/include
+- /usr/freeware/include
+-)
+-
+-FIND_PATH( ALEMBIC_OPENEXR_INCLUDE_PATH ImfRgba.h
+- PATHS
+- ${INCLUDE_PATHS}
+- DOC "The directory where ImfRgba.h resides" )
+-
+-FIND_LIBRARY( ALEMBIC_OPENEXR_ILMIMF_LIB IlmImf
+- PATHS
+- ${LIBRARY_PATHS}
+- DOC "The IlmImf library" )
+-
+-
+-SET( OPENEXR_FOUND TRUE )
+-
+-IF ( ${ALEMBIC_OPENEXR_INCLUDE_PATH} STREQUAL "ALEMBIC_OPENEXR_INCLUDE_PATH-NOTFOUND" )
+- MESSAGE( STATUS "OpenEXR include path not found, disabling" )
+- SET( OPENEXR_FOUND FALSE )
+-ENDIF()
+-
+-IF ( ${ALEMBIC_OPENEXR_ILMIMF_LIB} STREQUAL "ALEMBIC_OPENEXR_ILMIMF_LIB-NOTFOUND" )
+- MESSAGE( STATUS "OpenEXR libraries not found, disabling" )
+- SET( OPENEXR_FOUND FALSE )
+- SET( ALEMBIC_OPENEXR_LIBS NOTFOUND )
+-ENDIF()
+-
+-IF (OPENEXR_FOUND)
+- MESSAGE( STATUS "OPENEXR INCLUDE PATH: ${ALEMBIC_OPENEXR_INCLUDE_PATH}" )
+- SET( ALEMBIC_OPENEXR_LIBS ${ALEMBIC_OPENEXR_ILMIMF_LIB} )
+-ENDIF()
+-
+-
diff --git a/ports/alembic/portfile.cmake b/ports/alembic/portfile.cmake
index 776e3471b..95e3c22ee 100644
--- a/ports/alembic/portfile.cmake
+++ b/ports/alembic/portfile.cmake
@@ -12,6 +12,7 @@ vcpkg_from_github(
HEAD_REF master
PATCHES
fix-C1083.patch
+ fix-find-openexr-ilmbase.patch
)
vcpkg_configure_cmake(