cmake_modules/FindLIBAV.cmake
changeset 9959 1a42d36f346a
parent 9419 fa8324ed4702
equal deleted inserted replaced
9957:7a62f31895ac 9959:1a42d36f346a
       
     1 # Find ffmpeg/libav libraries (libavcodec, libavformat and libavutil)
       
     2 # Once done this will define
       
     3 #
       
     4 #  LIBAV_FOUND             - system has libavcodec, libavformat, libavutil
       
     5 #  LIBAV_INCLUDE_DIR       - libav include directories
       
     6 #  LIBAV_LIBRARIES         - libav libraries (libavcodec, libavformat, libavutil)
       
     7 #
       
     8 #  LIBAVCODEC_LIBRARY      - libavcodec library
       
     9 #  LIBAVCODEC_INCLUDE_DIR  - libavcodec include directory
       
    10 #  LIBAVFORMAT_LIBRARY     - libavformat library
       
    11 #  LIBAVUTIL_LIBRARY       - libavutil library
       
    12 #
       
    13 #  Copyright (c) 2008 Andreas Schneider <mail@cynapses.org>
       
    14 #  Modified for other libraries by Lasse Kärkkäinen <tronic>
       
    15 #  Modified for Hedgewars by Stepik777
       
    16 #  Copyright (c) 2013 Vittorio Giovara <vittorio.giovara@gmail.com>
       
    17 #
       
    18 #  Redistribution and use is allowed according to the terms of the New
       
    19 #  BSD license.
       
    20 #
       
    21 
       
    22 include(FindPackageHandleStandardArgs)
       
    23 
       
    24 
       
    25 # use pkg-config to get the directories and then use these values
       
    26 # in the FIND_PATH() and FIND_LIBRARY() calls
       
    27 find_package(PkgConfig)
       
    28 if(PKG_CONFIG_FOUND)
       
    29     if(NOT LIBAVCODEC_INCLUDE_DIR OR NOT LIBAVCODEC_LIBRARY)
       
    30         pkg_check_modules(_LIBAV_AVCODEC libavcodec)
       
    31     endif()
       
    32     if(NOT LIBAVFORMAT_LIBRARY)
       
    33         pkg_check_modules(_LIBAV_AVFORMAT libavformat)
       
    34     endif()
       
    35     if(NOT LIBAVUTIL_LIBRARY)
       
    36         pkg_check_modules(_LIBAV_AVUTIL libavutil)
       
    37     endif()
       
    38 endif(PKG_CONFIG_FOUND)
       
    39 
       
    40 find_path(LIBAVCODEC_INCLUDE_DIR
       
    41     NAMES libavcodec/avcodec.h
       
    42     PATHS ${_LIBAV_AVCODEC_INCLUDE_DIRS}     #pkg-config
       
    43           /usr/include /usr/local/include    #system level
       
    44           /opt/local/include /sw/include     #macports & fink
       
    45     PATH_SUFFIXES libav ffmpeg
       
    46 )
       
    47 
       
    48 #TODO: add other include paths
       
    49 
       
    50 find_library(LIBAVCODEC_LIBRARY
       
    51     NAMES avcodec
       
    52     PATHS ${_LIBAV_AVCODEC_LIBRARY_DIRS}    #pkg-config
       
    53           /usr/lib /usr/local/lib           #system level
       
    54           /opt/local/lib /sw/lib            #macports & fink
       
    55 )
       
    56 
       
    57 find_library(LIBAVFORMAT_LIBRARY
       
    58     NAMES avformat
       
    59     PATHS ${_LIBAV_AVFORMAT_LIBRARY_DIRS}   #pkg-config
       
    60           /usr/lib /usr/local/lib           #system level
       
    61           /opt/local/lib /sw/lib            #macports & fink
       
    62 )
       
    63 
       
    64 find_library(LIBAVUTIL_LIBRARY
       
    65     NAMES avutil
       
    66     PATHS ${_LIBAV_AVUTIL_LIBRARY_DIRS}     #pkg-config
       
    67           /usr/lib /usr/local/lib           #system level
       
    68           /opt/local/lib /sw/lib            #macports & fink
       
    69 )
       
    70 
       
    71 find_package_handle_standard_args(LIBAV DEFAULT_MSG LIBAVCODEC_LIBRARY
       
    72                                                     LIBAVCODEC_INCLUDE_DIR
       
    73                                                     LIBAVFORMAT_LIBRARY
       
    74                                                     LIBAVUTIL_LIBRARY
       
    75                                                     )
       
    76 set(LIBAV_INCLUDE_DIR ${LIBAVCODEC_INCLUDE_DIR}
       
    77                       #TODO: add other include paths
       
    78                       )
       
    79 set(LIBAV_LIBRARIES ${LIBAVCODEC_LIBRARY}
       
    80                     ${LIBAVFORMAT_LIBRARY}
       
    81                     ${LIBAVUTIL_LIBRARY}
       
    82                     )
       
    83 
       
    84 mark_as_advanced(LIBAV_INCLUDE_DIR
       
    85                  LIBAV_LIBRARIES
       
    86                  LIBAVCODEC_LIBRARY
       
    87                  LIBAVCODEC_INCLUDE_DIR
       
    88                  LIBAVFORMAT_LIBRARY
       
    89                  LIBAVUTIL_LIBRARY)
       
    90