aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Schumacher <roschuma@microsoft.com>2018-02-21 16:40:27 -0800
committerRobert Schumacher <roschuma@microsoft.com>2018-02-23 17:06:37 -0800
commit832f908694423ccf4c32d8e0dc430cc9159e309b (patch)
tree873fb4d1e7b324f7315eb0dc19bb6b12f4fc25f9
parent175d25ae4704de187930010481ff2f9cdb5af1a4 (diff)
downloadvcpkg-832f908694423ccf4c32d8e0dc430cc9159e309b.tar.gz
vcpkg-832f908694423ccf4c32d8e0dc430cc9159e309b.zip
[openexr] Deploy FindOpenEXR.cmake and reduce components built
-rw-r--r--ports/openexr/CMakeLists.txt.patch92
-rw-r--r--ports/openexr/CONTROL2
-rw-r--r--ports/openexr/FindOpenEXR.cmake13
-rw-r--r--ports/openexr/portfile.cmake10
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)