FindLibavcodec.cmake 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  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. PATHS
  41. /usr/lib /usr/local/lib /opt/local/lib /sw/lib)
  42. include(FindPackageHandleStandardArgs)
  43. find_package_handle_standard_args(Libavcodec DEFAULT_MSG AVCODEC_LIB FFMPEG_INCLUDE_DIR)
  44. mark_as_advanced(FFMPEG_INCLUDE_DIR AVCODEC_LIB)
  45. if(LIBAVCODEC_FOUND)
  46. set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR})
  47. set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB})
  48. endif()