diff options
| author | Robert Schumacher <roschuma@microsoft.com> | 2018-02-21 16:40:27 -0800 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2018-02-23 17:06:37 -0800 |
| commit | 832f908694423ccf4c32d8e0dc430cc9159e309b (patch) | |
| tree | 873fb4d1e7b324f7315eb0dc19bb6b12f4fc25f9 | |
| parent | 175d25ae4704de187930010481ff2f9cdb5af1a4 (diff) | |
| download | vcpkg-832f908694423ccf4c32d8e0dc430cc9159e309b.tar.gz vcpkg-832f908694423ccf4c32d8e0dc430cc9159e309b.zip | |
[openexr] Deploy FindOpenEXR.cmake and reduce components built
| -rw-r--r-- | ports/openexr/CMakeLists.txt.patch | 92 | ||||
| -rw-r--r-- | ports/openexr/CONTROL | 2 | ||||
| -rw-r--r-- | ports/openexr/FindOpenEXR.cmake | 13 | ||||
| -rw-r--r-- | ports/openexr/portfile.cmake | 10 |
4 files changed, 115 insertions, 2 deletions
diff --git a/ports/openexr/CMakeLists.txt.patch b/ports/openexr/CMakeLists.txt.patch new file mode 100644 index 000000000..bb0d003ef --- /dev/null +++ b/ports/openexr/CMakeLists.txt.patch @@ -0,0 +1,92 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d3e3365..a20580e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -152,13 +152,13 @@ FILE ( APPEND ${CMAKE_CURRENT_BINARY_DIR}/config/OpenEXRConfig.h " + IF (HAVE_GCC_INLINE_ASM_AVX) + FILE ( APPEND ${CMAKE_CURRENT_BINARY_DIR}/config/OpenEXRConfig.h "#define OPENEXR_IMF_HAVE_GCC_INLINE_ASM_AVX 1\n" ) + ENDIF() +- ++ + 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 22 + 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 +@@ -225,36 +199,3 @@ INSTALL ( FILES + ${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 b50a48ae8..2bc513755 100644 --- a/ports/openexr/CONTROL +++ b/ports/openexr/CONTROL @@ -1,4 +1,4 @@ Source: openexr -Version: 2.2.0-1 +Version: 2.2.0-4 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 diff --git a/ports/openexr/FindOpenEXR.cmake b/ports/openexr/FindOpenEXR.cmake new file mode 100644 index 000000000..cfff7824c --- /dev/null +++ b/ports/openexr/FindOpenEXR.cmake @@ -0,0 +1,13 @@ +include(FindPackageHandleStandardArgs) + +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) + +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_PATHS) diff --git a/ports/openexr/portfile.cmake b/ports/openexr/portfile.cmake index e95899bc7..b5b9c8d97 100644 --- a/ports/openexr/portfile.cmake +++ b/ports/openexr/portfile.cmake @@ -10,7 +10,10 @@ vcpkg_download_distfile(ARCHIVE vcpkg_extract_source_archive(${ARCHIVE}) vcpkg_apply_patches(SOURCE_PATH ${SOURCE_PATH} - PATCHES ${CMAKE_CURRENT_LIST_DIR}/add-missing-export.patch) + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/add-missing-export.patch" + "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.patch" +) # Ensure helper executables can run during build set(ENV{PATH} "$ENV{PATH};${CURRENT_INSTALLED_DIR}/bin") @@ -28,6 +31,9 @@ vcpkg_configure_cmake(SOURCE_PATH ${SOURCE_PATH} 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) @@ -52,3 +58,5 @@ 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 ${CMAKE_CURRENT_LIST_DIR}/FindOpenEXR.cmake DESTINATION ${CURRENT_PACKAGES_DIR}/share/openexr) |
