FindTurboJPEG.cmake 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. # FindTurboJPEG.cmake
  2. # Uses environment variable TurboJPEG_ROOT as backup
  3. # - TurboJPEG_FOUND
  4. # - TurboJPEG_INCLUDE_DIRS
  5. # - TurboJPEG_LIBRARIES
  6. FIND_PATH(TurboJPEG_INCLUDE_DIRS
  7. turbojpeg.h
  8. DOC "Found TurboJPEG include directory"
  9. PATHS
  10. "${DEPENDS_DIR}/libjpeg_turbo"
  11. "${DEPENDS_DIR}/libjpeg-turbo64"
  12. "/usr/local/opt/jpeg-turbo" # homebrew
  13. "/opt/local" # macports
  14. "C:/libjpeg-turbo64"
  15. "/opt/libjpeg-turbo"
  16. ENV TurboJPEG_ROOT
  17. PATH_SUFFIXES
  18. include
  19. )
  20. #Library names:
  21. # debian sid,strech: libturbojpeg0
  22. # debian/ubuntu else: libturbojpeg1-dev #provided by libjpeg-turbo8-dev (ubuntu)
  23. FIND_LIBRARY(TurboJPEG_LIBRARIES
  24. NAMES libturbojpeg.so.1 libturbojpeg.so.0 turbojpeg
  25. DOC "Found TurboJPEG library path"
  26. PATHS
  27. "${DEPENDS_DIR}/libjpeg_turbo"
  28. "${DEPENDS_DIR}/libjpeg-turbo64"
  29. "/usr/local/opt/jpeg-turbo" # homebrew
  30. "/opt/local" # macports
  31. "C:/libjpeg-turbo64"
  32. "/opt/libjpeg-turbo"
  33. ENV TurboJPEG_ROOT
  34. PATH_SUFFIXES
  35. lib
  36. lib64
  37. )
  38. IF(WIN32)
  39. FIND_FILE(TurboJPEG_DLL
  40. turbojpeg.dll
  41. DOC "Found TurboJPEG DLL path"
  42. PATHS
  43. "${DEPENDS_DIR}/libjpeg_turbo"
  44. "${DEPENDS_DIR}/libjpeg-turbo64"
  45. "C:/libjpeg-turbo64"
  46. ENV TurboJPEG_ROOT
  47. PATH_SUFFIXES
  48. bin
  49. )
  50. ENDIF()
  51. IF(TurboJPEG_INCLUDE_DIRS AND TurboJPEG_LIBRARIES)
  52. INCLUDE(CheckCSourceCompiles)
  53. set(CMAKE_REQUIRED_INCLUDES ${TurboJPEG_INCLUDE_DIRS})
  54. set(CMAKE_REQUIRED_LIBRARIES ${TurboJPEG_LIBRARIES})
  55. check_c_source_compiles("#include <turbojpeg.h>\nint main(void) { tjhandle h=tjInitCompress(); return 0; }" TURBOJPEG_WORKS)
  56. set(CMAKE_REQUIRED_DEFINITIONS)
  57. set(CMAKE_REQUIRED_INCLUDES)
  58. set(CMAKE_REQUIRED_LIBRARIES)
  59. ENDIF()
  60. INCLUDE(FindPackageHandleStandardArgs)
  61. FIND_PACKAGE_HANDLE_STANDARD_ARGS(TurboJPEG FOUND_VAR TurboJPEG_FOUND
  62. REQUIRED_VARS TurboJPEG_LIBRARIES TurboJPEG_INCLUDE_DIRS TURBOJPEG_WORKS)