vcpkg/ports/openimageio/portfile.cmake
Kai Pastor 40ec948687
[openimageio] Update to v2.3.17.0, revise dependencies and export (#23918)
* Fix exported Imath dependency

* Drop unused deps from patches and config

* Handle DLL import in installed header

* Fix non-required find_package(OpenColorIO)

* Omit unrelocatable script

* Installation cleanup

* Update to 2.1.2

* Fix exported pc file

* Update versions

* Silence warning

* Update versions

* OpenImageIO features CI test

* Consolidate patches

* Revise OpenJPEG patching

* Revise PNG patching

* Revise libheif patching

* Revise libsquish patching

* Revise ffmpeg patching

* Fix static ffmpeg linking

* Fix webp usage

* More dependency control

* Misc cleanup

* Update copyright, add usage

* Move config to share/openimageio

* Trim dependencies

* Revise opencv dependency

* Remove find modules which might clash with opencv

* Use opencolorio config and target

* Update openimageio to 2.3.17.0

* LINKSTATIC breaks CRT lib linkage

* Catch Imath version conflicts.

This is not a regression but the result of previous opencolorio changes.
It will eventually be resolved by upgrading openexr.

* Remove llvm from opencv CI test port [skip actions]

* [libheif] Fix symbol export

* [skip actions]

* Update versions

* Add baseline =pass entries.

Co-authored-by: Billy O'Neal <bion@microsoft.com>
2022-07-28 22:19:42 -07:00

95 lines
2.9 KiB
CMake

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO OpenImageIO/oiio
REF v2.3.17.0
SHA512 25cb1a671e7cd5154e363eef178ab091fd7d55868746a4394340567a794f6c6f0295e58721a5b4ee8bf66b4cc0e6a01c3e82f9cc9de9953ae349d45738a04700
HEAD_REF master
PATCHES
fix-dependencies.patch
fix-static-ffmpeg.patch
fix-openexr-dll.patch
imath-version-guard.patch
)
file(REMOVE_RECURSE "${SOURCE_PATH}/ext")
file(REMOVE
"${SOURCE_PATH}/src/cmake/modules/FindFFmpeg.cmake"
"${SOURCE_PATH}/src/cmake/modules/FindLibheif.cmake"
"${SOURCE_PATH}/src/cmake/modules/FindLibRaw.cmake"
"${SOURCE_PATH}/src/cmake/modules/FindLibsquish.cmake"
"${SOURCE_PATH}/src/cmake/modules/FindOpenCV.cmake"
"${SOURCE_PATH}/src/cmake/modules/FindOpenJPEG.cmake"
"${SOURCE_PATH}/src/cmake/modules/FindWebP.cmake"
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
libraw USE_LIBRAW
opencolorio USE_OPENCOLORIO
ffmpeg USE_FFMPEG
freetype USE_FREETYPE
gif USE_GIF
opencv USE_OPENCV
openjpeg USE_OPENJPEG
webp USE_WEBP
pybind11 USE_PYTHON
tools OIIO_BUILD_TOOLS
tools USE_OPENGL
tools USE_QT
tools USE_QT5
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
-DBUILD_TESTING=OFF
-DUSE_DCMTK=OFF
-DUSE_NUKE=OFF
-DUSE_QT=OFF
-DUSE_OpenVDB=OFF
-DUSE_PTEX=OFF
-DUSE_TBB=OFF
-DLINKSTATIC=OFF # LINKSTATIC breaks library lookup
-DBUILD_MISSING_FMT=OFF
-DBUILD_MISSING_ROBINMAP=OFF
-DBUILD_MISSING_DEPS=OFF
-DSTOP_ON_WARNING=OFF
-DVERBOSE=ON
-DBUILD_DOCS=OFF
-DINSTALL_DOCS=OFF
"-DREQUIRED_DEPS=fmt;JPEG;Libheif;Libsquish;PNG;Robinmap"
)
vcpkg_cmake_install()
vcpkg_copy_pdbs()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/OpenImageIO)
if("tools" IN_LIST FEATURES)
vcpkg_copy_tools(
TOOL_NAMES iconvert idiff igrep iinfo maketx oiiotool iv
AUTO_CLEAN
)
endif()
# Clean
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/debug/share")
vcpkg_fixup_pkgconfig()
file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
file(INSTALL "${SOURCE_PATH}/LICENSE.md" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
file(READ "${SOURCE_PATH}/THIRD-PARTY.md" third_party)
string(REGEX REPLACE
"^.*The remainder of this file"
"\n-------------------------------------------------------------------------\n\nThe remainder of this file"
third_party
"${third_party}"
)
file(APPEND "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" "${third_party}")