File: OpenCVFindOpenEXR.cmake

package info (click to toggle)
opencv 3.2.0%2Bdfsg-6
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 238,480 kB
  • sloc: xml: 901,650; cpp: 703,419; lisp: 20,142; java: 17,843; python: 17,641; ansic: 603; cs: 601; sh: 516; perl: 494; makefile: 117
file content (108 lines) | stat: -rw-r--r-- 3,387 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# The script is taken from http://code.google.com/p/nvidia-texture-tools/

#
# Try to find OpenEXR's libraries, and include path.
# Once done this will define:
#
# OPENEXR_FOUND = OpenEXR found.
# OPENEXR_INCLUDE_PATHS = OpenEXR include directories.
# OPENEXR_LIBRARIES = libraries that are needed to use OpenEXR.
#

SET(OPENEXR_LIBRARIES "")
SET(OPENEXR_LIBSEARCH_SUFFIXES "")
file(TO_CMAKE_PATH "$ENV{ProgramFiles}" ProgramFiles_ENV_PATH)

if(WIN32)
    SET(OPENEXR_ROOT "C:/Deploy" CACHE STRING "Path to the OpenEXR \"Deploy\" folder")
    if(CMAKE_CL_64)
        SET(OPENEXR_LIBSEARCH_SUFFIXES x64/Release x64 x64/Debug)
    elseif(MSVC)
        SET(OPENEXR_LIBSEARCH_SUFFIXES Win32/Release Win32 Win32/Debug)
    endif()
else()
    set(OPENEXR_ROOT "")
endif()

SET(LIBRARY_PATHS
    /usr/lib
    /usr/local/lib
    /sw/lib
    /opt/local/lib
    "${ProgramFiles_ENV_PATH}/OpenEXR/lib/static"
    "${OPENEXR_ROOT}/lib")

FIND_PATH(OPENEXR_INCLUDE_PATH ImfRgbaFile.h
    PATH_SUFFIXES OpenEXR
    PATHS
    /usr/include
    /usr/local/include
    /sw/include
    /opt/local/include
    "${ProgramFiles_ENV_PATH}/OpenEXR/include"
    "${OPENEXR_ROOT}/include")

FIND_LIBRARY(OPENEXR_HALF_LIBRARY
    NAMES Half
    PATH_SUFFIXES ${OPENEXR_LIBSEARCH_SUFFIXES}
    PATHS ${LIBRARY_PATHS})

FIND_LIBRARY(OPENEXR_IEX_LIBRARY
    NAMES Iex
    PATH_SUFFIXES ${OPENEXR_LIBSEARCH_SUFFIXES}
    PATHS ${LIBRARY_PATHS})

FIND_LIBRARY(OPENEXR_IMATH_LIBRARY
    NAMES Imath
    PATH_SUFFIXES ${OPENEXR_LIBSEARCH_SUFFIXES}
    PATHS ${LIBRARY_PATHS})

FIND_LIBRARY(OPENEXR_ILMIMF_LIBRARY
    NAMES IlmImf
    PATH_SUFFIXES ${OPENEXR_LIBSEARCH_SUFFIXES}
    PATHS ${LIBRARY_PATHS})

FIND_LIBRARY(OPENEXR_ILMTHREAD_LIBRARY
    NAMES IlmThread
    PATH_SUFFIXES ${OPENEXR_LIBSEARCH_SUFFIXES}
    PATHS ${LIBRARY_PATHS})

IF (OPENEXR_INCLUDE_PATH AND OPENEXR_IMATH_LIBRARY AND OPENEXR_ILMIMF_LIBRARY AND OPENEXR_IEX_LIBRARY AND OPENEXR_HALF_LIBRARY)
    SET(OPENEXR_FOUND TRUE)
    SET(OPENEXR_INCLUDE_PATHS ${OPENEXR_INCLUDE_PATH} CACHE PATH "The include paths needed to use OpenEXR")
    SET(OPENEXR_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} ${OPENEXR_ILMTHREAD_LIBRARY} CACHE STRING "The libraries needed to use OpenEXR" FORCE)
ENDIF ()

IF(OPENEXR_FOUND)
  IF(NOT OPENEXR_FIND_QUIETLY)
    MESSAGE(STATUS "Found OpenEXR: ${OPENEXR_ILMIMF_LIBRARY}")
  ENDIF()
  if(PKG_CONFIG_FOUND AND NOT OPENEXR_VERSION)
    get_filename_component(OPENEXR_LIB_PATH "${OPENEXR_ILMIMF_LIBRARY}" PATH)
    if(EXISTS "${OPENEXR_LIB_PATH}/pkgconfig/OpenEXR.pc")
      execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} --modversion "${OPENEXR_LIB_PATH}/pkgconfig/OpenEXR.pc"
                      RESULT_VARIABLE PKG_CONFIG_PROCESS
                      OUTPUT_VARIABLE OPENEXR_VERSION
                      OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_QUIET)
      if(NOT PKG_CONFIG_PROCESS EQUAL 0)
        SET(OPENEXR_VERSION "Unknown")
      endif()
    endif()
  endif()
  if(NOT OPENEXR_VERSION)
    SET(OPENEXR_VERSION "Unknown")
  endif()
ELSE()
  IF(OPENEXR_FIND_REQUIRED)
    MESSAGE(FATAL_ERROR "Could not find OpenEXR library")
  ENDIF()
ENDIF()

MARK_AS_ADVANCED(
    OPENEXR_INCLUDE_PATHS
    OPENEXR_LIBRARIES
    OPENEXR_ILMIMF_LIBRARY
    OPENEXR_IMATH_LIBRARY
    OPENEXR_IEX_LIBRARY
    OPENEXR_HALF_LIBRARY
    OPENEXR_ILMTHREAD_LIBRARY)