diff --git a/ports/openimageio/CONTROL b/ports/openimageio/CONTROL index 3612d396d1a61e..71390246f5a55a 100644 --- a/ports/openimageio/CONTROL +++ b/ports/openimageio/CONTROL @@ -1,6 +1,5 @@ Source: openimageio -Version: 2.1.16.0 -Port-Version: 3 +Version: 2.2.6.1 Homepage: https://github.com/OpenImageIO/oiio Description: A library for reading and writing images, and a bunch of related classes, utilities, and application Build-Depends: libjpeg-turbo, tiff, libpng, libheif, openexr, boost-thread, boost-smart-ptr, boost-foreach, boost-regex, boost-type-traits, boost-static-assert, boost-unordered, boost-config, boost-algorithm, boost-filesystem, boost-system, boost-thread, boost-asio, boost-random, robin-map, boost-stacktrace, fmt diff --git a/ports/openimageio/fix-config-cmake.patch b/ports/openimageio/fix-config-cmake.patch index e943d1c1eb19bb..866fe7a47ad65b 100644 --- a/ports/openimageio/fix-config-cmake.patch +++ b/ports/openimageio/fix-config-cmake.patch @@ -1,12 +1,12 @@ -diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in -index c578a1b..298362a 100644 ---- a/src/cmake/Config.cmake.in -+++ b/src/cmake/Config.cmake.in -@@ -14,6 +14,6 @@ set (@PROJECT_NAME@_PLUGIN_SEARCH_PATH "@PLUGIN_SEARCH_PATH_NATIVE@") - #...logic to determine installedPrefix from the own location... - #set (@PROJECT_NAME@_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@") - --include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") -+include("${CMAKE_CURRENT_LIST_DIR}/OpenImageIOTargets.cmake") - - check_required_components ("@PROJECT_NAME@") +diff --git a/src/cmake/Config.cmake.in b/src/cmake/Config.cmake.in +index c578a1b..298362a 100644 +--- a/src/cmake/Config.cmake.in ++++ b/src/cmake/Config.cmake.in +@@ -14,6 +14,6 @@ set (@PROJECT_NAME@_PLUGIN_SEARCH_PATH "@PLUGIN_SEARCH_PATH_NATIVE@") + #...logic to determine installedPrefix from the own location... + #set (@PROJECT_NAME@_CONFIG_DIR "${installedPrefix}/@CONFIG_INSTALL_DIR@") + +-include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake") ++include("${CMAKE_CURRENT_LIST_DIR}/OpenImageIOTargets.cmake") + + check_required_components ("@PROJECT_NAME@") diff --git a/ports/openimageio/fix-dependency.patch b/ports/openimageio/fix-dependency.patch index 3dc3a16d01d625..6744e6b3022fab 100644 --- a/ports/openimageio/fix-dependency.patch +++ b/ports/openimageio/fix-dependency.patch @@ -1,97 +1,85 @@ -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 2f4f7ce..16035df 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -169,10 +169,17 @@ checked_find_package (PNG REQUIRED) - checked_find_package (TIFF 3.0 REQUIRED) - - # IlmBase & OpenEXR -+find_package (Threads) -+if (CMAKE_USE_PTHREADS_INIT) -+ set (ILMBASE_PTHREADS ${CMAKE_THREAD_LIBS_INIT}) -+endif () - checked_find_package (OpenEXR 2.0 REQUIRED) - # We use Imath so commonly, may as well include it everywhere. --include_directories ("${OPENEXR_INCLUDES}" "${ILMBASE_INCLUDES}" -- "${ILMBASE_INCLUDES}/OpenEXR") -+set(ILMBASE_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ILMBASE_PTHREADS} CACHE STRING "The libraries needed to use IlmBase") -+set(OPENEXR_LIBRARIES ${OPENEXR_ILMIMF_LIBRARY} ${ILMBASE_LIBRARIES} CACHE STRING "The libraries needed to use OpenEXR") -+set(ILMBASE_INCLUDE_DIR ${OPENEXR_INCLUDE_DIR}) -+set(ILMBASE_FOUND TRUE) -+include_directories ("${OPENEXR_INCLUDE_DIR}") - if (CMAKE_COMPILER_IS_CLANG AND OPENEXR_VERSION VERSION_LESS 2.3) - # clang C++ >= 11 doesn't like 'register' keyword in old exr headers - add_compile_options (-Wno-deprecated-register) -@@ -217,7 +224,7 @@ checked_find_package (HDF5 - ISDEPOF Field3D) - checked_find_package (OpenColorIO - DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1) --checked_find_package (OpenCV -+checked_find_package (OpenCV CONFIG - DEFINITIONS -DUSE_OPENCV=1) - - # Intel TBB -@@ -226,19 +233,23 @@ checked_find_package (TBB 2017 - ISDEPOF OpenVDB) - - checked_find_package (DCMTK 3.6.1) # For DICOM images --checked_find_package (FFmpeg 2.6) -+checked_find_package (FFMPEG) - checked_find_package (Field3D - DEPS HDF5 - DEFINITIONS -DUSE_FIELD3D=1) - checked_find_package (GIF 4) - checked_find_package (Libheif 1.3) # For HEIF/HEIC format - checked_find_package (LibRaw) --checked_find_package (OpenJpeg) -+checked_find_package (OpenJPEG CONFIG) - checked_find_package (OpenVDB 5.0 - DEPS TBB - DEFINITIONS -DUSE_OPENVDB=1) --checked_find_package (PTex) --checked_find_package (Webp) -+checked_find_package (ptex CONFIG) -+set(PTEX_FOUND ${ptex_FOUND}) -+set(PTEX_LIBRARIES Ptex::Ptex) -+checked_find_package (Webp CONFIG) -+set(WEBP_FOUND ${Webp_FOUND}) -+set(WEBP_LIBRARY WebP::webp WebP::webpdemux WebP::webpdecoder) - - option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) - checked_find_package (R3DSDK) # RED camera -@@ -254,7 +265,9 @@ if (OPENGL_FOUND) - list (APPEND qt5_modules OpenGL) - endif () - option (USE_QT "Use Qt if found" ON) -+if (USE_QT) - checked_find_package (Qt5 COMPONENTS ${qt5_modules}) -+endif() - if (USE_QT AND NOT Qt5_FOUND AND APPLE) - message (STATUS " If you think you installed qt5 with Homebrew and it still doesn't work,") - message (STATUS " try: export PATH=/usr/local/opt/qt5/bin:$PATH") -diff --git a/src/jpeg2000.imageio/CMakeLists.txt b/src/jpeg2000.imageio/CMakeLists.txt -index 7bc6adb..0ac8937 100644 ---- a/src/jpeg2000.imageio/CMakeLists.txt -+++ b/src/jpeg2000.imageio/CMakeLists.txt -@@ -3,7 +3,7 @@ - # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md - - if (OPENJPEG_FOUND) -- if (${OPENJPEG_VERSION} VERSION_LESS 2.0) -+ if (0) - # Old OpenJpeg 1.5. Remove this eventually. - # - # For reasons I don't understand, OpenJPEG 1.5 fails imageinout_test -diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt -index 81a0ff5..23326a0 100644 ---- a/src/raw.imageio/CMakeLists.txt -+++ b/src/raw.imageio/CMakeLists.txt -@@ -5,7 +5,7 @@ - if (LIBRAW_FOUND) - add_oiio_plugin (rawinput.cpp - INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} -- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} -+ LINK_LIBRARIES ${LibRaw_LIBRARIES} - DEFINITIONS "-DUSE_LIBRAW=1") - else () - message (WARNING "Raw plugin will not be built") +diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake +index 1240f22..ef06455 100644 +--- a/src/cmake/externalpackages.cmake ++++ b/src/cmake/externalpackages.cmake +@@ -201,10 +201,17 @@ checked_find_package (ZLIB REQUIRED) # Needed by several packages + checked_find_package (TIFF 3.0 REQUIRED) + + # IlmBase & OpenEXR ++find_package (Threads) ++if (CMAKE_USE_PTHREADS_INIT) ++ set (ILMBASE_PTHREADS ${CMAKE_THREAD_LIBS_INIT}) ++endif () + checked_find_package (OpenEXR 2.0 REQUIRED) + # We use Imath so commonly, may as well include it everywhere. +-include_directories ("${OPENEXR_INCLUDES}" "${ILMBASE_INCLUDES}" +- "${ILMBASE_INCLUDES}/OpenEXR") ++set(ILMBASE_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} ${ILMBASE_PTHREADS} CACHE STRING "The libraries needed to use IlmBase") ++set(OPENEXR_LIBRARIES ${OPENEXR_ILMIMF_LIBRARY} ${ILMBASE_LIBRARIES} CACHE STRING "The libraries needed to use OpenEXR") ++set(ILMBASE_INCLUDE_DIR ${OPENEXR_INCLUDE_DIR}) ++set(ILMBASE_FOUND TRUE) ++include_directories ("${OPENEXR_INCLUDE_DIR}") + if (CMAKE_COMPILER_IS_CLANG AND OPENEXR_VERSION VERSION_LESS 2.3) + # clang C++ >= 11 doesn't like 'register' keyword in old exr headers + add_compile_options (-Wno-deprecated-register) +@@ -251,7 +258,7 @@ checked_find_package (HDF5 + ISDEPOF Field3D) + checked_find_package (OpenColorIO + DEFINITIONS -DUSE_OCIO=1 -DUSE_OPENCOLORIO=1) +-checked_find_package (OpenCV ++checked_find_package (OpenCV CONFIG + DEFINITIONS -DUSE_OPENCV=1) + + # Intel TBB +@@ -261,7 +268,7 @@ checked_find_package (TBB 2017 + ISDEPOF OpenVDB) + + checked_find_package (DCMTK 3.6.1) # For DICOM images +-checked_find_package (FFmpeg 2.6) ++checked_find_package (FFmpeg) + checked_find_package (Field3D + DEPS HDF5 + DEFINITIONS -DUSE_FIELD3D=1) +@@ -269,12 +276,16 @@ checked_find_package (GIF 4) + checked_find_package (Libheif 1.3) # For HEIF/HEIC format + checked_find_package (LibRaw + PRINT LibRaw_r_LIBRARIES) +-checked_find_package (OpenJpeg 2.0) ++checked_find_package (OpenJpeg CONFIG) + checked_find_package (OpenVDB 5.0 + DEPS TBB + DEFINITIONS -DUSE_OPENVDB=1) +-checked_find_package (PTex) +-checked_find_package (Webp) ++checked_find_package (ptex CONFIG) ++set(PTEX_FOUND ${ptex_FOUND}) ++set(PTEX_LIBRARIES Ptex::Ptex) ++checked_find_package (Webp CONFIG) ++set(WEBP_FOUND ${Webp_FOUND}) ++set(WEBP_LIBRARY WebP::webp WebP::webpdemux WebP::webpdecoder) + + option (USE_R3DSDK "Enable R3DSDK (RED camera) support" OFF) + checked_find_package (R3DSDK) # RED camera +@@ -290,7 +301,9 @@ if (OPENGL_FOUND) + list (APPEND qt5_modules OpenGL) + endif () + option (USE_QT "Use Qt if found" ON) ++if (USE_QT) + checked_find_package (Qt5 COMPONENTS ${qt5_modules}) ++endif() + if (USE_QT AND NOT Qt5_FOUND AND APPLE) + message (STATUS " If you think you installed qt5 with Homebrew and it still doesn't work,") + message (STATUS " try: export PATH=/usr/local/opt/qt5/bin:$PATH") +diff --git a/src/raw.imageio/CMakeLists.txt b/src/raw.imageio/CMakeLists.txt +index 81a0ff5..23326a0 100644 +--- a/src/raw.imageio/CMakeLists.txt ++++ b/src/raw.imageio/CMakeLists.txt +@@ -5,7 +5,7 @@ + if (LIBRAW_FOUND) + add_oiio_plugin (rawinput.cpp + INCLUDE_DIRS ${LibRaw_INCLUDE_DIR} +- LINK_LIBRARIES ${LibRaw_r_LIBRARIES} ++ LINK_LIBRARIES ${LibRaw_LIBRARIES} + DEFINITIONS "-DUSE_LIBRAW=1") + else () + message (WARNING "Raw plugin will not be built") diff --git a/ports/openimageio/fix-dependfmt.patch b/ports/openimageio/fix-dependfmt.patch index f0791f85ed1751..08a8b4a2f1e80a 100644 --- a/ports/openimageio/fix-dependfmt.patch +++ b/ports/openimageio/fix-dependfmt.patch @@ -1,13 +1,13 @@ -diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake -index 4f1dfaf..1a17d1e 100644 ---- a/src/cmake/externalpackages.cmake -+++ b/src/cmake/externalpackages.cmake -@@ -385,5 +385,7 @@ macro (find_or_download_fmt) - checked_find_package (fmt REQUIRED) - endmacro() - --find_or_download_fmt() -+find_package(fmt CONFIG REQUIRED) -+get_property(FMT_INCLUDES TARGET fmt::fmt PROPERTY INTERFACE_INCLUDE_DIRECTORIES) -+checked_find_package (fmt CONFIG REQUIRED) - include_directories (${FMT_INCLUDES}) +diff --git a/src/cmake/externalpackages.cmake b/src/cmake/externalpackages.cmake +index 1240f22..b7772e1 100644 +--- a/src/cmake/externalpackages.cmake ++++ b/src/cmake/externalpackages.cmake +@@ -387,5 +387,7 @@ macro (find_or_download_fmt) + checked_find_package (fmt REQUIRED) + endmacro() + +-find_or_download_fmt() ++find_package(fmt CONFIG REQUIRED) ++get_property(FMT_INCLUDES TARGET fmt::fmt PROPERTY INTERFACE_INCLUDE_DIRECTORIES) ++checked_find_package (fmt CONFIG REQUIRED) + include_directories (${FMT_INCLUDES}) diff --git a/ports/openimageio/fix-tools-path.patch b/ports/openimageio/fix-tools-path.patch index b7bf3753bd10f7..7aa0dfdffd4a92 100644 --- a/ports/openimageio/fix-tools-path.patch +++ b/ports/openimageio/fix-tools-path.patch @@ -1,13 +1,13 @@ -diff --git a/src/cmake/oiio_macros.cmake b/src/cmake/oiio_macros.cmake -index 9e54f67..d9c9437 100644 ---- a/src/cmake/oiio_macros.cmake -+++ b/src/cmake/oiio_macros.cmake -@@ -142,7 +142,7 @@ macro (fancy_add_executable) - target_link_libraries (${_target_NAME} PRIVATE ${_target_LINK_LIBRARIES}) - endif () - set_target_properties (${_target_NAME} PROPERTIES FOLDER "Tools") -- install_targets (${_target_NAME}) -+ install(TARGETS ${_target_NAME} RUNTIME DESTINATION tools/openimageio) - else () - message (STATUS "${ColorRed}Disabling ${_target_NAME} ${ColorReset}") - endif () +diff --git a/src/cmake/oiio_macros.cmake b/src/cmake/oiio_macros.cmake +index 623eefa..8705e96 100644 +--- a/src/cmake/oiio_macros.cmake ++++ b/src/cmake/oiio_macros.cmake +@@ -127,7 +127,7 @@ macro (fancy_add_executable) + target_link_libraries (${_target_NAME} PRIVATE ${_target_LINK_LIBRARIES}) + endif () + set_target_properties (${_target_NAME} PROPERTIES FOLDER "Tools") +- install_targets (${_target_NAME}) ++ install(TARGETS ${_target_NAME} RUNTIME DESTINATION tools/openimageio) + else () + message (STATUS "${ColorRed}Disabling ${_target_NAME} ${ColorReset}") + endif () diff --git a/ports/openimageio/fix-webp-cmake.patch b/ports/openimageio/fix-webp-cmake.patch new file mode 100644 index 00000000000000..3d30abfd9b7273 --- /dev/null +++ b/ports/openimageio/fix-webp-cmake.patch @@ -0,0 +1,17 @@ +diff --git a/src/webp.imageio/CMakeLists.txt b/src/webp.imageio/CMakeLists.txt +index 9e01bd7..f9bce69 100644 +--- a/src/webp.imageio/CMakeLists.txt ++++ b/src/webp.imageio/CMakeLists.txt +@@ -2,9 +2,10 @@ + # SPDX-License-Identifier: BSD-3-Clause + # https://github.com/OpenImageIO/oiio/blob/master/LICENSE.md + +-if (Webp_FOUND) ++if (WEBP_FOUND) + add_oiio_plugin (webpinput.cpp webpoutput.cpp +- LINK_LIBRARIES Webp::Webp ++ INCLUDE_DIRS ${WEBP_INCLUDE_DIR} ++ LINK_LIBRARIES ${WEBP_LIBRARY} + DEFINITIONS "-DUSE_WEBP=1") + else () + message (STATUS "WebP plugin will not be built") diff --git a/ports/openimageio/fix_static_build.patch b/ports/openimageio/fix_static_build.patch index a5ebb467a5d521..c4eb09e1f920eb 100644 --- a/ports/openimageio/fix_static_build.patch +++ b/ports/openimageio/fix_static_build.patch @@ -1,13 +1,13 @@ -diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake -index 1468be3..ed4167a 100644 ---- a/src/cmake/compiler.cmake -+++ b/src/cmake/compiler.cmake -@@ -482,7 +482,7 @@ set (EXTRA_DSO_LINK_ARGS "" CACHE STRING "Extra command line definitions when bu - # - option (BUILD_SHARED_LIBS "Build shared libraries (set to OFF to build static libs)" ON) - if (NOT BUILD_SHARED_LIBS) -- add_definitions (-D${PROJ_NAME}_STATIC_DEFINE=1) -+ add_definitions (-DOIIO_STATIC_DEFINE=1) - endif () - - +diff --git a/src/cmake/compiler.cmake b/src/cmake/compiler.cmake +index 12a8e81..15fe688 100644 +--- a/src/cmake/compiler.cmake ++++ b/src/cmake/compiler.cmake +@@ -505,7 +505,7 @@ endif () + # + option (BUILD_SHARED_LIBS "Build shared libraries (set to OFF to build static libs)" ON) + if (NOT BUILD_SHARED_LIBS) +- add_definitions (-D${PROJ_NAME}_STATIC_DEFINE=1) ++ add_definitions (-DOIIO_STATIC_DEFINE=1) + endif () + + diff --git a/ports/openimageio/portfile.cmake b/ports/openimageio/portfile.cmake index f549457afbb5c6..215b82289db85a 100644 --- a/ports/openimageio/portfile.cmake +++ b/ports/openimageio/portfile.cmake @@ -1,8 +1,8 @@ vcpkg_from_github( OUT_SOURCE_PATH SOURCE_PATH REPO OpenImageIO/oiio - REF e028a5264bd229e128b37a4362f7eb9c73ea82cc #2.1.16.0 - SHA512 be5741e139c3c1d2fe62d6706833e9b158b6b00e1a57d141626f28cd3653f63e587b76de676b6b45d1a2330a0e71ebb2f1d00c108b68509cc418b6026424cfda + REF 740dc45c00e363a5bb4f62238bd14b539370100f #2.2.6.1 + SHA512 7f10689b7dd77eb9da9a6704766e9f98048d17bd5ca8ab59d71b61cf029d798063be606e06c7af12e9b130eebdb34bf21ee4a86c8dbfa61c0a349685ac244323 HEAD_REF master PATCHES fix-dependency.patch @@ -10,6 +10,7 @@ vcpkg_from_github( fix-tools-path.patch fix-config-cmake.patch fix-dependfmt.patch + fix-webp-cmake.patch ) file(REMOVE_RECURSE "${SOURCE_PATH}/ext")