#1568 support of building with OpenEXR on Windows
authorAndrey Kamaev <no@email>
Mon, 27 Feb 2012 06:23:14 +0000 (06:23 +0000)
committerAndrey Kamaev <no@email>
Mon, 27 Feb 2012 06:23:14 +0000 (06:23 +0000)
cmake/OpenCVFindOpenEXR.cmake
cmake/OpenCVIOLibs.cmake

index ad93d6d..9ce4872 100644 (file)
@@ -9,42 +9,68 @@
 # OPENEXR_LIBRARIES = libraries that are needed to use OpenEXR.
 #
 
-SET(OPENEXR_LIBRARIES)
+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
-    $ENV{PROGRAM_FILES}/OpenEXR/lib/static)
+    "${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)
+    /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 STRING "The include paths needed to use OpenEXR")
-    SET(OPENEXR_LIBRARIES ${OPENEXR_IMATH_LIBRARY} ${OPENEXR_ILMIMF_LIBRARY} ${OPENEXR_IEX_LIBRARY} ${OPENEXR_HALF_LIBRARY} CACHE STRING "The libraries needed to use OpenEXR")
+    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)
@@ -58,8 +84,10 @@ ELSE()
 ENDIF()
 
 MARK_AS_ADVANCED(
-    OPENEXR_INCLUDE_PATHS
-    OPENEXR_ILMIMF_LIBRARY
-    OPENEXR_IMATH_LIBRARY
-    OPENEXR_IEX_LIBRARY
-    OPENEXR_HALF_LIBRARY)
+       OPENEXR_INCLUDE_PATHS
+       OPENEXR_LIBRARIES
+       OPENEXR_ILMIMF_LIBRARY
+       OPENEXR_IMATH_LIBRARY
+       OPENEXR_IEX_LIBRARY
+       OPENEXR_HALF_LIBRARY
+    OPENEXR_ILMTHREAD_LIBRARY)
\ No newline at end of file
index 913291c..644c7e8 100644 (file)
@@ -90,5 +90,5 @@ endif()
 
 ################### OpenEXR - optional
 if(WITH_OPENEXR)
-  include(cmake/OpenCVFindOpenEXR.cmake)
+  include("${OpenCV_SOURCE_DIR}/cmake/OpenCVFindOpenEXR.cmake")
 endif()