Skip to content

feat: SG-42131 - Migrate to OpenImageIO 3.x and build it with OpenColorIO#1087

Merged
cedrik-fuoco-adsk merged 2 commits intoAcademySoftwareFoundation:mainfrom
mcoliver:oiio3
Apr 7, 2026
Merged

feat: SG-42131 - Migrate to OpenImageIO 3.x and build it with OpenColorIO#1087
cedrik-fuoco-adsk merged 2 commits intoAcademySoftwareFoundation:mainfrom
mcoliver:oiio3

Conversation

@mcoliver
Copy link
Copy Markdown
Contributor

@mcoliver mcoliver commented Jan 27, 2026

OIIO development has moved to v3. Also adding ocio support with oiio.

Linked issues

fixes #893

Summarize your change.

Upgrade OIIO to v3 and build with OCIO

Describe the reason for the change.

OIIO v2 is considered obsolete: https://github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v2.5.19.1

Note that this is a patch release for the obsolete 2.5 branch that merely repairs its ability to build under new versions of some dependencies. You need not upgrade if you are not encountering build problems. Except for legacy constraints, everybody should currently be using OIIO 3.0 and testing the beta for 3.1 which will become the new supported branch very soon.

Describe what you have tested and on which operating system.

built locally and tested on macos for 2024 and 2025. Need the Academy's CICD to build for other configs

Add a list of changes, and note any that might need special attention during the review.

It appears OIIO implementation is pretty minimal so I think we should be good but testing on other distros to validate would be appreciated.

If possible, provide screenshots.

@mcoliver mcoliver marked this pull request as ready for review January 28, 2026 00:57
Comment thread cmake/dependencies/ocio.cmake
@cedrik-fuoco-adsk cedrik-fuoco-adsk added the do not merge Do not merge the PR label Jan 28, 2026
@cedrik-fuoco-adsk
Copy link
Copy Markdown
Contributor

cedrik-fuoco-adsk commented Jan 28, 2026

Thank you @mcoliver! I added the do not merge label because we won't merge this before mid-february at the very least. We don't want to change dependencies versions before the incoming release.

@cedrik-fuoco-adsk cedrik-fuoco-adsk removed the do not merge Do not merge the PR label Feb 12, 2026
@cedrik-fuoco-adsk
Copy link
Copy Markdown
Contributor

cedrik-fuoco-adsk commented Feb 12, 2026

Hi @mcoliver,

You will need to add the following to oiio.cmake to fix the issue with OpenJPEG:
LIST(APPEND _configure_options "-DOPENJPEG_VERSION=${RV_DEPS_OPENJPEG_VERSION}")

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the project’s OIIO integration to the v3 series and enables OpenColorIO support in the OIIO dependency build.

Changes:

  • Updated OIIO C++ integration for v3 namespace/API changes (notably read_image and error namespace).
  • Enabled OCIO support in the OIIO external dependency build and wired in the OCIO dependency target.
  • Bumped the pinned OIIO version and download hash in default dependency settings.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 3 comments.

File Description
src/lib/image/IOoiio/IOoiio.cpp Adjusts OIIO namespace usage and updates read_image call for OIIO v3 API.
cmake/dependencies/oiio.cmake Enables OCIO in OIIO build configuration and adds OCIO to dependency list.
cmake/dependencies/ocio.cmake Tweaks OCIO install behavior for external packages.
cmake/defaults/CYCOMMON.cmake Updates pinned OIIO version and associated download hash.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/lib/image/IOoiio/IOoiio.cpp
Comment thread cmake/dependencies/oiio.cmake
Comment thread cmake/dependencies/ocio.cmake
@cedrik-fuoco-adsk cedrik-fuoco-adsk added the community Contribution from the Open RV Community label Feb 17, 2026
@cedrik-fuoco-adsk
Copy link
Copy Markdown
Contributor

Hi @mcoliver,

You will need to add the following to oiio.cmake to fix the issue with OpenJPEG: LIST(APPEND _configure_options "-DOPENJPEG_VERSION=${RV_DEPS_OPENJPEG_VERSION}")

Hi @mcoliver, do you have time to fix the issues in the CI? Depending on the platforms, OIIO can not find OCIO or OPENJPEG_VERSION.

@cedrik-fuoco-adsk cedrik-fuoco-adsk changed the title Migrate to OIIO3 and build with OCIO feat: Migrate to OIIO3 and build with OCIO Feb 19, 2026
Comment thread cmake/dependencies/oiio.cmake
@cedrik-fuoco-adsk cedrik-fuoco-adsk changed the title feat: Migrate to OIIO3 and build with OCIO feat: Migrate to OpenImageIO 3.x and build it with OpenColorIO Feb 19, 2026
@cedrik-fuoco-adsk
Copy link
Copy Markdown
Contributor

Hi @mcoliver,

The download hash is wrong and You will probably need to add the following to oiio.cmake to fix the issue with OpenJPEG: LIST(APPEND _configure_options "-DOPENJPEG_VERSION=${RV_DEPS_OPENJPEG_VERSION}")

Bump OIIO from 2 to 3 as 2 is deprecated
Signed-off-by: Michael Oliver <mcoliver@gmail.com>
UTF8 is the modern standard and should be used for msvc builds
Signed-off-by: Michael Oliver <mcoliver@gmail.com>
@cedrik-fuoco-adsk cedrik-fuoco-adsk changed the title feat: Migrate to OpenImageIO 3.x and build it with OpenColorIO feat: SG-42131 - Migrate to OpenImageIO 3.x and build it with OpenColorIO Mar 20, 2026
@cedrik-fuoco-adsk cedrik-fuoco-adsk merged commit defa0a9 into AcademySoftwareFoundation:main Apr 7, 2026
18 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community Contribution from the Open RV Community tracked

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Update OIIO to version 3.x

4 participants