Changeset View
Changeset View
Standalone View
Standalone View
build_files/cmake/Modules/FindOpenImageIO.cmake
| Show All 38 Lines | FIND_LIBRARY(OPENIMAGEIO_LIBRARY | ||||
| NAMES | NAMES | ||||
| OpenImageIO | OpenImageIO | ||||
| HINTS | HINTS | ||||
| ${_openimageio_SEARCH_DIRS} | ${_openimageio_SEARCH_DIRS} | ||||
| PATH_SUFFIXES | PATH_SUFFIXES | ||||
| lib64 lib | lib64 lib | ||||
| ) | ) | ||||
| set(_openimageio_LIBRARIES ${OPENIMAGEIO_LIBRARY}) | |||||
| FIND_FILE(OPENIMAGEIO_IDIFF | FIND_FILE(OPENIMAGEIO_IDIFF | ||||
| NAMES | NAMES | ||||
| idiff | idiff | ||||
| HINTS | HINTS | ||||
| ${_openimageio_SEARCH_DIRS} | ${_openimageio_SEARCH_DIRS} | ||||
| PATH_SUFFIXES | PATH_SUFFIXES | ||||
| bin | bin | ||||
| ) | ) | ||||
| # Additionally find util library if needed. In old versions this library was | |||||
| # included in libOpenImageIO and linking to both would duplicate symbols. In | |||||
| # new versions we need to link to both. | |||||
| FIND_FILE(_openimageio_export | |||||
| NAMES | |||||
| export.h | |||||
| PATHS | |||||
| ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO | |||||
| NO_DEFAULT_PATH | |||||
| ) | |||||
| # Use existence of OIIO_UTIL_API to check if it's a separate lib. | |||||
| FILE(STRINGS "${_openimageio_export}" _openimageio_util_define | |||||
| REGEX "^[ \t]*#[ \t]*define[ \t]+OIIO_UTIL_API.*$") | |||||
| IF(_openimageio_util_define) | |||||
| FIND_LIBRARY(OPENIMAGEIO_UTIL_LIBRARY | |||||
| NAMES | |||||
| OpenImageIO_Util | |||||
| HINTS | |||||
| ${_openimageio_SEARCH_DIRS} | |||||
| PATH_SUFFIXES | |||||
| lib64 lib | |||||
| ) | |||||
| LIST(APPEND _openimageio_LIBRARIES ${OPENIMAGEIO_UTIL_LIBRARY}) | |||||
| ENDIF() | |||||
| # In cmake version 3.21 and up, we can instead use the NO_CACHE option for | |||||
| # FIND_FILE so we don't need to clear it from the cache here. | |||||
| UNSET(_openimageio_export CACHE) | |||||
| UNSET(_openimageio_util_define) | |||||
| # handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if | # handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if | ||||
| # all listed variables are TRUE | # all listed variables are TRUE | ||||
| INCLUDE(FindPackageHandleStandardArgs) | INCLUDE(FindPackageHandleStandardArgs) | ||||
| FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG | FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG | ||||
| OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR) | _openimageio_LIBRARIES OPENIMAGEIO_INCLUDE_DIR) | ||||
| IF(OPENIMAGEIO_FOUND) | IF(OPENIMAGEIO_FOUND) | ||||
| SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY}) | SET(OPENIMAGEIO_LIBRARIES ${_openimageio_LIBRARIES}) | ||||
| SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) | SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR}) | ||||
| IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp) | IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp) | ||||
| SET(OPENIMAGEIO_PUGIXML_FOUND TRUE) | SET(OPENIMAGEIO_PUGIXML_FOUND TRUE) | ||||
| ELSE() | ELSE() | ||||
| SET(OPENIMAGEIO_PUGIXML_FOUND FALSE) | SET(OPENIMAGEIO_PUGIXML_FOUND FALSE) | ||||
| ENDIF() | ENDIF() | ||||
| ELSE() | ELSE() | ||||
| SET(OPENIMAGEIO_PUGIXML_FOUND FALSE) | SET(OPENIMAGEIO_PUGIXML_FOUND FALSE) | ||||
| ENDIF() | ENDIF() | ||||
| MARK_AS_ADVANCED( | MARK_AS_ADVANCED( | ||||
| OPENIMAGEIO_INCLUDE_DIR | OPENIMAGEIO_INCLUDE_DIR | ||||
| OPENIMAGEIO_LIBRARY | OPENIMAGEIO_LIBRARY | ||||
| OPENIMAGEIO_UTIL_LIBRARY | |||||
| OPENIMAGEIO_IDIFF | OPENIMAGEIO_IDIFF | ||||
| ) | ) | ||||
| UNSET(_openimageio_SEARCH_DIRS) | UNSET(_openimageio_SEARCH_DIRS) | ||||
| UNSET(_openimageio_LIBRARIES) | |||||