Skip to content

Commit 4d3724d

Browse files
authored
Merge branch 'main' into legacy-interop-id
2 parents 1912056 + ff89654 commit 4d3724d

File tree

23 files changed

+290
-82
lines changed

23 files changed

+290
-82
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
---
22
name: Bug report
33
about: I think I have identified a legit bug and can describe it.
4-
title: "[BUG]"
4+
title: "bug:"
55
labels: ''
66
assignees: ''
77

88
---
99

10+
<!-- THESE ARE JUST SUGGESTIONS. FEEL FREE TO DELETE ALL OF THIS AND -->
11+
<!-- WRITE YOUR OWN THOROUGH BUG REPORT. -->
12+
1013
**Describe the bug**
1114

1215
A clear and concise description of what the bug is. What happened, and

.github/ISSUE_TEMPLATE/build_problem.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
name: Build problems
33
about: I'm having trouble building OIIO. Help!
4-
title: "[BUILD]"
4+
title: "build:"
55
labels: ''
66
assignees: ''
77

@@ -10,7 +10,8 @@ assignees: ''
1010
**PLEASE DO NOT REPORT BUILD TROUBLES AS GITHUB "ISSUES" UNLESS YOU ARE REALLY SURE IT'S A BUG**
1111

1212
The best way to get help with your build problems is to ask a question on the
13-
[oiio-dev developer mail list](https://lists.aswf.io/g/oiio-dev).
13+
[oiio-dev developer mail list](https://lists.aswf.io/g/oiio-dev) or on the
14+
[ASWF Slack](https://slack.aswf.io) `#openimageio` channel.
1415

1516
When you email about this, please attach one or both of the following:
1617
1. The full verbose build log, which you can create like this:

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
---
22
name: Feature request
33
about: I have a concrete idea about how to improve OpenImageIO.
4-
title: "[FEATURE REQUEST]"
4+
title: "feat:"
55
labels: ''
66
assignees: ''
77

88
---
99

10+
<!-- THESE ARE JUST SUGGESTIONS. FEEL FREE TO DELETE ALL OF THIS AND -->
11+
<!-- WRITE YOUR OWN THOROUGH FEATURE REQUEST. -->
12+
1013
**Is your feature request related to a problem? Please describe.**
1114
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
1215

.github/ISSUE_TEMPLATE/question.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
name: Question
33
about: How do I... I need help with...
4-
title: "[HELP]"
4+
title: "help:"
55
labels: ''
66
assignees: ''
77

@@ -18,8 +18,8 @@ But if you are just asking a question:
1818
* Am I doing something wrong?
1919
* I can't build OpenImageIO
2020

21-
For anything of this nature, the best way to get help using OpenImageIO is
22-
to ask a question on the [oiio-dev developer mail list](https://lists.aswf.io/g/oiio-dev).
21+
For anything of this nature, the best way to get help using OpenImageIO is to
22+
ask a question on the [oiio-dev developer mail list](https://lists.aswf.io/g/oiio-dev) or the [ASWF Slack](https://slack.aswf.io) `#openimageio` channel.
2323

2424
The [documentation](https://docs.openimageio.org)
2525
is pretty comprehensive, so please check there first; you may find the answer

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,42 @@
1-
<!-- This is just a guideline and set of reminders about what constitutes -->
2-
<!-- a good PR. Feel free to delete all this matter and replace it with -->
3-
<!-- your own detailed message about the PR, assuming you hit all the -->
4-
<!-- important points made below. -->
1+
YOU MAY DELETE ALL OF THIS IF YOU ALREADY HAVE A DESCRIPTIVE COMMIT MESSAGE!
52

3+
This is just a template and set of reminders about what constitutes a good PR.
4+
But please look over the checklist at the bottom.
65

7-
## Description
6+
If THIS TEXT is still in your PR description, we'll know you didn't read the
7+
instructions!
8+
9+
10+
11+
12+
### Description
813

914
<!-- Please provide a description of what this PR is meant to fix, and -->
1015
<!-- how it works (if it's not going to be very clear from the code). -->
1116

12-
## Tests
17+
### Tests
1318

1419
<!-- Did you / should you add a testsuite case (new test, or add to an -->
1520
<!-- existing test) to verify that this works? -->
1621

1722

18-
## Checklist:
23+
### Checklist:
1924

2025
<!-- Put an 'x' in the boxes as you complete the checklist items -->
2126

22-
- [ ] I have read the [contribution guidelines](https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/main/CONTRIBUTING.md).
23-
- [ ] I have updated the documentation, if applicable. (Check if there is no
24-
need to update the documentation, for example if this is a bug fix that
25-
doesn't change the API.)
26-
- [ ] I have ensured that the change is tested somewhere in the testsuite
27-
(adding new test cases if necessary).
28-
- [ ] If I added or modified a C++ API call, I have also amended the
29-
corresponding Python bindings (and if altering ImageBufAlgo functions, also
30-
exposed the new functionality as oiiotool options).
31-
- [ ] My code follows the prevailing code style of this project. If I haven't
32-
already run clang-format before submitting, I definitely will look at the CI
33-
test that runs clang-format and fix anything that it highlights as being
34-
nonconforming.
27+
- [ ] **I have read the guidelines** on [contributions](https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/main/CONTRIBUTING.md) and [code review procedures](https://github.com/AcademySoftwareFoundation/OpenImageIO/blob/main/docs/dev/CodeReview.md).
28+
- [ ] **I have updated the documentation** if my PR adds features or changes
29+
behavior.
30+
- [ ] **I am sure that this PR's changes are tested somewhere in the
31+
testsuite**.
32+
- [ ] **I have run and passed the testsuite in CI** *before* submitting the
33+
PR, by pushing the changes to my fork and seeing that the automated CI
34+
passed there. (Exceptions: If most tests pass and you can't figure out why
35+
the remaining ones fail, it's ok to submit the PR and ask for help. Or if
36+
any failures seem entirely unrelated to your change; sometimes things break
37+
on the GitHub runners.)
38+
- [ ] **My code follows the prevailing code style of this project** and I
39+
fixed any problems reported by the clang-format CI test.
40+
- [ ] If I added or modified a public C++ API call, I have also amended the
41+
corresponding Python bindings. If altering ImageBufAlgo functions, I also
42+
exposed the new functionality as oiiotool options.

.github/workflows/ci.yml

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -463,7 +463,7 @@ jobs:
463463
LIBRAW_VERSION=0.21.4
464464
LIBTIFF_VERSION=v4.7.1
465465
OPENJPEG_VERSION=v2.5.4
466-
PTEX_VERSION=v2.4.3
466+
PTEX_VERSION=v2.5.0
467467
PUGIXML_VERSION=v1.15
468468
WEBP_VERSION=v1.6.0
469469
FREETYPE_VERSION=VER-2-14-0
@@ -502,7 +502,7 @@ jobs:
502502
# Ensure we are testing all the deps we think we are. We would
503503
# like this test to have minimal missing dependencies.
504504
required_deps: all
505-
optional_deps: 'CUDAToolkit;DCMTK;JXL;Nuke;OpenCV;OpenGL;OpenVDB;R3DSDK'
505+
optional_deps: 'CUDAToolkit;DCMTK;JXL;libuhdr;Nuke;OpenCV;OpenGL;openjph;R3DSDK;'
506506
- desc: all local builds gcc12 C++17 avx2 exr3.2 ocio2.3
507507
nametag: linux-local-builds
508508
runner: ubuntu-22.04
@@ -517,18 +517,19 @@ jobs:
517517
PTEX_VERSION=v2.4.2
518518
PUGIXML_VERSION=v1.14
519519
WEBP_VERSION=v1.4.0
520-
- desc: clang15 C++17 avx2 exr3.1 ocio2.3
521-
nametag: linux-clang15
522-
runner: ubuntu-22.04
523-
cxx_compiler: clang++-15
524-
cc_compiler: clang-15
520+
- desc: clang18 C++17 avx2 exr3.1 ocio2.3
521+
nametag: linux-clang18
522+
runner: ubuntu-24.04
523+
cxx_compiler: clang++
524+
cc_compiler: clang
525525
cxx_std: 17
526526
fmt_ver: 10.1.1
527527
opencolorio_ver: v2.3.0
528528
openexr_ver: v3.1.13
529529
pybind11_ver: v2.12.0
530-
python_ver: "3.10"
530+
python_ver: "3.12"
531531
simd: avx2,f16c
532+
setenvs: export USE_OPENVDB=0
532533
- desc: Linux ARM latest releases gcc14 C++20 py3.12 exr3.4 ocio2.4
533534
nametag: linux-arm-latest-releases
534535
runner: ubuntu-24.04-arm

INSTALL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ NEW or CHANGED MINIMUM dependencies since the last major release are **bold**.
7171
* If you want support for WebP images:
7272
* WebP >= 1.1 (tested through 1.6)
7373
* If you want support for Ptex:
74-
* Ptex >= 2.3.1 (probably works for older; tested through 2.4.3)
74+
* Ptex >= 2.3.1 (probably works for older; tested through 2.5)
7575
* If you want to be able to do font rendering into images:
7676
* Freetype >= 2.10.0 (tested through 2.14)
7777
* If you want to be able to read "ultra-HDR" embedded in JPEG files:

src/build-scripts/build_Ptex.bash

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ git checkout ${PTEX_VERSION} --force
3333

3434
time cmake -S . -B ${PTEX_BUILD_DIR} -DCMAKE_BUILD_TYPE=Release \
3535
-DCMAKE_INSTALL_PREFIX=${PTEX_INSTALL_DIR} \
36+
-DCMAKE_CXX_STANDARD=17 \
3637
${PTEX_CONFIG_OPTS}
3738
time cmake --build ${PTEX_BUILD_DIR} --config Release --target install
3839

src/build-scripts/gh-installdeps.bash

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,17 @@ else
9696
if [[ "${SKIP_SYSTEM_DEPS_INSTALL}" != "1" ]] ; then
9797
time sudo apt-get -q install -y --fix-missing \
9898
git cmake ninja-build ccache g++ \
99-
libilmbase-dev libopenexr-dev \
100-
libtiff-dev libgif-dev libpng-dev \
99+
libtiff-dev libgif-dev libpng-dev libjpeg-dev \
101100
libraw-dev libwebp-dev \
102101
libavcodec-dev libavformat-dev libswscale-dev libavutil-dev \
103102
dcmtk libopenvdb-dev \
104103
libfreetype6-dev \
105104
libopencolorio-dev \
106-
libtbb-dev || true
105+
libtbb-dev \
106+
libdeflate-dev bzip2
107+
# Iffy ones get the "|| true" treatment so failure is ok
108+
time sudo apt-get -q install -y --fix-missing \
109+
libjxl-dev || true
107110
fi
108111
if [[ "${USE_OPENCV}" != "0" ]] && [[ "${INSTALL_OPENCV}" != "0" ]] ; then
109112
sudo apt-get -q install -y --fix-missing libopencv-dev || true
@@ -133,6 +136,10 @@ else
133136
libheif-plugin-x265 libheif-dev || true
134137
fi
135138

139+
if [[ "${USE_FFMPEG}" != "0" ]] ; then
140+
time sudo apt-get -q install -y ffmpeg || true
141+
fi
142+
136143
export CMAKE_PREFIX_PATH=/usr/lib/x86_64-linux-gnu:$CMAKE_PREFIX_PATH
137144

138145
if [[ "$CXX" == "icpc" || "$CC" == "icc" || "$USE_ICC" != "" || "$USE_ICX" != "" ]] ; then

src/build-scripts/install_homebrew_deps.bash

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ if [[ `which brew` == "" ]] ; then
1919
exit 1
2020
fi
2121

22+
set -ex
2223

2324
if [[ "${DO_BREW_UPDATE:=0}" != "0" ]] ; then
2425
brew update >/dev/null
@@ -27,42 +28,38 @@ echo ""
2728
echo "Before my brew installs:"
2829
brew list --versions
2930

30-
# All cases except for clang-format target, we need the dependencies.
31-
brew install --display-times -q gcc ccache cmake ninja || true
32-
brew link --overwrite gcc
33-
brew install --display-times -q python@${PYTHON_VERSION} || true
34-
brew unlink [email protected] || true
35-
brew unlink [email protected] || true
36-
brew unlink [email protected] || true
37-
brew link --overwrite --force python@${PYTHON_VERSION} || true
38-
#brew upgrade --display-times -q cmake || true
39-
#brew install --display-times -q libtiff
40-
brew install --display-times -q imath openexr opencolorio
41-
#brew install --display-times -q libpng giflib webp
42-
brew install --display-times -q jpeg-turbo openjpeg libultrahdr
43-
brew install --display-times -q freetype libraw dcmtk pybind11 numpy || true
44-
brew install --display-times -q ffmpeg libheif ptex || true
45-
brew install --display-times -q tbb || true
46-
brew install --display-times -q openvdb || true
47-
brew install --display-times -q robin-map || true
48-
if [[ "${USE_OPENCV}" != "0" ]] && [[ "${INSTALL_OPENCV:=1}" != "0" ]] ; then
49-
brew install --display-times -q opencv || true
50-
fi
51-
if [[ "${USE_QT:=1}" != "0" ]] && [[ "${INSTALL_QT:=1}" != "0" ]] ; then
52-
brew install --display-times -q qt${QT_VERSION}
53-
fi
54-
if [[ "${USE_LLVM:=0}" != "0" ]] || [[ "${LLVMBREWVER}" != "" ]]; then
55-
brew install --display-times -q llvm${LLVMBREWVER}
56-
export PATH=/usr/local/opt/llvm/bin:$PATH
31+
if [[ "$OIIO_BREW_INSTALL_PACKAGES" == "" ]] ; then
32+
OIIO_BREW_INSTALL_PACKAGES=" \
33+
ccache \
34+
dcmtk \
35+
ffmpeg \
36+
imath \
37+
libheif \
38+
libraw \
39+
libultrahdr \
40+
numpy \
41+
opencolorio \
42+
openexr \
43+
openjpeg \
44+
openvdb \
45+
ptex \
46+
pybind11 \
47+
robin-map \
48+
tbb \
49+
"
50+
if [[ "${USE_OPENCV}" != "0" ]] && [[ "${INSTALL_OPENCV:=1}" != "0" ]] ; then
51+
OIIO_BREW_INSTALL_PACKAGES+=" opencv"
52+
fi
53+
if [[ "${USE_QT:=1}" != "0" ]] && [[ "${INSTALL_QT:=1}" != "0" ]] ; then
54+
OIIO_BREW_INSTALL_PACKAGES+=" qt${QT_VERSION}"
55+
fi
5756
fi
57+
brew install --display-times -q $OIIO_BREW_INSTALL_PACKAGES $OIIO_BREW_EXTRA_INSTALL_PACKAGES || true
5858

5959
echo ""
6060
echo "After brew installs:"
6161
brew list --versions
6262

63-
# Needed on some systems
64-
pip${PYTHON_VERSION} install numpy
65-
6663
# Set up paths. These will only affect the caller if this script is
6764
# run with 'source' rather than in a separate shell.
6865
export PATH=/usr/local/opt/qt5/bin:$PATH

0 commit comments

Comments
 (0)