FindLibavcodec.cmake 1.5 KB

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