FindFreeImage.cmake 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. # Find the FreeImage library.
  2. #
  3. # This module defines
  4. # FREEIMAGE_FOUND - True if FREEIMAGE was found.
  5. # FREEIMAGE_INCLUDE_DIRS - Include directories for FREEIMAGE headers.
  6. # FREEIMAGE_LIBRARIES - Libraries for FREEIMAGE.
  7. #
  8. # To specify an additional directory to search, set FREEIMAGE_ROOT.
  9. #
  10. # Copyright (c) 2010, Ewen Cheslack-Postava
  11. # Based on FindSQLite3.cmake by:
  12. # Copyright (c) 2006, Jaroslaw Staniek, <js@iidea.pl>
  13. # Extended by Siddhartha Chaudhuri, 2008.
  14. #
  15. # Redistribution and use is allowed according to the terms of the BSD license.
  16. #
  17. SET(FREEIMAGE_FOUND FALSE)
  18. SET(FREEIMAGE_INCLUDE_DIRS)
  19. SET(FREEIMAGE_LIBRARIES)
  20. SET(SEARCH_PATHS
  21. $ENV{ProgramFiles}/freeimage/include
  22. $ENV{SystemDrive}/freeimage/include
  23. $ENV{ProgramFiles}/freeimage
  24. $ENV{SystemDrive}/freeimage
  25. )
  26. IF(FREEIMAGE_ROOT)
  27. SET(SEARCH_PATHS
  28. ${FREEIMAGE_ROOT}
  29. ${FREEIMAGE_ROOT}/include
  30. ${SEARCH_PATHS}
  31. )
  32. ENDIF()
  33. FIND_PATH(FREEIMAGE_INCLUDE_DIRS
  34. NAMES FreeImage.h
  35. PATHS ${SEARCH_PATHS}
  36. NO_DEFAULT_PATH)
  37. IF(NOT FREEIMAGE_INCLUDE_DIRS) # now look in system locations
  38. FIND_PATH(FREEIMAGE_INCLUDE_DIRS NAMES FreeImage.h)
  39. ENDIF(NOT FREEIMAGE_INCLUDE_DIRS)
  40. SET(FREEIMAGE_LIBRARY_DIRS)
  41. IF(FREEIMAGE_ROOT)
  42. SET(FREEIMAGE_LIBRARY_DIRS ${FREEIMAGE_ROOT})
  43. IF(EXISTS "${FREEIMAGE_ROOT}/lib")
  44. SET(FREEIMAGE_LIBRARY_DIRS ${FREEIMAGE_LIBRARY_DIRS} ${FREEIMAGE_ROOT}/lib)
  45. ENDIF()
  46. IF(EXISTS "${FREEIMAGE_ROOT}/lib/static")
  47. SET(FREEIMAGE_LIBRARY_DIRS ${FREEIMAGE_LIBRARY_DIRS} ${FREEIMAGE_ROOT}/lib/static)
  48. ENDIF()
  49. ENDIF()
  50. # FREEIMAGE
  51. # Without system dirs
  52. FIND_LIBRARY(FREEIMAGE_LIBRARY
  53. NAMES freeimage
  54. PATHS ${FREEIMAGE_LIBRARY_DIRS}
  55. NO_DEFAULT_PATH
  56. )
  57. IF(NOT FREEIMAGE_LIBRARY) # now look in system locations
  58. FIND_LIBRARY(FREEIMAGE_LIBRARY NAMES freeimage)
  59. ENDIF(NOT FREEIMAGE_LIBRARY)
  60. SET(FREEIMAGE_LIBRARIES)
  61. IF(FREEIMAGE_LIBRARY)
  62. SET(FREEIMAGE_LIBRARIES ${FREEIMAGE_LIBRARY})
  63. ENDIF()
  64. IF(FREEIMAGE_INCLUDE_DIRS AND FREEIMAGE_LIBRARIES)
  65. SET(FREEIMAGE_FOUND TRUE)
  66. IF(NOT FREEIMAGE_FIND_QUIETLY)
  67. MESSAGE(STATUS "Found FreeImage: headers at ${FREEIMAGE_INCLUDE_DIRS}, libraries at ${FREEIMAGE_LIBRARY_DIRS} :: ${FREEIMAGE_LIBRARIES}")
  68. ENDIF(NOT FREEIMAGE_FIND_QUIETLY)
  69. ELSE(FREEIMAGE_INCLUDE_DIRS AND FREEIMAGE_LIBRARIES)
  70. SET(FREEIMAGE_FOUND FALSE)
  71. IF(FREEIMAGE_FIND_REQUIRED)
  72. MESSAGE(STATUS "FreeImage not found")
  73. ENDIF(FREEIMAGE_FIND_REQUIRED)
  74. ENDIF(FREEIMAGE_INCLUDE_DIRS AND FREEIMAGE_LIBRARIES)
  75. MARK_AS_ADVANCED(FREEIMAGE_INCLUDE_DIRS FREEIMAGE_LIBRARIES)