FindOpenEXR.cmake 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. # Filename: FindOpenEXR.cmake
  2. # Authors: CFSworks (5 Nov, 2018)
  3. #
  4. # Usage:
  5. # find_package(OpenEXR [REQUIRED] [QUIET])
  6. #
  7. # Once done this will define:
  8. # OPENEXR_FOUND - system has OpenEXR
  9. # OPENEXR_INCLUDE_DIR - the include directory containing OpenEXR header files
  10. # OPENEXR_LIBRARIES - the path to the OpenEXR libraries
  11. #
  12. find_path(OPENEXR_INCLUDE_DIR
  13. "ImfVersion.h"
  14. PATH_SUFFIXES "OpenEXR")
  15. mark_as_advanced(OPENEXR_INCLUDE_DIR)
  16. find_library(OPENEXR_imf_LIBRARY
  17. NAMES "IlmImf")
  18. if(OPENEXR_imf_LIBRARY)
  19. get_filename_component(_imf_dir "${OPENEXR_imf_LIBRARY}" DIRECTORY)
  20. find_library(OPENEXR_imfutil_LIBRARY
  21. NAMES "IlmImfUtil"
  22. PATHS "${_imf_dir}"
  23. NO_DEFAULT_PATH)
  24. find_library(OPENEXR_ilmthread_LIBRARY
  25. NAMES "IlmThread"
  26. PATHS "${_imf_dir}"
  27. NO_DEFAULT_PATH)
  28. find_library(OPENEXR_iex_LIBRARY
  29. NAMES "Iex"
  30. PATHS "${_imf_dir}"
  31. NO_DEFAULT_PATH)
  32. find_library(OPENEXR_iexmath_LIBRARY
  33. NAMES "IexMath"
  34. PATHS "${_imf_dir}"
  35. NO_DEFAULT_PATH)
  36. find_library(OPENEXR_imath_LIBRARY
  37. NAMES "Imath"
  38. PATHS "${_imf_dir}"
  39. NO_DEFAULT_PATH)
  40. find_library(OPENEXR_half_LIBRARY
  41. NAMES "Half"
  42. PATHS "${_imf_dir}"
  43. NO_DEFAULT_PATH)
  44. unset(_imf_dir)
  45. endif()
  46. mark_as_advanced(
  47. OPENEXR_imf_LIBRARY
  48. OPENEXR_imfutil_LIBRARY
  49. OPENEXR_ilmthread_LIBRARY
  50. OPENEXR_iex_LIBRARY
  51. OPENEXR_iexmath_LIBRARY
  52. OPENEXR_imath_LIBRARY
  53. OPENEXR_half_LIBRARY
  54. )
  55. set(OPENEXR_LIBRARIES
  56. ${OPENEXR_imf_LIBRARY}
  57. ${OPENEXR_imfutil_LIBRARY}
  58. ${OPENEXR_ilmthread_LIBRARY}
  59. ${OPENEXR_iex_LIBRARY}
  60. ${OPENEXR_iexmath_LIBRARY}
  61. ${OPENEXR_imath_LIBRARY}
  62. ${OPENEXR_half_LIBRARY}
  63. )
  64. include(FindPackageHandleStandardArgs)
  65. find_package_handle_standard_args(OpenEXR DEFAULT_MSG
  66. OPENEXR_INCLUDE_DIR OPENEXR_LIBRARIES
  67. OPENEXR_imf_LIBRARY
  68. OPENEXR_imfutil_LIBRARY
  69. OPENEXR_ilmthread_LIBRARY
  70. OPENEXR_iex_LIBRARY
  71. OPENEXR_iexmath_LIBRARY
  72. OPENEXR_imath_LIBRARY
  73. OPENEXR_half_LIBRARY
  74. )