FindFFMPEG.cmake 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. # Filename: FindFFMPEG.cmake
  2. # Author: CFSworks (10 Apr, 2014)
  3. #
  4. # Usage:
  5. # find_package(FFMPEG [REQUIRED] [QUIET])
  6. #
  7. # Once done this will define:
  8. # FFMPEG_FOUND - system has ffmpeg
  9. # FFMPEG_INCLUDE_DIR - the ffmpeg include directory
  10. # FFMPEG_LIBRARIES - the path to the library binary
  11. #
  12. # FFMPEG_LIBAVCODEC - the path to the libavcodec library binary
  13. # FFMPEG_LIBAVFORMAT - the path to the libavformat library binary
  14. # FFMPEG_LIBAVUTIL - the path to the libavutil library binary
  15. #
  16. if(NOT FFMPEG_INCLUDE_DIR OR NOT FFMPEG_LIBRARY_DIR)
  17. # Find the libffmpeg include files
  18. find_path(FFMPEG_INCLUDE_DIR
  19. NAMES "libavcodec/avcodec.h"
  20. PATHS "/usr/include"
  21. "/usr/local/include"
  22. "/sw/include"
  23. "/opt/include"
  24. "/opt/local/include"
  25. "/opt/csw/include"
  26. PATH_SUFFIXES "libav" "ffmpeg"
  27. )
  28. # Find the libavcodec library
  29. find_library(FFMPEG_LIBAVCODEC
  30. NAMES "avcodec"
  31. PATHS "/usr"
  32. "/usr/local"
  33. "/usr/freeware"
  34. "/sw"
  35. "/opt"
  36. "/opt/csw"
  37. PATH_SUFFIXES "lib" "lib32" "lib64"
  38. )
  39. # Find the libavformat library
  40. find_library(FFMPEG_LIBAVFORMAT
  41. NAMES "avformat"
  42. PATHS "/usr"
  43. "/usr/local"
  44. "/usr/freeware"
  45. "/sw"
  46. "/opt"
  47. "/opt/csw"
  48. PATH_SUFFIXES "lib" "lib32" "lib64"
  49. )
  50. # Find the libavutil library
  51. find_library(FFMPEG_LIBAVUTIL
  52. NAMES "avutil"
  53. PATHS "/usr"
  54. "/usr/local"
  55. "/usr/freeware"
  56. "/sw"
  57. "/opt"
  58. "/opt/csw"
  59. PATH_SUFFIXES "lib" "lib32" "lib64"
  60. )
  61. mark_as_advanced(FFMPEG_INCLUDE_DIR)
  62. mark_as_advanced(FFMPEG_LIBAVCODEC)
  63. mark_as_advanced(FFMPEG_LIBAVFORMAT)
  64. mark_as_advanced(FFMPEG_LIBAVUTIL)
  65. endif()
  66. # Translate library into library directory
  67. if(FFMPEG_LIBAVCODEC)
  68. unset(FFMPEG_LIBRARY_DIR CACHE)
  69. get_filename_component(FFMPEG_LIBRARY_DIR "${FFMPEG_LIBAVCODEC}" PATH)
  70. set(FFMPEG_LIBRARY_DIR "${FFMPEG_LIBRARY_DIR}" CACHE PATH "The path to libffmpeg's library directory.") # Library path
  71. endif()
  72. set(FFMPEG_LIBRARIES)
  73. if(FFMPEG_LIBAVCODEC)
  74. list(APPEND FFMPEG_LIBRARIES "${FFMPEG_LIBAVCODEC}")
  75. endif()
  76. if(FFMPEG_LIBAVFORMAT)
  77. list(APPEND FFMPEG_LIBRARIES "${FFMPEG_LIBAVFORMAT}")
  78. endif()
  79. if(FFMPEG_LIBAVUTIL)
  80. list(APPEND FFMPEG_LIBRARIES "${FFMPEG_LIBAVUTIL}")
  81. endif()
  82. mark_as_advanced(FFMPEG_LIBRARY_DIR)
  83. include(FindPackageHandleStandardArgs)
  84. find_package_handle_standard_args(FFMPEG DEFAULT_MSG FFMPEG_LIBRARIES FFMPEG_LIBAVCODEC FFMPEG_LIBAVFORMAT FFMPEG_LIBAVUTIL FFMPEG_INCLUDE_DIR FFMPEG_LIBRARY_DIR)