[openexr] Deploy FindOpenEXR.cmake and reduce components built

This commit is contained in:
Robert Schumacher 2018-02-21 16:40:27 -08:00
parent 175d25ae47
commit 832f908694
4 changed files with 115 additions and 2 deletions

View File

@ -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
- )

View File

@ -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

View File

@ -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)

View File

@ -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)