FindOpenImageIO.cmake 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. # - Find OpenImageIO library
  2. # Find the native OpenImageIO includes and library
  3. # This module defines
  4. # OPENIMAGEIO_INCLUDE_DIRS, where to find openimageio.h, Set when
  5. # OPENIMAGEIO_INCLUDE_DIR is found.
  6. # OPENIMAGEIO_LIBRARIES, libraries to link against to use OpenImageIO.
  7. # OPENIMAGEIO_ROOT_DIR, The base directory to search for OpenImageIO.
  8. # This can also be an environment variable.
  9. # OPENIMAGEIO_FOUND, If false, do not try to use OpenImageIO.
  10. # OPENIMAGEIO_PUGIXML_FOUND, Indicates whether OIIO has biltin PuguXML parser.
  11. # OPENIMAGEIO_IDIFF, full path to idiff application if found.
  12. #
  13. # also defined, but not for general use are
  14. # OPENIMAGEIO_LIBRARY, where to find the OpenImageIO library.
  15. #=============================================================================
  16. # Copyright 2011 Blender Foundation.
  17. #
  18. # Distributed under the OSI-approved BSD License (the "License");
  19. # see accompanying file Copyright.txt for details.
  20. #
  21. # This software is distributed WITHOUT ANY WARRANTY; without even the
  22. # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  23. # See the License for more information.
  24. #=============================================================================
  25. # If OPENIMAGEIO_ROOT_DIR was defined in the environment, use it.
  26. IF(NOT OPENIMAGEIO_ROOT_DIR AND NOT $ENV{OPENIMAGEIO_ROOT_DIR} STREQUAL "")
  27. SET(OPENIMAGEIO_ROOT_DIR $ENV{OPENIMAGEIO_ROOT_DIR})
  28. ENDIF()
  29. SET(_openimageio_SEARCH_DIRS
  30. ${OPENIMAGEIO_ROOT_DIR}
  31. /usr/local
  32. /sw # Fink
  33. /opt/local # DarwinPorts
  34. /opt/lib/oiio
  35. )
  36. FIND_PATH(OPENIMAGEIO_INCLUDE_DIR
  37. NAMES
  38. OpenImageIO/imageio.h
  39. HINTS
  40. ${_openimageio_SEARCH_DIRS}
  41. PATH_SUFFIXES
  42. include
  43. )
  44. FIND_LIBRARY(OPENIMAGEIO_LIBRARY
  45. NAMES
  46. OpenImageIO
  47. HINTS
  48. ${_openimageio_SEARCH_DIRS}
  49. PATH_SUFFIXES
  50. lib64 lib
  51. )
  52. FIND_FILE(OPENIMAGEIO_IDIFF
  53. NAMES
  54. idiff
  55. HINTS
  56. ${_openimageio_SEARCH_DIRS}
  57. PATH_SUFFIXES
  58. bin
  59. )
  60. # handle the QUIETLY and REQUIRED arguments and set OPENIMAGEIO_FOUND to TRUE if
  61. # all listed variables are TRUE
  62. INCLUDE(FindPackageHandleStandardArgs)
  63. FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenImageIO DEFAULT_MSG
  64. OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR)
  65. IF(OPENIMAGEIO_FOUND)
  66. SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY})
  67. SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
  68. IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp)
  69. SET(OPENIMAGEIO_PUGIXML_FOUND TRUE)
  70. ELSE()
  71. SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
  72. ENDIF()
  73. ELSE()
  74. SET(OPENIMAGEIO_PUGIXML_FOUND FALSE)
  75. ENDIF()
  76. MARK_AS_ADVANCED(
  77. OPENIMAGEIO_INCLUDE_DIR
  78. OPENIMAGEIO_LIBRARY
  79. OPENIMAGEIO_IDIFF
  80. )
  81. UNSET(_openimageio_SEARCH_DIRS)