diff options
| author | Chao <6785880+ChaoJia@users.noreply.github.com> | 2019-09-29 22:07:50 +0200 |
|---|---|---|
| committer | Curtis J Bezault <curtbezault@gmail.com> | 2019-09-29 13:07:50 -0700 |
| commit | b9c87f40d487c63d64b384f494da050acd309ce8 (patch) | |
| tree | 0a38ce32dcd2e27c8792b4dd60239ea78a210568 /ports/alembic | |
| parent | 3c39089dadbf057b938c228932e39a76b1fbece7 (diff) | |
| download | vcpkg-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.patch | 381 | ||||
| -rw-r--r-- | ports/alembic/portfile.cmake | 1 |
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( |
