FindLibavcodec.cmake 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # Once done these will be defined:
  2. #
  3. # LIBAVCODEC_FOUND
  4. # LIBAVCODEC_INCLUDE_DIRS
  5. # LIBAVCODEC_LIBRARIES
  6. #
  7. # For use in OBS:
  8. #
  9. # FFMPEG_INCLUDE_DIR
  10. #
  11. if(LIBAVCODEC_INCLUDE_DIRS AND LIBAVCODEC_LIBRARIES)
  12. set(LIBAVCODEC_FOUND TRUE)
  13. else()
  14. find_package(PkgConfig QUIET)
  15. if (PKG_CONFIG_FOUND)
  16. pkg_check_modules(_AVCODEC QUIET libavcodec)
  17. endif()
  18. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  19. set(_lib_suffix 64)
  20. else()
  21. set(_lib_suffix 32)
  22. endif()
  23. find_path(FFMPEG_INCLUDE_DIR
  24. NAMES libavcodec/avcodec.h
  25. HINTS
  26. "${CMAKE_SOURCE_DIR}/additional_install_files/include"
  27. "$ENV{obsAdditionalInstallFiles}/include"
  28. ENV FFmpegPath
  29. "${_AVCODEC_INCLUDE_DIRS}"
  30. /usr/include /usr/local/include /opt/local/include /sw/include
  31. PATH_SUFFIXES ffmpeg libav)
  32. find_library(AVCODEC_LIB
  33. NAMES avcodec
  34. HINTS
  35. "${FFMPEG_INCLUDE_DIR}/../lib"
  36. "${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
  37. "${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
  38. "${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
  39. "${_AVCODEC_LIBRARY_DIRS}"
  40. /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
  41. set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavcodec include dir")
  42. set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB} CACHE STRING "Libavcodec libraries")
  43. find_package_handle_standard_args(Libavcodec DEFAULT_MSG AVCODEC_LIB FFMPEG_INCLUDE_DIR)
  44. mark_as_advanced(FFMPEG_INCLUDE_DIR AVCODEC_LIB)
  45. endif()