FindLibavcodec.cmake 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. find_package(PkgConfig QUIET)
  11. if (PKG_CONFIG_FOUND)
  12. pkg_check_modules(_AVCODEC QUIET libavcodec)
  13. endif()
  14. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  15. set(_lib_suffix 64)
  16. else()
  17. set(_lib_suffix 32)
  18. endif()
  19. set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
  20. find_path(FFMPEG_INCLUDE_DIR
  21. NAMES libavcodec/avcodec.h
  22. HINTS
  23. ${_AVCODEC_INCLUDE_DIRS}
  24. "${CMAKE_SOURCE_DIR}/additional_install_files/include"
  25. "$ENV{obsAdditionalInstallFiles}/include"
  26. ENV FFmpegPath
  27. ENV ${FFMPEG_PATH_ARCH}
  28. PATHS
  29. /usr/include /usr/local/include /opt/local/include /sw/include
  30. PATH_SUFFIXES ffmpeg libav)
  31. find_library(AVCODEC_LIB
  32. NAMES ${_AVCODEC_LIBRARIES} avcodec-ffmpeg avcodec
  33. HINTS
  34. ${_AVCODEC_LIBRARY_DIRS}
  35. "${FFMPEG_INCLUDE_DIR}/../lib"
  36. "${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
  37. "${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
  38. "${FFMPEG_INCLUDE_DIR}/lib"
  39. "${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
  40. "${FFMPEG_INCLUDE_DIR}/bin"
  41. "${FFMPEG_INCLUDE_DIR}/bin${_lib_suffix}"
  42. "${FFMPEG_INCLUDE_DIR}/../bin"
  43. "${FFMPEG_INCLUDE_DIR}/../bin${_lib_suffix}"
  44. PATHS
  45. /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
  46. include(FindPackageHandleStandardArgs)
  47. find_package_handle_standard_args(Libavcodec DEFAULT_MSG AVCODEC_LIB FFMPEG_INCLUDE_DIR)
  48. mark_as_advanced(FFMPEG_INCLUDE_DIR AVCODEC_LIB)
  49. if(LIBAVCODEC_FOUND)
  50. set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR})
  51. set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB})
  52. endif()