diff options
Diffstat (limited to 'ports/openexr')
| -rw-r--r-- | ports/openexr/CMakeLists.txt.patch | 86 | ||||
| -rw-r--r-- | ports/openexr/CONTROL | 4 | ||||
| -rw-r--r-- | ports/openexr/FindOpenEXR.cmake | 88 | ||||
| -rw-r--r-- | ports/openexr/add-missing-export.patch | 13 | ||||
| -rw-r--r-- | ports/openexr/fix-static-linking.patch | 14 | ||||
| -rw-r--r-- | ports/openexr/portfile.cmake | 98 |
6 files changed, 136 insertions, 167 deletions
diff --git a/ports/openexr/CMakeLists.txt.patch b/ports/openexr/CMakeLists.txt.patch deleted file mode 100644 index 0ee0110d5..000000000 --- a/ports/openexr/CMakeLists.txt.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8c0a385..887ddf5 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -157,8 +157,8 @@ IF (HAVE_SYSCONF_NPROCESSORS_ONLN) - FILE ( APPEND ${CMAKE_CURRENT_BINARY_DIR}/config/OpenEXRConfig.h "#define OPENEXR_IMF_HAVE_SYSCONF_NPROCESSORS_ONLN 1\n" ) - ENDIF() - --SET (OPENEXR_LIBSUFFIX "") --SET (ILMBASE_LIBSUFFIX "") -+SET (OPENEXR_LIBSUFFIX "" CACHE STRING "Default suffix for OpenEXR") -+SET (ILMBASE_LIBSUFFIX "" CACHE STRING "Default suffix for ILMBase") - IF (NAMESPACE_VERSIONING) - SET ( OPENEXR_LIBSUFFIX "-${OPENEXR_VERSION_API}" ) - # assume same NAMESPACE_VERSION setting for IlmBase for now -@@ -188,32 +188,6 @@ SET_TARGET_PROPERTIES ( IlmImfUtil - SOVERSION 23 - OUTPUT_NAME "IlmImfUtil${OPENEXR_LIBSUFFIX}" - ) -- --########################## --# Example Code --########################## --ADD_SUBDIRECTORY ( IlmImfExamples ) -- -- --########################## --# Tests --########################## --ADD_SUBDIRECTORY ( IlmImfTest ) --ADD_SUBDIRECTORY ( IlmImfUtilTest ) --ADD_SUBDIRECTORY ( IlmImfFuzzTest ) -- -- --########################## --# Binaries / Utilities --########################## --ADD_SUBDIRECTORY ( exrheader ) --ADD_SUBDIRECTORY ( exrmaketiled ) --ADD_SUBDIRECTORY ( exrstdattr ) --ADD_SUBDIRECTORY ( exrmakepreview ) --ADD_SUBDIRECTORY ( exrenvmap ) --ADD_SUBDIRECTORY ( exrmultiview ) --ADD_SUBDIRECTORY ( exrmultipart ) -- - - ########################## - # Installation -@@ -224,37 +198,3 @@ INSTALL ( FILES - DESTINATION - ${CMAKE_INSTALL_PREFIX}/include/OpenEXR - ) -- --# Documentation --INSTALL ( FILES -- doc/TechnicalIntroduction.pdf -- doc/ReadingAndWritingImageFiles.pdf -- doc/OpenEXRFileLayout.pdf -- doc/MultiViewOpenEXR.pdf -- doc/InterpretingDeepPixels.pdf -- doc/TheoryDeepPixels.pdf -- DESTINATION -- ${CMAKE_INSTALL_PREFIX}/share/doc/OpenEXR-${OPENEXR_VERSION} -- ) -- --# Examples --INSTALL ( FILES -- IlmImfExamples/main.cpp -- IlmImfExamples/drawImage.cpp -- IlmImfExamples/rgbaInterfaceExamples.cpp -- IlmImfExamples/rgbaInterfaceTiledExamples.cpp -- IlmImfExamples/generalInterfaceExamples.cpp -- IlmImfExamples/lowLevelIoExamples.cpp -- IlmImfExamples/previewImageExamples.cpp -- IlmImfExamples/generalInterfaceTiledExamples.cpp -- IlmImfExamples/generalInterfaceTiledExamples.h -- IlmImfExamples/drawImage.h -- IlmImfExamples/rgbaInterfaceExamples.h -- IlmImfExamples/generalInterfaceExamples.h -- IlmImfExamples/rgbaInterfaceTiledExamples.h -- IlmImfExamples/lowLevelIoExamples.h -- IlmImfExamples/previewImageExamples.h -- IlmImfExamples/namespaceAlias.h -- DESTINATION -- ${CMAKE_INSTALL_PREFIX}/share/doc/OpenEXR-${OPENEXR_VERSION}/examples -- ) diff --git a/ports/openexr/CONTROL b/ports/openexr/CONTROL index 752dafc6d..ea85a082f 100644 --- a/ports/openexr/CONTROL +++ b/ports/openexr/CONTROL @@ -1,4 +1,4 @@ Source: openexr -Version: 2.2.1-1 +Version: 2.3.0-2 Description: OpenEXR is a high dynamic-range (HDR) image file format developed by Industrial Light & Magic for use in computer imaging applications -Build-Depends: zlib, ilmbase +Build-Depends: zlib diff --git a/ports/openexr/FindOpenEXR.cmake b/ports/openexr/FindOpenEXR.cmake index cfff7824c..a381c6db9 100644 --- a/ports/openexr/FindOpenEXR.cmake +++ b/ports/openexr/FindOpenEXR.cmake @@ -1,13 +1,87 @@ include(FindPackageHandleStandardArgs) +find_path(OpenEXR_INCLUDE_DIRS OpenEXR/OpenEXRConfig.h) find_path(OPENEXR_INCLUDE_PATHS NAMES ImfRgbaFile.h PATH_SUFFIXES OpenEXR) -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) +file(STRINGS "${OpenEXR_INCLUDE_DIRS}/OpenEXR/OpenEXRConfig.h" OPENEXR_CONFIG_H) -set(OPENEXR_LIBRARIES ${OPENEXR_HALF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY}) +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}") -find_package_handle_standard_args(OPENEXR REQUIRED_VARS OPENEXR_LIBRARIES OPENEXR_INCLUDE_PATHS) +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/openexr/add-missing-export.patch b/ports/openexr/add-missing-export.patch deleted file mode 100644 index c78842d18..000000000 --- a/ports/openexr/add-missing-export.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/IlmImf/ImfHeader.h b/IlmImf/ImfHeader.h -index 756a62e..dd71e0e 100644 ---- a/IlmImf/ImfHeader.h -+++ b/IlmImf/ImfHeader.h -@@ -493,7 +493,7 @@ class Header::ConstIterator - // - //------------------------------------------------------------------------ - --void staticInitialize (); -+IMF_EXPORT void staticInitialize (); - - - //----------------- diff --git a/ports/openexr/fix-static-linking.patch b/ports/openexr/fix-static-linking.patch deleted file mode 100644 index af2f067f1..000000000 --- a/ports/openexr/fix-static-linking.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/IlmImf/CMakeLists.txt b/IlmImf/CMakeLists.txt -index 18d90edc..21bbaa27 100644 ---- a/IlmImf/CMakeLists.txt -+++ b/IlmImf/CMakeLists.txt -@@ -25,8 +25,8 @@ ADD_EXECUTABLE ( dwaLookups - - TARGET_LINK_LIBRARIES ( dwaLookups - Half -- Iex${ILMBASE_LIBSUFFIX} - IlmThread${ILMBASE_LIBSUFFIX} -+ Iex${ILMBASE_LIBSUFFIX} - ${PTHREAD_LIB} - ) - diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake index b02a487a9..c32d07123 100644 --- a/ports/openexr/portfile.cmake +++ b/ports/openexr/portfile.cmake @@ -1,63 +1,71 @@ -set(OPENEXR_VERSION 2.2.1) -set(OPENEXR_HASH 192100c6ac47534f3a93c55327d2ab90b07a8265156855086b326184328c257dcde12991b3f3f1831e2df4226fe884adcfe481c2f02a157c715aee665e89a480) - include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/openexr-${OPENEXR_VERSION}) -vcpkg_download_distfile(ARCHIVE - URLS "http://download.savannah.nongnu.org/releases/openexr/openexr-${OPENEXR_VERSION}.tar.gz" - FILENAME "openexr-${OPENEXR_VERSION}.tar.gz" - SHA512 ${OPENEXR_HASH}) - -vcpkg_extract_source_archive(${ARCHIVE}) -vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/add-missing-export.patch" - "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.patch" - "${CMAKE_CURRENT_LIST_DIR}/fix-static-linking.patch" -) -# Ensure helper executables can run during build -set(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin") +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore") + message(FATAL_ERROR "UWP build not supported") +endif() + +set(OPENEXR_VERSION 2.3.0) +set(OPENEXR_HASH 268ae64b40d21d662f405fba97c307dad1456b7d996a447aadafd41b640ca736d4851d9544b4741a94e7b7c335fe6e9d3b16180e710671abfc0c8b2740b147b2) -# In debug build buildsystem cannot locate IlmBase headers -set(VCPKG_C_FLAGS_DEBUG "${VCPKG_C_FLAGS_DEBUG}") -set(VCPKG_CXX_FLAGS_DEBUG "${VCPKG_CXX_FLAGS_DEBUG} -I\"${CURRENT_INSTALLED_DIR}/include/OpenEXR\"") +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO openexr/openexr + REF v${OPENEXR_VERSION} + SHA512 ${OPENEXR_HASH} + HEAD_REF master +) vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG - -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}/debug - OPTIONS_RELEASE - -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}) + PREFER_NINJA + OPTIONS + -DOPENEXR_BUILD_PYTHON_LIBS:BOOL=FALSE + OPTIONS_DEBUG + -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}/debug + OPTIONS_RELEASE + -DILMBASE_PACKAGE_PREFIX=${CURRENT_INSTALLED_DIR}) vcpkg_install_cmake() -# if you need to have OpenEXR tools, edit CMakeLists.txt.patch and remove the part that disables building executables, -# then remove the following line which deletes them and finally use vcpkg_copy_tool_dependencies() to save them -# (may require additional patching to the OpenEXR toolchain which is really broken) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/share ${CURRENT_PACKAGES_DIR}/debug/share) file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) +file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - foreach(SUBDIR "" "/debug") - file(GLOB DLLS ${CURRENT_PACKAGES_DIR}${SUBDIR}/lib/*.dll) - file(COPY ${DLLS} DESTINATION ${CURRENT_PACKAGES_DIR}${SUBDIR}/bin) - file(REMOVE ${DLLS}) - endforeach() +# NOTE: Only use ".exe" extension on Windows executables. +# Is there a cleaner way to do this? +if(WIN32) + set(EXECUTABLE_SUFFIX ".exe") +else() + set(EXECUTABLE_SUFFIX "") endif() +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrenvmap${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrheader${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmakepreview${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmaketiled${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmultipart${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrmultiview${EXECUTABLE_SUFFIX}) +file(REMOVE ${CURRENT_PACKAGES_DIR}/debug/bin/exrstdattr${EXECUTABLE_SUFFIX}) +file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/tools/openexr/) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrenvmap${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrenvmap${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrheader${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrheader${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmakepreview${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmakepreview${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmaketiled${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmaketiled${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmultipart${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmultipart${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrmultiview${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrmultiview${EXECUTABLE_SUFFIX}) +file(RENAME ${CURRENT_PACKAGES_DIR}/bin/exrstdattr${EXECUTABLE_SUFFIX} ${CURRENT_PACKAGES_DIR}/tools/openexr/exrstdattr${EXECUTABLE_SUFFIX}) +vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/openexr) vcpkg_copy_pdbs() -file(READ ${CURRENT_PACKAGES_DIR}/include/OpenEXR/ImfExport.h HEADER_FILE) -if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") - string(REPLACE "defined(OPENEXR_DLL)" "1" HEADER_FILE "${HEADER_FILE}") +if (VCPKG_LIBRARY_LINKAGE STREQUAL static) + file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin) +endif() + +if (VCPKG_CMAKE_SYSTEM_NAME STREQUAL "Linux") + set(OPENEXR_PORT_DIR "openexr") else() - string(REPLACE "defined(OPENEXR_DLL)" "0" HEADER_FILE "${HEADER_FILE}") + set(OPENEXR_PORT_DIR "OpenEXR") endif() -file(WRITE ${CURRENT_PACKAGES_DIR}/include/OpenEXR/ImfExport.h "${HEADER_FILE}") -file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/openexr) -file(RENAME ${CURRENT_PACKAGES_DIR}/share/openexr/LICENSE ${CURRENT_PACKAGES_DIR}/share/openexr/copyright) +file(COPY ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}) +file(RENAME ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}/copyright) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openexr) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/${OPENEXR_PORT_DIR}) |
