Skip to content

Commit 7f3c932

Browse files
authored
Merge branch 'AcademySoftwareFoundation:main' into R3D
2 parents c3eaefb + b8ffc12 commit 7f3c932

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+2512
-462
lines changed

.github/workflows/ci.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ jobs:
367367
simd: "avx2,f16c"
368368
skip_tests: 1
369369
# abi_check: v2.6.2.0
370-
abi_check: 889cf33b61e84025750bdc2c827608fe6157c834
370+
abi_check: 730687ae79bb6c3290afff535aa0e98b0531d165
371371
setenvs: export OIIO_CMAKE_FLAGS="-DOIIO_BUILD_TOOLS=0 -DOIIO_BUILD_TESTS=0 -DUSE_PYTHON=0"
372372
USE_OPENCV=0 USE_FFMPEG=0 USE_PYTHON=0 USE_FREETYPE=0
373373

@@ -397,16 +397,16 @@ jobs:
397397
cc_compiler: gcc-13
398398
cxx_compiler: g++-13
399399
cxx_std: 20
400-
fmt_ver: 11.1.2
401-
opencolorio_ver: v2.4.0
402-
openexr_ver: v3.3.0
403-
pybind11_ver: v2.13.5
400+
fmt_ver: 11.1.4
401+
opencolorio_ver: v2.4.2
402+
openexr_ver: v3.3.3
403+
pybind11_ver: v2.13.6
404404
python_ver: "3.12"
405405
simd: avx2,f16c
406-
setenvs: export LIBJPEGTURBO_VERSION=3.0.3
407-
LIBRAW_VERSION=0.21.2
406+
setenvs: export LIBJPEGTURBO_VERSION=3.1.0
407+
LIBRAW_VERSION=0.21.3
408408
LIBTIFF_VERSION=v4.7.0
409-
OPENJPEG_VERSION=v2.5.2
409+
OPENJPEG_VERSION=v2.5.3
410410
PTEX_VERSION=v2.4.3
411411
PUGIXML_VERSION=v1.15
412412
WEBP_VERSION=v1.5.0

.github/workflows/wheel.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,7 @@ jobs:
383383
env:
384384
CIBW_BUILD: ${{ matrix.python }}
385385
CIBW_ARCHS: ${{ matrix.arch }}
386+
CMAKE_POLICY_VERSION_MINIMUM: 3.5
386387

387388
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
388389
with:

CHANGES.md

Lines changed: 167 additions & 3 deletions
Large diffs are not rendered by default.

CMakeLists.txt

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
# SPDX-License-Identifier: Apache-2.0
33
# https://github.com/AcademySoftwareFoundation/OpenImageIO
44

5-
cmake_minimum_required (VERSION 3.18.2)
5+
cmake_minimum_required (VERSION 3.18.2...4.0)
66

7-
set (OpenImageIO_VERSION "3.1.0.0")
7+
set (OpenImageIO_VERSION "3.1.1.0")
88
set (OpenImageIO_VERSION_OVERRIDE "" CACHE STRING
99
"Version override (use with caution)!")
1010
mark_as_advanced (OpenImageIO_VERSION_OVERRIDE)
@@ -170,6 +170,11 @@ message(STATUS "Joint namespace PROJ_NAMESPACE_V: ${PROJ_NAMESPACE_V}")
170170
# defined for downstream projects using OIIO.
171171
add_compile_definitions (OIIO_INTERNAL=1)
172172

173+
# If CMake variable OIIO_SITE is set, set compile symbol OIIO_SITE_sitename
174+
if (OIIO_SITE)
175+
add_compile_definitions (OIIO_SITE_${OIIO_SITE})
176+
endif ()
177+
173178
include (GNUInstallDirs)
174179

175180
# Utilities for build instructions of the format-reading plugins
@@ -253,13 +258,6 @@ set (format_plugin_libs "")
253258
set (format_plugin_include_dirs "")
254259
set (format_plugin_definitions "")
255260
file (GLOB all_format_plugin_dirs src/*.imageio)
256-
if ("${OIIO_SITE}" STREQUAL "SPI")
257-
# SPI only -- because of a workaround for a very weird linkage issue
258-
# specific to our system, we need to be sure libtiff is referenced first.
259-
file (GLOB tiff_format_plugin_dir src/tiff.imageio)
260-
list (REMOVE_ITEM all_format_plugin_dirs ${tiff_format_plugin_dir})
261-
list (INSERT all_format_plugin_dirs 0 ${tiff_format_plugin_dir})
262-
endif ()
263261
if (EMBEDPLUGINS AND NOT BUILD_OIIOUTIL_ONLY)
264262
foreach (plugin_dir ${all_format_plugin_dirs})
265263
add_subdirectory (${plugin_dir})

CREDITS.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ [email protected]
134134
* LazyDodo
135135
* Leonid Onokhov
136136
* Leszek Godlewski
137+
* Li Ji
137138
* Lucas Panian
138139
* Lucille Caillaud
139140
* Lukas Schrangl

INSTALL.md

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -14,62 +14,66 @@ NEW or CHANGED MINIMUM dependencies since the last major release are **bold**.
1414

1515
### Required dependencies -- OIIO will not build at all without these
1616

17-
* **C++17 or higher** (also builds with C++20)
17+
* C++17 or higher (also builds with C++20)
1818
* The default build mode is C++17. This can be controlled by via the
1919
CMake configuration flag: `-DCMAKE_CXX_STANDARD=20`, etc.
20-
* Compilers: **gcc 9.3** - 14.2, **clang 5** - 19, MSVS 2017 - 2019 (**v19.14
21-
and up**), **Intel icc 19+**, Intel OneAPI C++ compiler 2022+.
22-
* **CMake >= 3.18.2** (tested through 3.31)
23-
* **Imath >= 3.1** (tested through 3.1.x and main)
24-
* **OpenEXR >= 3.1** (tested through 3.3 and main)
25-
* **libTIFF >= 4.0** (tested through 4.7)
26-
* **OpenColorIO >= 2.2** (tested through 2.4 and main)
27-
* libjpeg >= 8 (tested through jpeg9e), or **libjpeg-turbo >= 2.1** (tested
28-
through 3.0)
29-
* **[fmtlib](https://github.com/fmtlib/fmt) >= 7.0** (tested through 11.1).
20+
* Compilers: gcc 9.3 - 14.2, clang 5 - 19, MSVS 2017 - 2019 (v19.14
21+
and up), Intel icc 19+, Intel OneAPI C++ compiler 2022+.
22+
* CMake >= 3.18.2 (tested through 4.0)
23+
* Imath >= 3.1 (tested through 3.1.x and main)
24+
* OpenEXR >= 3.1 (tested through 3.3 and main)
25+
* libTIFF >= 4.0 (tested through 4.7)
26+
* OpenColorIO >= 2.2 (tested through 2.4 and main)
27+
* libjpeg >= 8 (tested through jpeg9e), or libjpeg-turbo >= 2.1 (tested
28+
through 3.1)
29+
* [fmtlib](https://github.com/fmtlib/fmt) >= 7.0 (tested through 11.1).
3030
If not found at build time, this will be automatically downloaded unless
3131
the build sets `-DBUILD_MISSING_FMT=OFF`.
32+
* [Robin-map](https://github.com/Tessil/robin-map) (unknown minimum, tested
33+
through 1.4, which is the recommended version). If not found at build time,
34+
this will be automatically downloaded unless the build sets
35+
`-DBUILD_MISSING_FMT=OFF`.
3236

3337
### Optional dependencies -- features may be disabled if not found
3438
* If you are building the `iv` viewer (which will be disabled if any of
3539
these are not found):
36-
* Qt5 >= 5.6 (tested through 5.15) or Qt6 (tested through 6.7)
40+
* Qt5 >= 5.6 (tested through 5.15) or Qt6 (tested through 6.8)
3741
* OpenGL
3842
* If you are building the Python bindings or running the testsuite:
39-
* **Python >= 3.7** (tested through 3.13)
40-
* **pybind11 >= 2.7** (tested through 2.12)
41-
* NumPy
43+
* Python >= 3.7 (tested through 3.13)
44+
* pybind11 >= 2.7 (tested through 2.13)
45+
* NumPy (tested through 2.2.4)
4246
* If you want support for PNG files:
43-
* **libPNG >= 1.6.0** (tested though 1.6.47)
47+
* libPNG >= 1.6.0 (tested though 1.6.47)
4448
* If you want support for camera "RAW" formats:
45-
* **LibRaw >= 0.20** (tested though 0.21.3 and master)
49+
* LibRaw >= 0.20 (tested though 0.21.3 and master)
4650
* If you want support for a wide variety of video formats:
47-
* **ffmpeg >= 4.0** (tested through 7.0)
51+
* ffmpeg >= 4.0 (tested through 7.0)
4852
* If you want support for jpeg 2000 images:
4953
* OpenJpeg >= 2.0 (tested through 2.5; we recommend 2.4 or higher
5054
for multithreading support)
5155
* If you want support for OpenVDB files:
52-
* OpenVDB >= 9.0 (tested through 11.0). Note that using OpenVDB >= 10.0
56+
* OpenVDB >= 9.0 (tested through 12.0). Note that using OpenVDB >= 10.0
5357
requires that you compile OIIO with C++17 or higher.
5458
* If you want to use TBB as the thread pool:
5559
* TBB >= 2018 (tested through 2021 and OneTBB)
5660
* If you want support for converting to and from OpenCV data structures,
5761
or for capturing images from a camera:
58-
* **OpenCV 4.x** (tested through 4.10)
62+
* OpenCV 4.x (tested through 4.11)
5963
* If you want support for GIF images:
60-
* **giflib >= 5.0** (tested through 5.2)
64+
* giflib >= 5.0 (tested through 5.2.2)
6165
* If you want support for HEIF/HEIC or AVIF images:
62-
* **libheif >= 1.11** (1.16 required for correct orientation support,
63-
tested through 1.18.2)
66+
* libheif >= 1.11 (1.16 required for correct orientation support,
67+
tested through 1.19.7)
6468
* libheif must be built with an AV1 encoder/decoder for AVIF support.
6569
* If you want support for DICOM medical image files:
6670
* DCMTK >= 3.6.1 (tested through 3.6.8)
6771
* If you want support for WebP images:
68-
* **WebP >= 1.1** (tested through 1.5)
72+
* WebP >= 1.1 (tested through 1.5)
6973
* If you want support for Ptex:
70-
* Ptex >= 2.3.1 (probably works for older; tested through 2.4.2)
74+
* Ptex >= 2.3.1 (probably works for older; tested through 2.4.3)
7175
* If you want to be able to do font rendering into images:
72-
* **Freetype >= 2.10.0** (tested through 2.13)
76+
* Freetype >= 2.10.0 (tested through 2.13)
7377
* We use PugiXML for XML parsing. There is a version embedded in the OIIO
7478
tree, but if you want to use an external, system-installed version (as
7579
may be required by some software distributions with policies against

docs/dev/RELEASING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -414,7 +414,7 @@ notes process be simpler and more automated.
414414
We have been using the [git-cliff](https://github.com/orhun/git-cliff) tool
415415
as the starting point for release notes. The command we use is:
416416

417-
git cliff -c src/doc/cliff.toml -d v1.2.3.4..HEAD > cliff.out.md
417+
git cliff -c src/doc/cliff.toml v1.2.3.4..HEAD > cliff.out.md
418418

419419
where v1.2.3.4 in this example is the tag of the last release. You could also
420420
use commit hashes to denote the range of changes you want to document.

src/build-scripts/build_Freetype.bash

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ FREETYPE_BUILD_DIR=${FREETYPE_BUILD_DIR:=${FREETYPE_SRC_DIR}/build}
2020
FREETYPE_INSTALL_DIR=${FREETYPE_INSTALL_DIR:=${LOCAL_DEPS_DIR}/dist}
2121
FREETYPE_BUILD_TYPE=${FREETYPE_BUILD_TYPE:=Release}
2222

23+
# Fix for freetype breaking against cmake 4.0 because of too-old cmake min.
24+
# Remove when freetype is fixed to declare its own minimum high enough.
25+
export CMAKE_POLICY_VERSION_MINIMUM=3.5
26+
2327
pwd
2428
echo "Freetype install dir will be: ${FREETYPE_INSTALL_DIR}"
2529

src/build-scripts/build_OpenJPEG.bash

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ OPENJPEG_BUILD_DIR=${OPENJPEG_BUILD_DIR:=${OPENJPEG_SRC_DIR}/build}
2020
OPENJPEG_INSTALL_DIR=${OPENJPEG_INSTALL_DIR:=${LOCAL_DEPS_DIR}/dist}
2121
#OPENJPEG_CONFIG_OPTS=${OPENJPEG_CONFIG_OPTS:=}
2222

23+
# Fix for openjpeg breaking against cmake 4.0 because of too-old cmake min.
24+
# Remove when openjpeg is fixed to declare its own minimum high enough.
25+
export CMAKE_POLICY_VERSION_MINIMUM=3.5
26+
2327
pwd
2428
echo "OpenJPEG install dir will be: ${OPENJPEG_INSTALL_DIR}"
2529

src/build-scripts/build_opencolorio.bash

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@ OPENCOLORIO_BUILDOPTS="-DOCIO_BUILD_APPS=OFF -DOCIO_BUILD_NUKE=OFF \
2828
-DOCIO_BUILD_PYTHON=OFF -DOCIO_BUILD_PYGLUE=OFF \
2929
-DOCIO_BUILD_JAVA=OFF \
3030
-DBUILD_SHARED_LIBS=${OPENCOLORIO_BUILD_SHARED_LIBS:=ON}"
31+
32+
# Fix yaml-cpp which breaks against cmake 4.0 because of too-old cmake min.
33+
# Remove when yaml-cpp is fixed to declare its own minimum high enough.
34+
export CMAKE_POLICY_VERSION_MINIMUM=3.5
35+
3136
BASEDIR=`pwd`
3237
pwd
3338
echo "OpenColorIO install dir will be: ${OPENCOLORIO_INSTALL_DIR}"

0 commit comments

Comments
 (0)