1174 lines
41 KiB
Diff
1174 lines
41 KiB
Diff
From 3607e8ca611e1c795faf810e2abd7c0cb276e4af Mon Sep 17 00:00:00 2001
|
|
From: Michael Dolan <michdolan@gmail.com>
|
|
Date: Thu, 8 Jul 2021 13:52:32 -0400
|
|
Subject: [PATCH 01/11] Add Imath 3 Half support
|
|
|
|
Signed-off-by: Michael Dolan <michdolan@gmail.com>
|
|
---
|
|
.github/workflows/analysis_workflow.yml | 1 +
|
|
CMakeLists.txt | 1 +
|
|
share/ci/scripts/linux/install_imath.sh | 30 +++
|
|
share/ci/scripts/linux/install_openexr.sh | 2 +-
|
|
share/cmake/modules/FindExtPackages.cmake | 21 +-
|
|
share/cmake/modules/FindHalf.cmake | 15 +-
|
|
share/cmake/modules/FindImath.cmake | 221 ++++++++++++++++++
|
|
src/OpenColorIO/BitDepthUtils.h | 2 +-
|
|
src/OpenColorIO/CMakeLists.txt | 2 +-
|
|
src/OpenColorIO/MathUtils.h | 2 +-
|
|
src/OpenColorIO/ops/range/RangeOp.cpp | 2 +-
|
|
src/OpenColorIO/transforms/builtins/ACES.cpp | 2 +-
|
|
.../transforms/builtins/OpHelpers.cpp | 2 +-
|
|
src/apps/ocioconvert/CMakeLists.txt | 2 +-
|
|
src/apps/ocioconvert/main.cpp | 2 +-
|
|
src/apps/ocioperf/CMakeLists.txt | 2 +-
|
|
src/apps/ocioperf/main.cpp | 2 +-
|
|
src/libutils/oiiohelpers/CMakeLists.txt | 2 +-
|
|
src/libutils/oiiohelpers/oiiohelpers.cpp | 2 +-
|
|
tests/cpu/CMakeLists.txt | 2 +-
|
|
20 files changed, 292 insertions(+), 25 deletions(-)
|
|
create mode 100644 share/ci/scripts/linux/install_imath.sh
|
|
create mode 100644 share/cmake/modules/FindImath.cmake
|
|
|
|
Index: OpenColorIO-2.0.1/.github/workflows/analysis_workflow.yml
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/.github/workflows/analysis_workflow.yml
|
|
+++ OpenColorIO-2.0.1/.github/workflows/analysis_workflow.yml
|
|
@@ -31,70 +31,46 @@ jobs:
|
|
image: aswf/ci-base:${{ matrix.vfx-cy }}
|
|
strategy:
|
|
matrix:
|
|
- build: [1, 2, 3, 4, 5, 6]
|
|
+ build: [1, 2, 3, 4]
|
|
include:
|
|
# -------------------------------------------------------------------
|
|
- # GCC, VFX CY2020
|
|
+ # GCC
|
|
# -------------------------------------------------------------------
|
|
- # C++11, Python 3.7
|
|
+ # VFX CY2022, C++17, docs
|
|
- build: 1
|
|
build-docs: 'ON'
|
|
- cxx-standard: 11
|
|
+ cxx-standard: 17
|
|
cxx-compiler: g++
|
|
cc-compiler: gcc
|
|
- compiler-desc: GCC 6.3.1
|
|
- vfx-cy: 2020
|
|
- # C++14
|
|
+ compiler-desc: GCC 9.3.1
|
|
+ vfx-cy: 2022
|
|
+ # VFX CY2021, C++14
|
|
- build: 2
|
|
build-docs: 'OFF'
|
|
cxx-standard: 14
|
|
cxx-compiler: g++
|
|
cc-compiler: gcc
|
|
- compiler-desc: GCC 6.3.1
|
|
- vfx-cy: 2020
|
|
+ compiler-desc: GCC 9.3.1
|
|
+ vfx-cy: 2021
|
|
# -------------------------------------------------------------------
|
|
- # GCC, VFX CY2019
|
|
+ # Clang
|
|
# -------------------------------------------------------------------
|
|
- # Python 2.7
|
|
+ # VFX CY2022, C++17
|
|
- build: 3
|
|
- # Doc build requires Python 3
|
|
build-docs: 'OFF'
|
|
- cxx-standard: 11
|
|
- cxx-compiler: g++
|
|
- cc-compiler: gcc
|
|
- compiler-desc: GCC 6.3.1
|
|
- vfx-cy: 2019
|
|
- # -------------------------------------------------------------------
|
|
- # Clang, VFX CY2020
|
|
- # -------------------------------------------------------------------
|
|
- # C++11, Python 3.7
|
|
- - build: 4
|
|
- build-docs: 'OFF'
|
|
- cxx-standard: 11
|
|
+ cxx-standard: 17
|
|
cxx-compiler: clang++
|
|
cc-compiler: clang
|
|
- compiler-desc: Clang 7
|
|
- vfx-cy: 2020
|
|
- # C++14
|
|
- - build: 5
|
|
- build-docs: 'OFF'
|
|
+ compiler-desc: Clang 9
|
|
+ vfx-cy: 2022
|
|
+ # VFX CY2021, C++14, docs
|
|
+ - build: 4
|
|
+ build-docs: 'ON'
|
|
cxx-standard: 14
|
|
cxx-compiler: clang++
|
|
cc-compiler: clang
|
|
- compiler-desc: Clang 7
|
|
- vfx-cy: 2020
|
|
- # -------------------------------------------------------------------
|
|
- # Clang, VFX CY2019
|
|
- # -------------------------------------------------------------------
|
|
- # Python 2.7
|
|
- - build: 6
|
|
- # Doc build requires Python 3
|
|
- build-docs: 'OFF'
|
|
- cxx-standard: 11
|
|
- cxx-compiler: clang++
|
|
- cc-compiler: clang
|
|
- compiler-desc: Clang 7
|
|
- vfx-cy: 2019
|
|
+ compiler-desc: Clang 9
|
|
+ vfx-cy: 2021
|
|
env:
|
|
CXX: ${{ matrix.cxx-compiler }}
|
|
CC: ${{ matrix.cc-compiler }}
|
|
@@ -114,6 +90,7 @@ jobs:
|
|
share/ci/scripts/linux/install_pystring.sh latest
|
|
share/ci/scripts/linux/install_pybind11.sh latest
|
|
share/ci/scripts/linux/install_openexr.sh latest
|
|
+ share/ci/scripts/linux/install_imath.sh latest
|
|
share/ci/scripts/linux/install_oiio.sh latest
|
|
- name: Create build directories
|
|
run: |
|
|
@@ -155,7 +132,7 @@ jobs:
|
|
container:
|
|
# DockerHub: https://hub.docker.com/u/aswf
|
|
# Source: https://github.com/AcademySoftwareFoundation/aswf-docker
|
|
- image: aswf/ci-ocio:2020
|
|
+ image: aswf/ci-ocio:2022
|
|
env:
|
|
CXX: g++
|
|
CC: gcc
|
|
Index: OpenColorIO-2.0.1/CMakeLists.txt
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/CMakeLists.txt
|
|
+++ OpenColorIO-2.0.1/CMakeLists.txt
|
|
@@ -127,6 +127,7 @@ option(OCIO_WARNING_AS_ERROR "Set build
|
|
# Optimization / internal linking preferences
|
|
|
|
option(OCIO_USE_SSE "Specify whether to enable SSE CPU performance optimizations" ON)
|
|
+option(OCIO_USE_ILMBASE "Specify whether to use an OpenEXR/IlmBase install of the Half library (<=v2.5) instead of the newer Imath library (>=v3.0)" OFF)
|
|
option(OCIO_INLINES_HIDDEN "Specify whether to build with -fvisibility-inlines-hidden" ${UNIX})
|
|
|
|
|
|
Index: OpenColorIO-2.0.1/share/ci/scripts/linux/install_imath.sh
|
|
===================================================================
|
|
--- /dev/null
|
|
+++ OpenColorIO-2.0.1/share/ci/scripts/linux/install_imath.sh
|
|
@@ -0,0 +1,31 @@
|
|
+#!/usr/bin/env bash
|
|
+# SPDX-License-Identifier: BSD-3-Clause
|
|
+# Copyright Contributors to the OpenColorIO Project.
|
|
+
|
|
+set -ex
|
|
+
|
|
+IMATH_VERSION="$1"
|
|
+
|
|
+git clone https://github.com/AcademySoftwareFoundation/Imath.git
|
|
+cd Imath
|
|
+
|
|
+if [ "$IMATH_VERSION" == "latest" ]; then
|
|
+ git checkout release
|
|
+ LATEST_TAG=$(git describe --abbrev=0 --tags)
|
|
+ git checkout tags/${LATEST_TAG} -b ${LATEST_TAG}
|
|
+else
|
|
+ git checkout tags/v${IMATH_VERSION} -b v${IMATH_VERSION}
|
|
+fi
|
|
+
|
|
+mkdir build
|
|
+cd build
|
|
+cmake -DBUILD_TESTING=OFF \
|
|
+ -DPYTHON=OFF \
|
|
+ -DCMAKE_C_FLAGS="-fPIC" \
|
|
+ -DCMAKE_CXX_FLAGS="-fPIC" \
|
|
+ ../.
|
|
+make -j4
|
|
+sudo make install
|
|
+
|
|
+cd ../..
|
|
+rm -rf Imath
|
|
Index: OpenColorIO-2.0.1/share/ci/scripts/linux/install_openexr.sh
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/share/ci/scripts/linux/install_openexr.sh
|
|
+++ OpenColorIO-2.0.1/share/ci/scripts/linux/install_openexr.sh
|
|
@@ -6,10 +6,11 @@ set -ex
|
|
|
|
OPENEXR_VERSION="$1"
|
|
|
|
-git clone https://github.com/openexr/openexr.git
|
|
+git clone https://github.com/AcademySoftwareFoundation/openexr.git
|
|
cd openexr
|
|
|
|
if [ "$OPENEXR_VERSION" == "latest" ]; then
|
|
+ git checkout release
|
|
LATEST_TAG=$(git describe --abbrev=0 --tags)
|
|
git checkout tags/${LATEST_TAG} -b ${LATEST_TAG}
|
|
else
|
|
Index: OpenColorIO-2.0.1/share/cmake/modules/FindExtPackages.cmake
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/share/cmake/modules/FindExtPackages.cmake
|
|
+++ OpenColorIO-2.0.1/share/cmake/modules/FindExtPackages.cmake
|
|
@@ -32,14 +32,27 @@ find_package(expat 2.2.8 REQUIRED)
|
|
# https://github.com/jbeder/yaml-cpp
|
|
find_package(yaml-cpp 0.6.3 REQUIRED)
|
|
|
|
-# Half (OpenEXR/IlmBase)
|
|
-# https://github.com/openexr/openexr
|
|
-find_package(Half 2.4.0 REQUIRED)
|
|
-
|
|
# pystring
|
|
# https://github.com/imageworks/pystring
|
|
find_package(pystring 1.1.3 REQUIRED)
|
|
|
|
+# Half
|
|
+if(NOT OCIO_USE_ILMBASE)
|
|
+
|
|
+ # Imath (>=3.0)
|
|
+ # https://github.com/AcademySoftwareFoundation/Imath
|
|
+ find_package(Imath 3.0.2 REQUIRED)
|
|
+
|
|
+ set(OCIO_HALF_LIB Imath::Imath CACHE STRING "Half library target" FORCE)
|
|
+else()
|
|
+
|
|
+ # OpenEXR/IlmBase (<=2.5)
|
|
+ # https://github.com/AcademySoftwareFoundation/openexr
|
|
+ find_package(Half 2.4.0 REQUIRED)
|
|
+
|
|
+ set(OCIO_HALF_LIB IlmBase::Half CACHE STRING "Half library target" FORCE)
|
|
+endif()
|
|
+
|
|
if(OCIO_BUILD_APPS)
|
|
|
|
# NOTE: Depending of the compiler version lcms2 2.2 does not compile with
|
|
Index: OpenColorIO-2.0.1/share/cmake/modules/FindHalf.cmake
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/share/cmake/modules/FindHalf.cmake
|
|
+++ OpenColorIO-2.0.1/share/cmake/modules/FindHalf.cmake
|
|
@@ -48,12 +48,13 @@ if(NOT OCIO_INSTALL_EXT_PACKAGES STREQUA
|
|
# Find include directory
|
|
find_path(Half_INCLUDE_DIR
|
|
NAMES
|
|
- OpenEXR/half.h
|
|
+ half.h
|
|
HINTS
|
|
${Half_ROOT}
|
|
${PC_Half_INCLUDE_DIRS}
|
|
PATH_SUFFIXES
|
|
include
|
|
+ include/OpenEXR
|
|
OpenEXR/include
|
|
)
|
|
|
|
@@ -91,10 +92,10 @@ if(NOT OCIO_INSTALL_EXT_PACKAGES STREQUA
|
|
|
|
# Get version from config header file
|
|
if(Half_INCLUDE_DIR)
|
|
- if(EXISTS "${Half_INCLUDE_DIR}/OpenEXR/IlmBaseConfig.h")
|
|
- set(_Half_CONFIG "${Half_INCLUDE_DIR}/OpenEXR/IlmBaseConfig.h")
|
|
- elseif(EXISTS "${Half_INCLUDE_DIR}/OpenEXR/OpenEXRConfig.h")
|
|
- set(_Half_CONFIG "${Half_INCLUDE_DIR}/OpenEXR/OpenEXRConfig.h")
|
|
+ if(EXISTS "${Half_INCLUDE_DIR}/IlmBaseConfig.h")
|
|
+ set(_Half_CONFIG "${Half_INCLUDE_DIR}/IlmBaseConfig.h")
|
|
+ elseif(EXISTS "${Half_INCLUDE_DIR}/OpenEXRConfig.h")
|
|
+ set(_Half_CONFIG "${Half_INCLUDE_DIR}/OpenEXRConfig.h")
|
|
endif()
|
|
endif()
|
|
|
|
@@ -149,7 +150,7 @@ if(NOT Half_FOUND)
|
|
# Set find_package standard args
|
|
set(Half_FOUND TRUE)
|
|
set(Half_VERSION ${Half_FIND_VERSION})
|
|
- set(Half_INCLUDE_DIR "${_EXT_DIST_ROOT}/${CMAKE_INSTALL_INCLUDEDIR}")
|
|
+ set(Half_INCLUDE_DIR "${_EXT_DIST_ROOT}/${CMAKE_INSTALL_INCLUDEDIR}/OpenEXR")
|
|
|
|
# Set the expected library name. "_d" is appended to Debug Windows builds
|
|
# <= OpenEXR 2.3.0. In newer versions, it is appended to Debug libs on
|
|
@@ -195,7 +196,7 @@ if(NOT Half_FOUND)
|
|
file(MAKE_DIRECTORY ${Half_INCLUDE_DIR})
|
|
|
|
ExternalProject_Add(ilmbase_install
|
|
- GIT_REPOSITORY "https://github.com/openexr/openexr.git"
|
|
+ GIT_REPOSITORY "https://github.com/AcademySoftwareFoundation/openexr.git"
|
|
GIT_TAG "v${Half_VERSION}"
|
|
GIT_CONFIG advice.detachedHead=false
|
|
GIT_SHALLOW TRUE
|
|
Index: OpenColorIO-2.0.1/share/cmake/modules/FindImath.cmake
|
|
===================================================================
|
|
--- /dev/null
|
|
+++ OpenColorIO-2.0.1/share/cmake/modules/FindImath.cmake
|
|
@@ -0,0 +1,222 @@
|
|
+# SPDX-License-Identifier: BSD-3-Clause
|
|
+# Copyright Contributors to the OpenColorIO Project.
|
|
+#
|
|
+# Locate or install Imath
|
|
+#
|
|
+# Variables defined by this module:
|
|
+# Imath_FOUND - If FALSE, do not try to link to ilmbase
|
|
+# Imath_LIBRARY - Imath library to link to
|
|
+# Imath_INCLUDE_DIR - Where to find ImathConfig.h
|
|
+# Imath_VERSION - The version of the library
|
|
+#
|
|
+# Targets defined by this module:
|
|
+# Imath::Imath - IMPORTED target, if found
|
|
+#
|
|
+# By default, the dynamic libraries of Imath will be found. To find the
|
|
+# static ones instead, you must set the Imath_STATIC_LIBRARY variable to
|
|
+# TRUE before calling find_package(Imath ...).
|
|
+#
|
|
+# If Imath is not installed in a standard path, you can use the
|
|
+# Imath_ROOT variable to tell CMake where to find it. If it is not found
|
|
+# and OCIO_INSTALL_EXT_PACKAGES is set to MISSING or ALL, Imath will be
|
|
+# downloaded, built, and statically-linked into libOpenColorIO at build time.
|
|
+#
|
|
+
|
|
+# Imath components may have the version in their name
|
|
+set(_Imath_LIB_VER "${Imath_FIND_VERSION_MAJOR}_${Imath_FIND_VERSION_MINOR}")
|
|
+
|
|
+###############################################################################
|
|
+### Try to find package ###
|
|
+
|
|
+if(NOT OCIO_INSTALL_EXT_PACKAGES STREQUAL ALL)
|
|
+ set(_Imath_REQUIRED_VARS Imath_LIBRARY)
|
|
+
|
|
+ if(NOT DEFINED Imath_ROOT)
|
|
+ # Search for ImathConfig.cmake
|
|
+ find_package(Imath ${Imath_FIND_VERSION} CONFIG QUIET)
|
|
+ endif()
|
|
+
|
|
+ if(Imath_FOUND)
|
|
+ get_target_property(Imath_LIBRARY Imath::Imath LOCATION)
|
|
+ else()
|
|
+ list(APPEND _Imath_REQUIRED_VARS Imath_INCLUDE_DIR)
|
|
+
|
|
+ # Search for Imath.pc
|
|
+ find_package(PkgConfig QUIET)
|
|
+ pkg_check_modules(PC_Imath QUIET "Imath>=${Imath_FIND_VERSION}")
|
|
+
|
|
+ # Find include directory
|
|
+ find_path(Imath_INCLUDE_DIR
|
|
+ NAMES
|
|
+ ImathConfig.h
|
|
+ HINTS
|
|
+ ${Imath_ROOT}
|
|
+ ${PC_Imath_INCLUDE_DIRS}
|
|
+ PATH_SUFFIXES
|
|
+ include
|
|
+ include/Imath
|
|
+ Imath/include
|
|
+ )
|
|
+
|
|
+ # Lib names to search for
|
|
+ set(_Imath_LIB_NAMES "Imath-${_Imath_LIB_VER}" Imath)
|
|
+ if(BUILD_TYPE_DEBUG)
|
|
+ # Prefer Debug lib names
|
|
+ list(INSERT _Imath_LIB_NAMES 0 "Imath-${_Imath_LIB_VER}_d")
|
|
+ endif()
|
|
+
|
|
+ if(Imath_STATIC_LIBRARY)
|
|
+ # Prefer static lib names
|
|
+ set(_Imath_STATIC_LIB_NAMES
|
|
+ "${CMAKE_STATIC_LIBRARY_PREFIX}Imath-${_Imath_LIB_VER}${CMAKE_STATIC_LIBRARY_SUFFIX}"
|
|
+ "${CMAKE_STATIC_LIBRARY_PREFIX}Imath${CMAKE_STATIC_LIBRARY_SUFFIX}"
|
|
+ )
|
|
+ if(BUILD_TYPE_DEBUG)
|
|
+ # Prefer static Debug lib names
|
|
+ list(INSERT _Imath_STATIC_LIB_NAMES 0
|
|
+ "${CMAKE_STATIC_LIBRARY_PREFIX}Imath-${_Imath_LIB_VER}_d${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
+ endif()
|
|
+ endif()
|
|
+
|
|
+ # Find library
|
|
+ find_library(Imath_LIBRARY
|
|
+ NAMES
|
|
+ ${_Imath_STATIC_LIB_NAMES}
|
|
+ ${_Imath_LIB_NAMES}
|
|
+ HINTS
|
|
+ ${Imath_ROOT}
|
|
+ ${PC_Imath_LIBRARY_DIRS}
|
|
+ PATH_SUFFIXES
|
|
+ lib64 lib
|
|
+ )
|
|
+
|
|
+ # Get version from config header file
|
|
+ if(Imath_INCLUDE_DIR)
|
|
+ if(EXISTS "${Imath_INCLUDE_DIR}/ImathConfig.h")
|
|
+ set(_Imath_CONFIG "${Imath_INCLUDE_DIR}/ImathConfig.h")
|
|
+ endif()
|
|
+ endif()
|
|
+
|
|
+ if(_Imath_CONFIG)
|
|
+ file(STRINGS "${_Imath_CONFIG}" _Imath_VER_SEARCH
|
|
+ REGEX "^[ \t]*#define[ \t]+IMATH_VERSION_STRING[ \t]+\"[.0-9]+\".*$")
|
|
+ if(_Imath_VER_SEARCH)
|
|
+ string(REGEX REPLACE ".*#define[ \t]+IMATH_VERSION_STRING[ \t]+\"([.0-9]+)\".*"
|
|
+ "\\1" Imath_VERSION "${_Imath_VER_SEARCH}")
|
|
+ endif()
|
|
+ elseif(PC_Imath_FOUND)
|
|
+ set(Imath_VERSION "${PC_Imath_VERSION}")
|
|
+ endif()
|
|
+ endif()
|
|
+
|
|
+ # Override REQUIRED if package can be installed
|
|
+ if(OCIO_INSTALL_EXT_PACKAGES STREQUAL MISSING)
|
|
+ set(Imath_FIND_REQUIRED FALSE)
|
|
+ endif()
|
|
+
|
|
+ include(FindPackageHandleStandardArgs)
|
|
+ find_package_handle_standard_args(Imath
|
|
+ REQUIRED_VARS
|
|
+ ${_Imath_REQUIRED_VARS}
|
|
+ VERSION_VAR
|
|
+ Imath_VERSION
|
|
+ )
|
|
+endif()
|
|
+
|
|
+###############################################################################
|
|
+### Create target
|
|
+
|
|
+if (NOT TARGET Imath::Imath)
|
|
+ add_library(Imath::Imath UNKNOWN IMPORTED GLOBAL)
|
|
+ set(_Imath_TARGET_CREATE TRUE)
|
|
+endif()
|
|
+
|
|
+###############################################################################
|
|
+### Install package from source ###
|
|
+
|
|
+if(NOT Imath_FOUND)
|
|
+ include(ExternalProject)
|
|
+ include(GNUInstallDirs)
|
|
+
|
|
+ set(_EXT_DIST_ROOT "${CMAKE_BINARY_DIR}/ext/dist")
|
|
+ set(_EXT_BUILD_ROOT "${CMAKE_BINARY_DIR}/ext/build")
|
|
+
|
|
+ # Set find_package standard args
|
|
+ set(Imath_FOUND TRUE)
|
|
+ set(Imath_VERSION ${Imath_FIND_VERSION})
|
|
+ set(Imath_INCLUDE_DIR "${_EXT_DIST_ROOT}/${CMAKE_INSTALL_INCLUDEDIR}/Imath")
|
|
+
|
|
+ # Set the expected library name. "_d" is appended to Debug Windows builds
|
|
+ # <= OpenEXR 2.3.0. In newer versions, it is appended to Debug libs on
|
|
+ # all platforms.
|
|
+ if(BUILD_TYPE_DEBUG)
|
|
+ set(_Imath_LIB_SUFFIX "_d")
|
|
+ endif()
|
|
+
|
|
+ set(Imath_LIBRARY
|
|
+ "${_EXT_DIST_ROOT}/${CMAKE_INSTALL_LIBDIR}/${CMAKE_STATIC_LIBRARY_PREFIX}Imath-${_Imath_LIB_VER}${_Imath_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
|
|
+
|
|
+ if(_Imath_TARGET_CREATE)
|
|
+ if(MSVC)
|
|
+ set(Imath_CXX_FLAGS "${Imath_CXX_FLAGS} /EHsc")
|
|
+ endif()
|
|
+
|
|
+ string(STRIP "${Imath_CXX_FLAGS}" Imath_CXX_FLAGS)
|
|
+
|
|
+ set(Imath_CMAKE_ARGS
|
|
+ ${Imath_CMAKE_ARGS}
|
|
+ -DCMAKE_CXX_VISIBILITY_PRESET=${CMAKE_CXX_VISIBILITY_PRESET}
|
|
+ -DCMAKE_VISIBILITY_INLINES_HIDDEN=${CMAKE_VISIBILITY_INLINES_HIDDEN}
|
|
+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
|
+ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
|
|
+ -DCMAKE_CXX_FLAGS=${Imath_CXX_FLAGS}
|
|
+ -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD}
|
|
+ -DCMAKE_INSTALL_MESSAGE=${CMAKE_INSTALL_MESSAGE}
|
|
+ -DCMAKE_INSTALL_PREFIX=${_EXT_DIST_ROOT}
|
|
+ -DCMAKE_OBJECT_PATH_MAX=${CMAKE_OBJECT_PATH_MAX}
|
|
+ -DBUILD_SHARED_LIBS=OFF
|
|
+ -DBUILD_TESTING=OFF
|
|
+ -DPYTHON=OFF
|
|
+ -DIMATH_HALF_USE_LOOKUP_TABLE=OFF
|
|
+ )
|
|
+
|
|
+ if(CMAKE_TOOLCHAIN_FILE)
|
|
+ set(Imath_CMAKE_ARGS
|
|
+ ${Imath_CMAKE_ARGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE})
|
|
+ endif()
|
|
+
|
|
+ if(APPLE)
|
|
+ set(Imath_CMAKE_ARGS
|
|
+ ${Imath_CMAKE_ARGS} -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET})
|
|
+ endif()
|
|
+
|
|
+ # Hack to let imported target be built from ExternalProject_Add
|
|
+ file(MAKE_DIRECTORY ${Imath_INCLUDE_DIR})
|
|
+
|
|
+ ExternalProject_Add(imath_install
|
|
+ GIT_REPOSITORY "https://github.com/AcademySoftwareFoundation/Imath.git"
|
|
+ GIT_TAG "v${Imath_VERSION}"
|
|
+ GIT_CONFIG advice.detachedHead=false
|
|
+ GIT_SHALLOW TRUE
|
|
+ PREFIX "${_EXT_BUILD_ROOT}/Imath"
|
|
+ BUILD_BYPRODUCTS ${Imath_LIBRARY}
|
|
+ CMAKE_ARGS ${Imath_CMAKE_ARGS}
|
|
+ EXCLUDE_FROM_ALL TRUE
|
|
+ )
|
|
+
|
|
+ add_dependencies(Imath::Imath imath_install)
|
|
+ message(STATUS "Installing Imath: ${Imath_LIBRARY} (version \"${Imath_VERSION}\")")
|
|
+ endif()
|
|
+endif()
|
|
+
|
|
+###############################################################################
|
|
+### Configure target ###
|
|
+
|
|
+if(_Imath_TARGET_CREATE)
|
|
+ set_target_properties(Imath::Imath PROPERTIES
|
|
+ IMPORTED_LOCATION ${Imath_LIBRARY}
|
|
+ INTERFACE_INCLUDE_DIRECTORIES ${Imath_INCLUDE_DIR}
|
|
+ )
|
|
+
|
|
+ mark_as_advanced(Imath_INCLUDE_DIR Imath_LIBRARY Imath_VERSION)
|
|
+endif()
|
|
Index: OpenColorIO-2.0.1/src/OpenColorIO/BitDepthUtils.h
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/OpenColorIO/BitDepthUtils.h
|
|
+++ OpenColorIO-2.0.1/src/OpenColorIO/BitDepthUtils.h
|
|
@@ -7,7 +7,7 @@
|
|
|
|
#include <OpenColorIO/OpenColorIO.h>
|
|
|
|
-#include "OpenEXR/half.h"
|
|
+#include "half.h"
|
|
|
|
|
|
namespace OCIO_NAMESPACE
|
|
Index: OpenColorIO-2.0.1/src/OpenColorIO/CMakeLists.txt
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/OpenColorIO/CMakeLists.txt
|
|
+++ OpenColorIO-2.0.1/src/OpenColorIO/CMakeLists.txt
|
|
@@ -207,7 +207,7 @@ target_link_libraries(OpenColorIO
|
|
public_api
|
|
PRIVATE
|
|
expat::expat
|
|
- IlmBase::Half
|
|
+ ${OCIO_HALF_LIB}
|
|
pystring::pystring
|
|
sampleicc::sampleicc
|
|
utils::strings
|
|
Index: OpenColorIO-2.0.1/src/OpenColorIO/MathUtils.h
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/OpenColorIO/MathUtils.h
|
|
+++ OpenColorIO-2.0.1/src/OpenColorIO/MathUtils.h
|
|
@@ -9,7 +9,7 @@
|
|
|
|
#include <OpenColorIO/OpenColorIO.h>
|
|
|
|
-#include "OpenEXR/half.h"
|
|
+#include "half.h"
|
|
|
|
namespace OCIO_NAMESPACE
|
|
{
|
|
Index: OpenColorIO-2.0.1/src/OpenColorIO/ops/range/RangeOp.cpp
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/OpenColorIO/ops/range/RangeOp.cpp
|
|
+++ OpenColorIO-2.0.1/src/OpenColorIO/ops/range/RangeOp.cpp
|
|
@@ -7,7 +7,7 @@
|
|
#include <OpenColorIO/OpenColorIO.h>
|
|
|
|
#include "GpuShaderUtils.h"
|
|
-#include "OpenEXR/half.h"
|
|
+#include "half.h"
|
|
#include "HashUtils.h"
|
|
#include "MathUtils.h"
|
|
#include "ops/lut1d/Lut1DOpData.h"
|
|
Index: OpenColorIO-2.0.1/src/OpenColorIO/transforms/builtins/ACES.cpp
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/OpenColorIO/transforms/builtins/ACES.cpp
|
|
+++ OpenColorIO-2.0.1/src/OpenColorIO/transforms/builtins/ACES.cpp
|
|
@@ -6,7 +6,7 @@
|
|
|
|
#include <OpenColorIO/OpenColorIO.h>
|
|
|
|
-#include "OpenEXR/half.h"
|
|
+#include "half.h"
|
|
#include "ops/fixedfunction/FixedFunctionOp.h"
|
|
#include "ops/gradingrgbcurve/GradingRGBCurveOp.h"
|
|
#include "ops/log/LogOp.h"
|
|
Index: OpenColorIO-2.0.1/src/OpenColorIO/transforms/builtins/OpHelpers.cpp
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/OpenColorIO/transforms/builtins/OpHelpers.cpp
|
|
+++ OpenColorIO-2.0.1/src/OpenColorIO/transforms/builtins/OpHelpers.cpp
|
|
@@ -4,7 +4,7 @@
|
|
|
|
#include <OpenColorIO/OpenColorIO.h>
|
|
|
|
-#include "OpenEXR/half.h"
|
|
+#include "half.h"
|
|
#include "ops/lut1d/Lut1DOp.h"
|
|
#include "transforms/builtins/OpHelpers.h"
|
|
|
|
Index: OpenColorIO-2.0.1/src/apps/ocioconvert/CMakeLists.txt
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/apps/ocioconvert/CMakeLists.txt
|
|
+++ OpenColorIO-2.0.1/src/apps/ocioconvert/CMakeLists.txt
|
|
@@ -27,7 +27,7 @@ set_target_properties(ocioconvert PROPER
|
|
target_link_libraries(ocioconvert
|
|
PRIVATE
|
|
apputils
|
|
- IlmBase::Half
|
|
+ ${OCIO_HALF_LIB}
|
|
${OCIO_GL_LIB}
|
|
oiiohelpers
|
|
OpenColorIO
|
|
Index: OpenColorIO-2.0.1/src/apps/ocioconvert/main.cpp
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/apps/ocioconvert/main.cpp
|
|
+++ OpenColorIO-2.0.1/src/apps/ocioconvert/main.cpp
|
|
@@ -24,7 +24,7 @@ namespace OIIO = OIIO_NAMESPACE;
|
|
#endif // OCIO_GPU_ENABLED
|
|
|
|
#include "oiiohelpers.h"
|
|
-#include "OpenEXR/half.h"
|
|
+#include "half.h"
|
|
|
|
|
|
// Array of non OpenColorIO arguments.
|
|
Index: OpenColorIO-2.0.1/src/apps/ocioperf/CMakeLists.txt
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/apps/ocioperf/CMakeLists.txt
|
|
+++ OpenColorIO-2.0.1/src/apps/ocioperf/CMakeLists.txt
|
|
@@ -20,7 +20,7 @@ set_target_properties(ocioperf PROPERTIE
|
|
target_link_libraries(ocioperf
|
|
PRIVATE
|
|
apputils
|
|
- IlmBase::Half
|
|
+ ${OCIO_HALF_LIB}
|
|
oiiohelpers
|
|
OpenColorIO
|
|
OpenImageIO::OpenImageIO
|
|
Index: OpenColorIO-2.0.1/src/apps/ocioperf/main.cpp
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/apps/ocioperf/main.cpp
|
|
+++ OpenColorIO-2.0.1/src/apps/ocioperf/main.cpp
|
|
@@ -11,7 +11,7 @@ namespace OIIO = OIIO_NAMESPACE;
|
|
#endif
|
|
|
|
#include "apputils/argparse.h"
|
|
-#include "OpenEXR/half.h"
|
|
+#include "half.h"
|
|
#include "oiiohelpers.h"
|
|
#include "utils/StringUtils.h"
|
|
|
|
Index: OpenColorIO-2.0.1/src/libutils/oiiohelpers/CMakeLists.txt
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/libutils/oiiohelpers/CMakeLists.txt
|
|
+++ OpenColorIO-2.0.1/src/libutils/oiiohelpers/CMakeLists.txt
|
|
@@ -31,7 +31,7 @@ target_link_libraries(oiiohelpers
|
|
|
|
PRIVATE
|
|
OpenColorIO
|
|
- IlmBase::Half
|
|
+ ${OCIO_HALF_LIB}
|
|
utils::strings
|
|
)
|
|
|
|
Index: OpenColorIO-2.0.1/src/libutils/oiiohelpers/oiiohelpers.cpp
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/src/libutils/oiiohelpers/oiiohelpers.cpp
|
|
+++ OpenColorIO-2.0.1/src/libutils/oiiohelpers/oiiohelpers.cpp
|
|
@@ -5,7 +5,7 @@
|
|
#include <OpenColorIO/OpenColorIO.h>
|
|
|
|
|
|
-#include "OpenEXR/half.h"
|
|
+#include "half.h"
|
|
#include "oiiohelpers.h"
|
|
#include "utils/StringUtils.h"
|
|
|
|
Index: OpenColorIO-2.0.1/tests/cpu/CMakeLists.txt
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/tests/cpu/CMakeLists.txt
|
|
+++ OpenColorIO-2.0.1/tests/cpu/CMakeLists.txt
|
|
@@ -18,7 +18,7 @@ function(add_ocio_test NAME SOURCES PRIV
|
|
public_api
|
|
PRIVATE
|
|
expat::expat
|
|
- IlmBase::Half
|
|
+ ${OCIO_HALF_LIB}
|
|
pystring::pystring
|
|
sampleicc::sampleicc
|
|
unittest_data
|
|
Index: OpenColorIO-2.0.1/.github/workflows/ci_workflow.yml
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/.github/workflows/ci_workflow.yml
|
|
+++ OpenColorIO-2.0.1/.github/workflows/ci_workflow.yml
|
|
@@ -58,175 +58,163 @@ jobs:
|
|
build: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
|
|
include:
|
|
# -------------------------------------------------------------------
|
|
- # VFX CY2021
|
|
+ # VFX CY2022 (Python 3.9)
|
|
# -------------------------------------------------------------------
|
|
+ # Clang, Debug
|
|
- build: 12
|
|
build-type: Debug
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
- use-sse: 'OFF'
|
|
+ use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 17
|
|
cxx-compiler: clang++
|
|
cc-compiler: clang
|
|
compiler-desc: Clang 9
|
|
- vfx-cy: 2021
|
|
+ vfx-cy: 2022
|
|
+ # GCC, no SSE
|
|
- build: 11
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
- use-sse: 'ON'
|
|
+ use-sse: 'OFF'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 17
|
|
cxx-compiler: g++
|
|
cc-compiler: gcc
|
|
compiler-desc: GCC 9.3.1
|
|
- vfx-cy: 2021
|
|
- # -------------------------------------------------------------------
|
|
- # GCC, VFX CY2020
|
|
- # -------------------------------------------------------------------
|
|
- # C++11, Python 3.7
|
|
+ vfx-cy: 2022
|
|
+ # GCC, static, docs
|
|
- build: 10
|
|
build-type: Release
|
|
- build-shared: 'ON'
|
|
+ build-shared: 'OFF'
|
|
build-docs: 'ON'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
- cxx-standard: 11
|
|
+ use-ilmbase: 'OFF'
|
|
+ cxx-standard: 17
|
|
cxx-compiler: g++
|
|
cc-compiler: gcc
|
|
- compiler-desc: GCC 6.3.1
|
|
- vfx-cy: 2020
|
|
- # Debug
|
|
+ compiler-desc: GCC 9.3.1
|
|
+ vfx-cy: 2022
|
|
+ # -------------------------------------------------------------------
|
|
+ # VFX CY2021 (Python 3.7)
|
|
+ # -------------------------------------------------------------------
|
|
+ # Clang, docs
|
|
- build: 9
|
|
+ build-type: Release
|
|
+ build-shared: 'ON'
|
|
+ build-docs: 'ON'
|
|
+ use-sse: 'ON'
|
|
+ use-ilmbase: 'ON'
|
|
+ cxx-standard: 17
|
|
+ cxx-compiler: clang++
|
|
+ cc-compiler: clang
|
|
+ compiler-desc: Clang 9
|
|
+ vfx-cy: 2021
|
|
+ # Clang, static, no SSE
|
|
+ - build: 8
|
|
+ build-type: Release
|
|
+ build-shared: 'OFF'
|
|
+ build-docs: 'OFF'
|
|
+ use-sse: 'OFF'
|
|
+ use-ilmbase: 'ON'
|
|
+ cxx-standard: 17
|
|
+ cxx-compiler: clang++
|
|
+ cc-compiler: clang
|
|
+ compiler-desc: Clang 9
|
|
+ vfx-cy: 2021
|
|
+ # GCC, Debug
|
|
+ - build: 7
|
|
build-type: Debug
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
- cxx-standard: 11
|
|
+ use-ilmbase: 'ON'
|
|
+ cxx-standard: 17
|
|
cxx-compiler: g++
|
|
cc-compiler: gcc
|
|
- compiler-desc: GCC 6.3.1
|
|
- vfx-cy: 2020
|
|
- # C++14
|
|
- - build: 8
|
|
+ compiler-desc: GCC 9.3.1
|
|
+ vfx-cy: 2021
|
|
+ # -------------------------------------------------------------------
|
|
+ # VFX CY2020 (Python 3.7)
|
|
+ # -------------------------------------------------------------------
|
|
+ # Clang
|
|
+ - build: 6
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
- use-sse: 'ON'
|
|
+ use-sse: 'OFF'
|
|
+ use-ilmbase: 'ON'
|
|
cxx-standard: 14
|
|
- cxx-compiler: g++
|
|
- cc-compiler: gcc
|
|
- compiler-desc: GCC 6.3.1
|
|
+ cxx-compiler: clang++
|
|
+ cc-compiler: clang
|
|
+ compiler-desc: Clang 7
|
|
vfx-cy: 2020
|
|
- # Static, no SSE
|
|
- - build: 7
|
|
- build-type: Release
|
|
+ # GCC, static, Debug
|
|
+ - build: 5
|
|
+ build-type: Debug
|
|
build-shared: 'OFF'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
- use-sse: 'OFF'
|
|
- cxx-standard: 11
|
|
+ use-sse: 'ON'
|
|
+ use-ilmbase: 'ON'
|
|
+ cxx-standard: 14
|
|
cxx-compiler: g++
|
|
cc-compiler: gcc
|
|
compiler-desc: GCC 6.3.1
|
|
vfx-cy: 2020
|
|
- # -------------------------------------------------------------------
|
|
- # GCC, VFX CY2019
|
|
- # -------------------------------------------------------------------
|
|
- # Python 2.7
|
|
- - build: 6
|
|
+ # GCC, no SSE, docs
|
|
+ - build: 4
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
- # Doc build requires Python 3
|
|
- build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
+ build-docs: 'ON'
|
|
use-sse: 'ON'
|
|
- cxx-standard: 11
|
|
+ use-ilmbase: 'ON'
|
|
+ cxx-standard: 14
|
|
cxx-compiler: g++
|
|
cc-compiler: gcc
|
|
compiler-desc: GCC 6.3.1
|
|
- vfx-cy: 2019
|
|
+ vfx-cy: 2020
|
|
# -------------------------------------------------------------------
|
|
- # Clang, VFX CY2020
|
|
+ # VFX CY2019 (Python 2.7)
|
|
# -------------------------------------------------------------------
|
|
- # C++11, Python 3.7
|
|
- - build: 5
|
|
- build-type: Release
|
|
- build-shared: 'ON'
|
|
- build-docs: 'ON'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
- use-sse: 'ON'
|
|
- cxx-standard: 11
|
|
- cxx-compiler: clang++
|
|
- cc-compiler: clang
|
|
- compiler-desc: Clang 7
|
|
- vfx-cy: 2020
|
|
- # Debug
|
|
- - build: 4
|
|
- build-type: Debug
|
|
- build-shared: 'ON'
|
|
- build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- build-headless: 'OFF'
|
|
- use-sse: 'ON'
|
|
- cxx-standard: 11
|
|
- cxx-compiler: clang++
|
|
- cc-compiler: clang
|
|
- compiler-desc: Clang 7
|
|
- vfx-cy: 2020
|
|
- # C++14
|
|
+ # Clang, static
|
|
- build: 3
|
|
build-type: Release
|
|
- build-shared: 'ON'
|
|
+ build-shared: 'OFF'
|
|
+ # Doc build requires Python 3
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
- cxx-standard: 14
|
|
+ use-ilmbase: 'ON'
|
|
+ cxx-standard: 11
|
|
cxx-compiler: clang++
|
|
cc-compiler: clang
|
|
compiler-desc: Clang 7
|
|
- vfx-cy: 2020
|
|
- # Static, no SSE
|
|
+ vfx-cy: 2019
|
|
+ # Clang, Debug, no SSE
|
|
- build: 2
|
|
- build-type: Release
|
|
- build-shared: 'OFF'
|
|
+ build-type: Debug
|
|
+ build-shared: 'ON'
|
|
+ # Doc build requires Python 3
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'OFF'
|
|
+ use-ilmbase: 'ON'
|
|
cxx-standard: 11
|
|
cxx-compiler: clang++
|
|
cc-compiler: clang
|
|
compiler-desc: Clang 7
|
|
- vfx-cy: 2020
|
|
- # -------------------------------------------------------------------
|
|
- # Clang, VFX CY2019
|
|
- # -------------------------------------------------------------------
|
|
- # Python 2.7
|
|
+ vfx-cy: 2019
|
|
+ # GCC
|
|
- build: 1
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
# Doc build requires Python 3
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'ON'
|
|
cxx-standard: 11
|
|
- cxx-compiler: clang++
|
|
- cc-compiler: clang
|
|
- compiler-desc: Clang 7
|
|
+ cxx-compiler: g++
|
|
+ cc-compiler: gcc
|
|
+ compiler-desc: GCC 6.3.1
|
|
vfx-cy: 2019
|
|
env:
|
|
CXX: ${{ matrix.cxx-compiler }}
|
|
@@ -251,9 +239,9 @@ jobs:
|
|
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
|
|
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
|
|
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
|
|
- -DOCIO_BUILD_GPU_TESTS=${{ matrix.build-gpu }} \
|
|
- -DOCIO_USE_HEADLESS=${{ matrix.use-headless }} \
|
|
+ -DOCIO_BUILD_GPU_TESTS=OFF \
|
|
-DOCIO_USE_SSE=${{ matrix.use-sse }} \
|
|
+ -DOCIO_USE_ILMBASE=${{ matrix.use-ilmbase }} \
|
|
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
|
|
-DOCIO_WARNING_AS_ERROR=ON \
|
|
-DPython_EXECUTABLE=$(which python)
|
|
@@ -292,20 +280,18 @@ jobs:
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 17
|
|
- python-version: 3.7
|
|
+ python-version: 3.9
|
|
# Static, no SSE
|
|
# C++11, Python 3.7
|
|
- build: 5
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
build-docs: 'ON'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 11
|
|
python-version: 3.7
|
|
# Debug
|
|
@@ -313,19 +299,17 @@ jobs:
|
|
build-type: Debug
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 11
|
|
python-version: 3.7
|
|
- # C++14
|
|
+ # C++14, IlmBase
|
|
- build: 3
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'ON'
|
|
cxx-standard: 14
|
|
python-version: 3.7
|
|
# Static, no SSE
|
|
@@ -333,9 +317,8 @@ jobs:
|
|
build-type: Release
|
|
build-shared: 'OFF'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'OFF'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 11
|
|
python-version: 3.7
|
|
# Python 2.7
|
|
@@ -344,9 +327,8 @@ jobs:
|
|
build-shared: 'ON'
|
|
# Doc build requires Python 3
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 11
|
|
python-version: 2.7
|
|
steps:
|
|
@@ -373,9 +355,9 @@ jobs:
|
|
-DCMAKE_CXX_STANDARD=${{ matrix.cxx-standard }} \
|
|
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
|
|
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
|
|
- -DOCIO_BUILD_GPU_TESTS=${{ matrix.build-gpu }} \
|
|
- -DOCIO_USE_HEADLESS=${{ matrix.use-headless }} \
|
|
+ -DOCIO_BUILD_GPU_TESTS=OFF \
|
|
-DOCIO_USE_SSE=${{ matrix.use-sse }} \
|
|
+ -DOCIO_USE_ILMBASE=${{ matrix.use-ilmbase }} \
|
|
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
|
|
-DOCIO_WARNING_AS_ERROR=ON \
|
|
-DPython_EXECUTABLE=$(which python)
|
|
@@ -416,19 +398,17 @@ jobs:
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 17
|
|
- python-version: 3.7
|
|
+ python-version: 3.9
|
|
# C++11, Python 3.7
|
|
- build: 5
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
build-docs: 'ON'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 11
|
|
python-version: 3.7
|
|
# Debug
|
|
@@ -436,19 +416,17 @@ jobs:
|
|
build-type: Debug
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 11
|
|
python-version: 3.7
|
|
- # C++14
|
|
+ # C++14, IlmBase
|
|
- build: 3
|
|
build-type: Release
|
|
build-shared: 'ON'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'ON'
|
|
cxx-standard: 14
|
|
python-version: 3.7
|
|
# Static, no SSE
|
|
@@ -456,9 +434,8 @@ jobs:
|
|
build-type: Release
|
|
build-shared: 'OFF'
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'OFF'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 11
|
|
python-version: 3.7
|
|
# Python 2.7
|
|
@@ -467,9 +444,8 @@ jobs:
|
|
build-shared: 'ON'
|
|
# Doc build requires Python 3
|
|
build-docs: 'OFF'
|
|
- build-gpu: 'OFF'
|
|
- use-headless: 'OFF'
|
|
use-sse: 'ON'
|
|
+ use-ilmbase: 'OFF'
|
|
cxx-standard: 11
|
|
python-version: 2.7
|
|
steps:
|
|
@@ -499,9 +475,9 @@ jobs:
|
|
-DCMAKE_GENERATOR_PLATFORM=x64 \
|
|
-DBUILD_SHARED_LIBS=${{ matrix.build-shared }} \
|
|
-DOCIO_BUILD_DOCS=${{ matrix.build-docs }} \
|
|
- -DOCIO_BUILD_GPU_TESTS=${{ matrix.build-gpu }} \
|
|
- -DOCIO_USE_HEADLESS=${{ matrix.use-headless }} \
|
|
+ -DOCIO_BUILD_GPU_TESTS=OFF \
|
|
-DOCIO_USE_SSE=${{ matrix.use-sse }} \
|
|
+ -DOCIO_USE_ILMBASE=${{ matrix.use-ilmbase }} \
|
|
-DOCIO_INSTALL_EXT_PACKAGES=ALL \
|
|
-DOCIO_WARNING_AS_ERROR=ON \
|
|
-DPython_EXECUTABLE=$(which python)
|
|
Index: OpenColorIO-2.0.1/buildspec.yml
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/buildspec.yml
|
|
+++ OpenColorIO-2.0.1/buildspec.yml
|
|
@@ -41,6 +41,7 @@ phases:
|
|
cmake ../. \
|
|
-DCMAKE_INSTALL_PREFIX=../_install \
|
|
-DOCIO_USE_HEADLESS=ON \
|
|
+ -DOCIO_USE_ILMBASE=ON \
|
|
-DOCIO_BUILD_APPS=ON \
|
|
-DOCIO_BUILD_DOCS=OFF \
|
|
-DOCIO_BUILD_TESTS=ON \
|
|
Index: OpenColorIO-2.0.1/docs/quick_start/installation.rst
|
|
===================================================================
|
|
--- OpenColorIO-2.0.1.orig/docs/quick_start/installation.rst
|
|
+++ OpenColorIO-2.0.1/docs/quick_start/installation.rst
|
|
@@ -67,6 +67,10 @@ it is not necessary to install those ite
|
|
- \*yaml-cpp >= 0.6.3 (YAML parser for Configs)
|
|
- \*IlmBase (Half only) >= 2.3.0 (for half domain LUTs)
|
|
- \*pystring >= 1.1.3
|
|
+- \*Imath >= 3.0.5 (for half domain LUTs)
|
|
+ - \*IlmBase (Half only) >= 2.4.0 (Alternative half implementation when
|
|
+ OpenEXR 2 is available. Use ``-DOCIO_USE_ILMBASE=ON`` CMake option to
|
|
+ enable).
|
|
|
|
Some optional components also depend on:
|
|
|
|
@@ -122,10 +126,12 @@ When using existing system libraries, th
|
|
defined to hint at non-standard install locations and preference of shared
|
|
or static linking:
|
|
|
|
-- ``-DExpat_ROOT=<path>`` (include and/or library root dir)
|
|
-- ``-DExpat_STATIC_LIBRARY=ON`` (prefer static lib)
|
|
+- ``-Dexpat_ROOT=<path>`` (include and/or library root dir)
|
|
+- ``-Dexpat_STATIC_LIBRARY=ON`` (prefer static lib)
|
|
- ``-Dyaml-cpp_ROOT=<path>`` (include and/or library root dir)
|
|
- ``-Dyaml-cpp_STATIC_LIBRARY=ON`` (prefer static lib)
|
|
+- ``-DImath_ROOT=<path>`` (include and/or library root dir)
|
|
+- ``-DImath_STATIC_LIBRARY=ON`` (prefer static lib)
|
|
- ``-DHalf_ROOT=<path>`` (include and/or library root dir)
|
|
- ``-DHalf_STATIC_LIBRARY=ON`` (prefer static lib)
|
|
- ``-Dpystring_ROOT=<path>`` (include and/or library root dir)
|