diff --git a/source/MaterialXRender/CMakeLists.txt b/source/MaterialXRender/CMakeLists.txt index 52d07e688e..f87c2c8bce 100644 --- a/source/MaterialXRender/CMakeLists.txt +++ b/source/MaterialXRender/CMakeLists.txt @@ -38,17 +38,10 @@ target_link_libraries( if(MATERIALX_BUILD_OIIO) set(OPENIMAGEIO_ROOT_DIR ${MATERIALX_OIIO_DIR}) list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/External/OpenImageIO") - find_package(OpenImageIO REQUIRED) - if(OPENIMAGEIO_FOUND) - include_directories(${OPENIMAGEIO_INCLUDE_DIR}) - target_link_libraries(${MATERIALX_MODULE_NAME} ${OPENIMAGEIO_LIBRARIES}) - # Also needed by MaterialXTest: - set(OPENIMAGEIO_FOUND "${OPENIMAGEIO_FOUND}" PARENT_SCOPE) - set(OPENIMAGEIO_INCLUDE_DIR "${OPENIMAGEIO_INCLUDE_DIR}" PARENT_SCOPE) - set(OPENIMAGEIO_LIBRARIES "${OPENIMAGEIO_LIBRARIES}" PARENT_SCOPE) - set(OPENIMAGEIO_LIBRARY_DIRS "${OPENIMAGEIO_LIBRARY_DIRS}" PARENT_SCOPE) - set(OPENIMAGEIO_ROOT_DIR "${OPENIMAGEIO_ROOT_DIR}" PARENT_SCOPE) - endif() + find_package(OpenImageIO CONFIG REQUIRED) + target_link_libraries(${MATERIALX_MODULE_NAME} OpenImageIO::OpenImageIO OpenImageIO::OpenImageIO_Util) + # Also needed by MaterialXView: + set(OPENIMAGEIO_ROOT_DIR "${OpenImageIO_INCLUDE_DIR}/../" PARENT_SCOPE) endif() set_target_properties( diff --git a/source/MaterialXRender/External/OpenImageIO/FindOpenImageIO.cmake b/source/MaterialXRender/External/OpenImageIO/FindOpenImageIO.cmake deleted file mode 100644 index 6c1b1682d6..0000000000 --- a/source/MaterialXRender/External/OpenImageIO/FindOpenImageIO.cmake +++ /dev/null @@ -1,102 +0,0 @@ -########################################################################### -# OpenImageIO https://www.openimageio.org -# Copyright 2008-2018 Larry Gritz et al. All rights reserved. -# BSD 3-clause license: -# https://github.com/OpenImageIO/oiio/blob/master/LICENSE -# For an up-to-date version of this file, see: -# https://github.com/OpenImageIO/oiio/blob/master/src/cmake/Modules/FindOpenImageIO.cmake -# -########################################################################### -# -# CMake module to find OpenImageIO -# -# This module will set -# OPENIMAGEIO_FOUND True, if found -# OPENIMAGEIO_INCLUDE_DIR directory where headers are found -# OPENIMAGEIO_LIBRARIES libraries for OIIO -# OPENIMAGEIO_LIBRARY_DIRS library dirs for OIIO -# OPENIMAGEIO_VERSION Version ("major.minor.patch") -# OPENIMAGEIO_VERSION_MAJOR Version major number -# OPENIMAGEIO_VERSION_MINOR Version minor number -# OPENIMAGEIO_VERSION_PATCH Version minor patch -# OIIOTOOL_BIN Path to oiiotool executable -# -# Special inputs: -# OPENIMAGEIO_ROOT_DIR - custom "prefix" location of OIIO installation -# (expecting bin, lib, include subdirectories) -# OpenImageIO_FIND_QUIETLY - if set, print minimal console output -# OIIO_LIBNAME_SUFFIX - if set, optional nonstandard library suffix -# -########################################################################### - - -# If 'OPENIMAGE_HOME' not set, use the env variable of that name if available -if (NOT OPENIMAGEIO_ROOT_DIR AND NOT $ENV{OPENIMAGEIO_ROOT_DIR} STREQUAL "") - set (OPENIMAGEIO_ROOT_DIR $ENV{OPENIMAGEIO_ROOT_DIR}) -endif () - - -if (NOT OpenImageIO_FIND_QUIETLY) - message ( STATUS "OPENIMAGEIO_ROOT_DIR = ${OPENIMAGEIO_ROOT_DIR}" ) -endif () - -find_library ( OPENIMAGEIO_LIBRARY - NAMES OpenImageIO${OIIO_LIBNAME_SUFFIX} - HINTS ${OPENIMAGEIO_ROOT_DIR}/lib - PATH_SUFFIXES lib64 lib - PATHS "${OPENIMAGEIO_ROOT_DIR}/lib" ) - -find_library ( OPENIMAGEIO_UTIL_LIBRARY - NAMES OpenImageIO_Util${OIIO_LIBNAME_SUFFIX} - HINTS ${OPENIMAGEIO_ROOT_DIR}/lib - PATH_SUFFIXES lib64 lib - PATHS "${OPENIMAGEIO_ROOT_DIR}/lib" ) - -find_path ( OPENIMAGEIO_INCLUDE_DIR - NAMES OpenImageIO/imageio.h - HINTS ${OPENIMAGEIO_ROOT_DIR}/include - PATH_SUFFIXES include ) -find_program ( OIIOTOOL_BIN - NAMES oiiotool oiiotool.exe - HINTS ${OPENIMAGEIO_ROOT_DIR}/bin - PATH_SUFFIXES bin ) - -# Try to figure out version number -set (OIIO_VERSION_HEADER "${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/oiioversion.h") -if (EXISTS "${OIIO_VERSION_HEADER}") - file (STRINGS "${OIIO_VERSION_HEADER}" TMP REGEX "^#define OIIO_VERSION_MAJOR .*$") - string (REGEX MATCHALL "[0-9]+" OPENIMAGEIO_VERSION_MAJOR ${TMP}) - file (STRINGS "${OIIO_VERSION_HEADER}" TMP REGEX "^#define OIIO_VERSION_MINOR .*$") - string (REGEX MATCHALL "[0-9]+" OPENIMAGEIO_VERSION_MINOR ${TMP}) - file (STRINGS "${OIIO_VERSION_HEADER}" TMP REGEX "^#define OIIO_VERSION_PATCH .*$") - string (REGEX MATCHALL "[0-9]+" OPENIMAGEIO_VERSION_PATCH ${TMP}) - set (OPENIMAGEIO_VERSION "${OPENIMAGEIO_VERSION_MAJOR}.${OPENIMAGEIO_VERSION_MINOR}.${OPENIMAGEIO_VERSION_PATCH}") -endif () - -set ( OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY} ${OPENIMAGEIO_UTIL_LIBRARY}) -get_filename_component (OPENIMAGEIO_LIBRARY_DIRS "${OPENIMAGEIO_LIBRARY}" DIRECTORY CACHE) - -if (NOT OpenImageIO_FIND_QUIETLY) - message ( STATUS "OpenImageIO includes = ${OPENIMAGEIO_INCLUDE_DIR}" ) - message ( STATUS "OpenImageIO libraries = ${OPENIMAGEIO_LIBRARIES}" ) - message ( STATUS "OpenImageIO library_dirs = ${OPENIMAGEIO_LIBRARY_DIRS}" ) - message ( STATUS "OpenImageIO oiiiotool = ${OIIOTOOL_BIN}" ) -endif () - -include (FindPackageHandleStandardArgs) -find_package_handle_standard_args (OpenImageIO - FOUND_VAR OPENIMAGEIO_FOUND - REQUIRED_VARS OPENIMAGEIO_INCLUDE_DIR OPENIMAGEIO_LIBRARIES - OPENIMAGEIO_LIBRARY_DIRS OPENIMAGEIO_VERSION - VERSION_VAR OPENIMAGEIO_VERSION - ) - -mark_as_advanced ( - OPENIMAGEIO_INCLUDE_DIR - OPENIMAGEIO_LIBRARIES - OPENIMAGEIO_LIBRARY_DIRS - OPENIMAGEIO_VERSION - OPENIMAGEIO_VERSION_MAJOR - OPENIMAGEIO_VERSION_MINOR - OPENIMAGEIO_VERSION_PATCH - ) diff --git a/source/MaterialXRender/OiioImageLoader.cpp b/source/MaterialXRender/OiioImageLoader.cpp index 703d81cd79..ee03b23eb5 100644 --- a/source/MaterialXRender/OiioImageLoader.cpp +++ b/source/MaterialXRender/OiioImageLoader.cpp @@ -118,7 +118,7 @@ ImagePtr OiioImageLoader::loadImage(const FilePath& filePath) ImagePtr image = Image::create(imageSpec.width, imageSpec.height, imageSpec.nchannels, baseType); image->createResourceBuffer(); - if (!imageInput->read_image(imageSpec.format, image->getResourceBuffer())) + if (!imageInput->read_image(0, 0, 0, imageSpec.nchannels, imageSpec.format, image->getResourceBuffer())) { image = nullptr; } diff --git a/source/MaterialXTest/CMakeLists.txt b/source/MaterialXTest/CMakeLists.txt index 862a176b50..852aa75241 100644 --- a/source/MaterialXTest/CMakeLists.txt +++ b/source/MaterialXTest/CMakeLists.txt @@ -67,9 +67,6 @@ endif() if(MATERIALX_BUILD_RENDER) add_subdirectory(MaterialXRender) target_link_libraries(MaterialXTest MaterialXRender) - if (MATERIALX_BUILD_OIIO) - target_link_libraries(MaterialXTest ${OPENIMAGEIO_LIBRARIES}) - endif() if(MATERIALX_BUILD_GEN_GLSL) add_subdirectory(MaterialXRenderGlsl) target_link_libraries(MaterialXTest MaterialXRenderGlsl)