FindLibavcodec.cmake 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
  24. find_path(FFMPEG_INCLUDE_DIR
  25. NAMES libavcodec/avcodec.h
  26. HINTS
  27. "${CMAKE_SOURCE_DIR}/additional_install_files/include"
  28. "$ENV{obsAdditionalInstallFiles}/include"
  29. ENV FFmpegPath
  30. ENV ${FFMPEG_PATH_ARCH}
  31. "${_AVCODEC_INCLUDE_DIRS}"
  32. /usr/include /usr/local/include /opt/local/include /sw/include
  33. PATH_SUFFIXES ffmpeg libav)
  34. find_library(AVCODEC_LIB
  35. NAMES avcodec
  36. HINTS
  37. "${FFMPEG_INCLUDE_DIR}/../lib"
  38. "${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
  39. "${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
  40. "${FFMPEG_INCLUDE_DIR}/lib"
  41. "${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
  42. "${_AVCODEC_LIBRARY_DIRS}"
  43. /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
  44. set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavcodec include dir")
  45. set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB} CACHE STRING "Libavcodec libraries")
  46. find_package_handle_standard_args(Libavcodec DEFAULT_MSG AVCODEC_LIB FFMPEG_INCLUDE_DIR)
  47. mark_as_advanced(FFMPEG_INCLUDE_DIR AVCODEC_LIB)
  48. endif()