obs-studio/cmake/Modules/FindLibavcodec.cmake
BtbN 2bf8a7dce9 Include FindPackageHandleStandardArgs.cmake in every find module using it
It just worked so far because FindCXX11 happend to include it
already, and it also happend to be the first FindModule used.
2014-08-21 16:38:49 +02:00

60 lines
1.5 KiB
CMake

# Once done these will be defined:
#
# LIBAVCODEC_FOUND
# LIBAVCODEC_INCLUDE_DIRS
# LIBAVCODEC_LIBRARIES
#
# For use in OBS:
#
# FFMPEG_INCLUDE_DIR
#
if(LIBAVCODEC_INCLUDE_DIRS AND LIBAVCODEC_LIBRARIES)
set(LIBAVCODEC_FOUND TRUE)
else()
find_package(PkgConfig QUIET)
if (PKG_CONFIG_FOUND)
pkg_check_modules(_AVCODEC QUIET libavcodec)
endif()
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(_lib_suffix 64)
else()
set(_lib_suffix 32)
endif()
set(FFMPEG_PATH_ARCH FFmpegPath${_lib_suffix})
find_path(FFMPEG_INCLUDE_DIR
NAMES libavcodec/avcodec.h
HINTS
${_AVCODEC_INCLUDE_DIRS}
"${CMAKE_SOURCE_DIR}/additional_install_files/include"
"$ENV{obsAdditionalInstallFiles}/include"
ENV FFmpegPath
ENV ${FFMPEG_PATH_ARCH}
PATHS
/usr/include /usr/local/include /opt/local/include /sw/include
PATH_SUFFIXES ffmpeg libav)
find_library(AVCODEC_LIB
NAMES ${_AVCODEC_LIBRARIES} avcodec-ffmpeg avcodec
HINTS
${_AVCODEC_LIBRARY_DIRS}
"${FFMPEG_INCLUDE_DIR}/../lib"
"${FFMPEG_INCLUDE_DIR}/../lib${_lib_suffix}"
"${FFMPEG_INCLUDE_DIR}/../libs${_lib_suffix}"
"${FFMPEG_INCLUDE_DIR}/lib"
"${FFMPEG_INCLUDE_DIR}/lib${_lib_suffix}"
PATHS
/usr/lib /usr/local/lib /opt/local/lib /sw/lib)
set(LIBAVCODEC_INCLUDE_DIRS ${FFMPEG_INCLUDE_DIR} CACHE PATH "Libavcodec include dir")
set(LIBAVCODEC_LIBRARIES ${AVCODEC_LIB} CACHE STRING "Libavcodec libraries")
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(Libavcodec DEFAULT_MSG AVCODEC_LIB FFMPEG_INCLUDE_DIR)
mark_as_advanced(FFMPEG_INCLUDE_DIR AVCODEC_LIB)
endif()