diff -r ac8dba27a3f1 -r bfcc09f2accc cmake_modules/FindFFMPEG.cmake --- a/cmake_modules/FindFFMPEG.cmake Wed Mar 06 03:11:15 2013 +0100 +++ b/cmake_modules/FindFFMPEG.cmake Wed Mar 06 03:46:22 2013 +0100 @@ -1,96 +1,83 @@ -# - Try to find ffmpeg libraries (libavcodec, libavformat and libavutil) +# Find ffmpeg/libav libraries (libavcodec, libavformat and libavutil) # Once done this will define # -# FFMPEG_FOUND - system has ffmpeg or libav -# FFMPEG_INCLUDE_DIR - the ffmpeg include directory -# FFMPEG_LIBRARIES - Link these to use ffmpeg -# FFMPEG_LIBAVCODEC -# FFMPEG_LIBAVFORMAT -# FFMPEG_LIBAVUTIL +# FFMPEG_FOUND - system has libavcodec, libavformat, libavutil +# FFMPEG_INCLUDE_DIR - the libav include directories +# FFMPEG_LIBRARIES - the libav libraries +# +# LIBAVCODEC_LIBRARY - the libavcodec library +# LIBAVCODEC_INCLUDE_DIR - the libavcodec include directory +# LIBAVFORMAT_LIBRARY - the libavformat library +# LIBAVUTIL_LIBRARY - the libavutil library # # Copyright (c) 2008 Andreas Schneider # Modified for other libraries by Lasse Kärkkäinen # Modified for Hedgewars by Stepik777 +# Copyright (c) 2013 Vittorio Giovara # # Redistribution and use is allowed according to the terms of the New # BSD license. # -set(FFMPEG_FOUND FALSE) +include(FindPackageHandleStandardArgs) + -if (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) - # in cache already - set(FFMPEG_FOUND TRUE) -else (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR) - # silence output option - if (FFMPEG_FIND_QUIETLY) - set(VERBOSITY "QUIET") - endif () - # use pkg-config to get the directories and then use these values - # in the FIND_PATH() and FIND_LIBRARY() calls - find_package(PkgConfig) - if (PKG_CONFIG_FOUND) +# use pkg-config to get the directories and then use these values +# in the FIND_PATH() and FIND_LIBRARY() calls +find_package(PkgConfig) +if (PKG_CONFIG_FOUND) pkg_check_modules(_FFMPEG_AVCODEC libavcodec ${VERBOSITY}) pkg_check_modules(_FFMPEG_AVFORMAT libavformat ${VERBOSITY}) pkg_check_modules(_FFMPEG_AVUTIL libavutil ${VERBOSITY}) - endif (PKG_CONFIG_FOUND) +endif (PKG_CONFIG_FOUND) - find_path(FFMPEG_AVCODEC_INCLUDE_DIR +find_path(LIBAVCODEC_INCLUDE_DIR NAMES libavcodec/avcodec.h - PATHS ${_FFMPEG_AVCODEC_INCLUDE_DIRS} + PATHS ${_AVCODEC_INCLUDE_DIRS} /usr/include /usr/local/include #system level /opt/local/include #macports /sw/include #fink - PATH_SUFFIXES ffmpeg libav - ) + PATH_SUFFIXES libav ffmpeg +) - find_library(FFMPEG_LIBAVCODEC +#TODO: add other include paths + +find_library(LIBAVCODEC_LIBRARY NAMES avcodec - PATHS ${_FFMPEG_AVCODEC_LIBRARY_DIRS} + PATHS ${_AVCODEC_LIBRARY_DIRS} /usr/lib /usr/local/lib #system level /opt/local/lib #macports /sw/lib #fink - ) +) - find_library(FFMPEG_LIBAVFORMAT +find_library(LIBAVFORMAT_LIBRARY NAMES avformat - PATHS ${_FFMPEG_AVFORMAT_LIBRARY_DIRS} + PATHS ${_AVFORMAT_LIBRARY_DIRS} /usr/lib /usr/local/lib #system level /opt/local/lib #macports /sw/lib #fink - ) +) - find_library(FFMPEG_LIBAVUTIL +find_library(LIBAVUTIL_LIBRARY NAMES avutil - PATHS ${_FFMPEG_AVUTIL_LIBRARY_DIRS} + PATHS ${_AVUTIL_LIBRARY_DIRS} /usr/lib /usr/local/lib #system level /opt/local/lib #macports /sw/lib #fink - ) - - if (FFMPEG_LIBAVCODEC AND FFMPEG_LIBAVFORMAT) - set(FFMPEG_FOUND TRUE) - endif() - - if (FFMPEG_FOUND) - set(FFMPEG_INCLUDE_DIR ${FFMPEG_AVCODEC_INCLUDE_DIR}) +) - set(FFMPEG_LIBRARIES - ${FFMPEG_LIBAVCODEC} - ${FFMPEG_LIBAVFORMAT} - ${FFMPEG_LIBAVUTIL} - ) - endif (FFMPEG_FOUND) +find_package_handle_standard_args(FFMPEG DEFAULT_MSG LIBAVCODEC_LIBRARY LIBAVCODEC_INCLUDE_DIR + LIBAVFORMAT_LIBRARY + LIBAVUTIL_LIBRARY + ) +set(FFMPEG_INCLUDE_DIR ${LIBAVCODEC_INCLUDE_DIR} + #TODO: add other include paths + ) +set(FFMPEG_LIBRARIES ${LIBAVCODEC_LIBRARY} + ${LIBAVFORMAT_LIBRARY} + ${LIBAVUTIL_LIBRARY} + ) - if (FFMPEG_FOUND) - if (NOT FFMPEG_FIND_QUIETLY) - message(STATUS "Found FFMPEG/LibAV: ${FFMPEG_LIBRARIES}, ${FFMPEG_INCLUDE_DIR}") - endif (NOT FFMPEG_FIND_QUIETLY) - else (FFMPEG_FOUND) - if (FFMPEG_FIND_REQUIRED) - message(FATAL_ERROR "Could NOT find libavcodec or libavformat or libavutil") - endif (FFMPEG_FIND_REQUIRED) - endif (FFMPEG_FOUND) +mark_as_advanced(FFMPEG_INCLUDE_DIR FFMPEG_LIBRARIES LIBAVCODEC_LIBRARY LIBAVCODEC_INCLUDE_DIR LIBAVFORMAT_LIBRARY LIBAVUTIL_LIBRARY) -endif (FFMPEG_LIBRARIES AND FFMPEG_INCLUDE_DIR)