diff --git a/find-modules/FindOpenEXR.cmake b/find-modules/FindOpenEXR.cmake --- a/find-modules/FindOpenEXR.cmake +++ b/find-modules/FindOpenEXR.cmake @@ -63,6 +63,11 @@ find_package(PkgConfig) pkg_check_modules(PC_OpenEXR QUIET OpenEXR) +# Starting with OpenEXR 2.4, a suffix is appended to the library file name. +if(PC_OpenEXR_FOUND) + pkg_get_variable(PC_OPENEXR_LIBSUFFIX OpenEXR libsuffix) +endif() + set(OpenEXR_DEFINITIONS ${PC_OpenEXR_CFLAGS_OTHER}) find_path(OpenEXR_INCLUDE_DIR ImfRgbaFile.h @@ -73,28 +78,28 @@ ) # Required libraries for OpenEXR -find_library(OpenEXR_HALF_LIBRARY NAMES Half +find_library(OpenEXR_HALF_LIBRARY NAMES Half${PC_OPENEXR_LIBSUFFIX} PATHS ${PC_OpenEXR_LIBDIR} ${PC_OpenEXR_LIBRARY_DIRS} ) -find_library(OpenEXR_IEX_LIBRARY NAMES Iex +find_library(OpenEXR_IEX_LIBRARY NAMES Iex${PC_OPENEXR_LIBSUFFIX} PATHS ${PC_OpenEXR_LIBDIR} ${PC_OpenEXR_LIBRARY_DIRS} ) -find_library(OpenEXR_IMATH_LIBRARY NAMES Imath +find_library(OpenEXR_IMATH_LIBRARY NAMES Imath${PC_OPENEXR_LIBSUFFIX} PATHS ${PC_OpenEXR_LIBDIR} ${PC_OpenEXR_LIBRARY_DIRS} ) -find_library(OpenEXR_ILMTHREAD_LIBRARY NAMES IlmThread +find_library(OpenEXR_ILMTHREAD_LIBRARY NAMES IlmThread${PC_OPENEXR_LIBSUFFIX} PATHS ${PC_OpenEXR_LIBDIR} ${PC_OpenEXR_LIBRARY_DIRS} ) # This is the actual OpenEXR library -find_library(OpenEXR_ILMIMF_LIBRARY NAMES IlmImf +find_library(OpenEXR_ILMIMF_LIBRARY NAMES IlmImf${PC_OPENEXR_LIBSUFFIX} PATHS ${PC_OpenEXR_LIBDIR} ${PC_OpenEXR_LIBRARY_DIRS}