8000 Merge pull request #21329 from alalek:cmake_openexr_find_package · opencv/opencv@92651d2 · GitHub
[go: up one dir, main page]

Skip to content

Commit 92651d2

Browse files
committed
Merge pull request #21329 from alalek:cmake_openexr_find_package
2 parents 90e3692 + f43fec7 commit 92651d2

File tree

4 files changed

+25
-2
lines changed

4 files changed

+25
-2
lines changed

CMakeLists.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ OCV_OPTION(BUILD_TIFF "Build libtiff from source" (WIN32
224224
OCV_OPTION(BUILD_JASPER "Build libjasper from source" (WIN32 OR ANDROID OR APPLE OR OPENCV_FORCE_3RDPARTY_BUILD) )
225225
OCV_OPTION(BUILD_JPEG "Build libjpeg from source" (WIN32 OR ANDROID OR APPLE OR OPENCV_FORCE_3RDPARTY_BUILD) )
226226
OCV_OPTION(BUILD_PNG "Build libpng from source" (WIN32 OR ANDROID OR APPLE OR OPENCV_FORCE_3RDPARTY_BUILD) )
227-
OCV_OPTION(BUILD_OPENEXR "Build openexr from source" (((WIN32 OR ANDROID OR APPLE) AND NOT WINRT) OR OPENCV_FORCE_3RDPARTY_BUILD) )
227+
OCV_OPTION(BUILD_OPENEXR "Build openexr from source" (OPENCV_FORCE_3RDPARTY_BUILD) )
228228
OCV_OPTION(BUILD_WEBP "Build WebP from source" (((WIN32 OR ANDROID OR APPLE) AND NOT WINRT) OR OPENCV_FORCE_3RDPARTY_BUILD) )
229229
OCV_OPTION(BUILD_TBB "Download and build TBB from source" (ANDROID OR OPENCV_FORCE_3RDPARTY_BUILD) )
230230
OCV_OPTION(BUILD_IPP_IW "Build IPP IW from source" (NOT MINGW OR OPENCV_FORCE_3RDPARTY_BUILD) IF (X86_64 OR X86) AND NOT WINRT )
@@ -306,7 +306,7 @@ OCV_OPTION(WITH_JPEG "Include JPEG support" ON
306306
OCV_OPTION(WITH_WEBP "Include WebP support" ON
307307
VISIBLE_IF NOT WINRT
308308
VERIFY HAVE_WEBP)
309-
OCV_OPTION(WITH_OPENEXR "Include ILM support via OpenEXR" BUILD_OPENEXR OR NOT CMAKE_CROSSCOMPILING
309+
OCV_OPTION(WITH_OPENEXR "Include ILM support via OpenEXR" ((WIN32 OR ANDROID OR APPLE) OR BUILD_OPENEXR) OR NOT CMAKE_CROSSCOMPILING
310310
VISIBLE_IF NOT APPLE_FRAMEWORK AND NOT WINRT
311311
VERIFY HAVE_OPENEXR)
312312
OCV_OPTION(WITH_OPENGL "Include OpenGL support" OFF

cmake/OpenCVFindLibsGrfmt.cmake

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -242,6 +242,7 @@ if(WITH_OPENEXR)
242242
if(OPENEXR_VERSION) # check via TARGET doesn't work
243243
set(BUILD_OPENEXR ON)
244244
set(HAVE_OPENEXR YES)
245+
set(BUILD_OPENEXR ON)
245246
endif()
246247
endif()
247248
endif()

cmake/OpenCVFindOpenEXR.cmake

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,27 @@
99
# OPENEXR_LIBRARIES = libraries that are needed to use OpenEXR.
1010
#
1111

12+
if(NOT HAVE_CXX11)
13+
message(STATUS "OpenEXR: enable C++11 to use external OpenEXR")
14+
return()
15+
endif()
16+
17+
if(NOT OPENCV_SKIP_OPENEXR_FIND_PACKAGE)
18+
find_package(OpenEXR 3 QUIET)
19+
#ocv_cmake_dump_vars(EXR)
20+
if(OpenEXR_FOUND)
21+
if(TARGET OpenEXR::OpenEXR) # OpenEXR 3+
22+
set(OPENEXR_LIBRARIES OpenEXR::OpenEXR)
23+
set(OPENEXR_INCLUDE_PATHS "")
24+
set(OPENEXR_VERSION "${OpenEXR_VERSION}")
25+
set(OPENEXR_FOUND 1)
26+
return()
27+
else()
28+
message(STATUS "Unsupported find_package(OpenEXR) - missing OpenEXR::OpenEXR target (version ${OpenEXR_VERSION})")
29+
endif()
30+
endif()
31+
endif()
32+
1233
SET(OPENEXR_LIBRARIES "")
1334
SET(OPENEXR_LIBSEARCH_SUFFIXES "")
1435
file(TO_CMAKE_PATH "$ENV{ProgramFiles}" ProgramFiles_ENV_PATH)

modules/imgcodecs/src/grfmt_exr.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
#include <ImfInputFile.h>
5454
#include <ImfChannelList.h>
5555
#include <ImathBox.h>
56+
#include <ImfRgbaFile.h>
5657
#include "grfmt_base.hpp"
5758

5859
namespace cv

0 commit comments

Comments
 (0)
0