Skip to content

Commit

Permalink
Merge commit 'fe863d941e01a1f5ca626617030a5d77a33281d0' into HEAD
Browse files Browse the repository at this point in the history
  • Loading branch information
antond-weta committed Nov 16, 2023
2 parents 7db1f89 + fe863d9 commit 0bbfb48
Showing 1 changed file with 91 additions and 0 deletions.
91 changes: 91 additions & 0 deletions cmake/modules/FindOpenEXR.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
#
# A simple cmake find module for libraw
#

find_package(PkgConfig QUIET)
if(PKG_CONFIG_FOUND)
pkg_check_modules(PC_LIBRAW QUIET libraw)
endif()

if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
# Under Mac OS, if the user has installed using brew, the package config
# information is not entirely accurate in that it refers to the
# true install path but brew maintains links to /usr/local for you
# which they want you to use
if(PC_LIBRAW_FOUND AND "${PC_LIBRAW_INCLUDEDIR}" MATCHES ".*/Cellar/.*")
set(_libraw_HINT_INCLUDE /usr/local/include)
set(_libraw_HINT_LIB /usr/local/lib)
endif()
endif()

if(PC_LIBRAW_FOUND)
set(libraw_CFLAGS ${PC_LIBRAW_CFLAGS_OTHER})
set(libraw_LIBRARY_DIRS ${PC_LIBRAW_LIBRARY_DIRS})
set(libraw_LDFLAGS ${PC_LIBRAW_LDFLAGS_OTHER})
if("${_libraw_HINT_INCLUDE}" STREQUAL "")
set(_libraw_HINT_INCLUDE ${PC_LIBRAW_INCLUDEDIR} ${PC_LIBRAW_INCLUDE_DIRS})
set(_libraw_HINT_LIB ${PC_LIBRAW_LIBDIR} ${PC_LIBRAW_LIBRARY_DIRS})
endif()
else()
if(UNIX)
set(libraw_CFLAGS "-pthread")
if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
else()
set(libraw_LDFLAGS "-pthread")
endif()
endif()
endif()

find_path(libraw_INCLUDE_DIR libraw_version.h
HINTS ${_libraw_HINT_INCLUDE}
PATH_SUFFIXES libraw )
if(libraw_INCLUDE_DIR AND EXISTS "${libraw_INCLUDE_DIR}/libraw_version.h")
set(libraw_VERSION ${PC_LIBRAW_VERSION})

if("${libraw_VERSION}" STREQUAL "")
file(STRINGS "${libraw_INCLUDE_DIR}/libraw_version.h" libraw_version_str
REGEX "^#define[\t ]+LIBRAW_VERSION_STR[\t ]+\".*")

string(REGEX REPLACE "^#define[\t ]+LIBRAW_VERSION[\t ]+\"([^ \\n]*)\".*"
"\\1" libraw_VERSION "${libraw_version_str}")
# message (STATUS "${libraw_version_str}")
unset(libraw_version_str)
endif()
endif()

find_library(RAW_LIBRARY
NAMES raw
HINTS ${_libraw_HINT_LIB}
)

if(RAW_LIBRARY)
set(libraw_LIBRARY ${RAW_LIBRARY})
mark_as_advanced(${RAW_LIBRARY})
endif()

unset(_libraw_HINT_INCLUDE)
unset(_libraw_HINT_LIB)

set( libraw_LIBRARIES ${libraw_LIBRARY} )
set( libraw_INCLUDE_DIRS ${libraw_INCLUDE_DIR} )

if(NOT PC_LIBRAW_FOUND)
get_filename_component(libraw_LDFLAGS_OTHER ${libraw_LIBRARY} PATH)
set(libraw_LDFLAGS_OTHER -L${libraw_LDFLAGS_OTHER})
endif()

include(FindPackageHandleStandardArgs)
# handle the QUIETLY and REQUIRED arguments and set LibRaw_FOUND to TRUE
# if all listed variables are TRUE
find_package_handle_standard_args(libraw
REQUIRED_VARS libraw_LIBRARY libraw_INCLUDE_DIR
VERSION_VAR libraw_VERSION
FAIL_MESSAGE "Unable to find libraw library" )

# older versions of cmake don't support FOUND_VAR to find_package_handle
# so just do it the hard way...
if(LIBRAW_FOUND AND NOT libraw_FOUND)
set(libraw_FOUND 1)
endif()

mark_as_advanced(libraw_INCLUDE_DIR libraw_LIBRARY )

0 comments on commit 0bbfb48

Please sign in to comment.