cmake_modules/FindLIBAV.cmake
author Wuzzy <Wuzzy2@mail.ru>
Wed, 25 Oct 2017 23:09:41 +0200
changeset 12763 ad67a3804981
parent 9959 1a42d36f346a
permissions -rw-r--r--
Fix sometimes ammo schemes not being saved after changing before an ammo scheme got deleted in session This was because the bool isDeleting is not initialized, so its initial value is unpredictable. Which means there's chance it starts with true, confusing the frontend.

# Find ffmpeg/libav libraries (libavcodec, libavformat and libavutil)
# Once done this will define
#
#  LIBAV_FOUND             - system has libavcodec, libavformat, libavutil
#  LIBAV_INCLUDE_DIR       - libav include directories
#  LIBAV_LIBRARIES         - libav libraries (libavcodec, libavformat, libavutil)
#
#  LIBAVCODEC_LIBRARY      - libavcodec library
#  LIBAVCODEC_INCLUDE_DIR  - libavcodec include directory
#  LIBAVFORMAT_LIBRARY     - libavformat library
#  LIBAVUTIL_LIBRARY       - libavutil library
#
#  Copyright (c) 2008 Andreas Schneider <mail@cynapses.org>
#  Modified for other libraries by Lasse Kärkkäinen <tronic>
#  Modified for Hedgewars by Stepik777
#  Copyright (c) 2013 Vittorio Giovara <vittorio.giovara@gmail.com>
#
#  Redistribution and use is allowed according to the terms of the New
#  BSD license.
#

include(FindPackageHandleStandardArgs)


# 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)
    if(NOT LIBAVCODEC_INCLUDE_DIR OR NOT LIBAVCODEC_LIBRARY)
        pkg_check_modules(_LIBAV_AVCODEC libavcodec)
    endif()
    if(NOT LIBAVFORMAT_LIBRARY)
        pkg_check_modules(_LIBAV_AVFORMAT libavformat)
    endif()
    if(NOT LIBAVUTIL_LIBRARY)
        pkg_check_modules(_LIBAV_AVUTIL libavutil)
    endif()
endif(PKG_CONFIG_FOUND)

find_path(LIBAVCODEC_INCLUDE_DIR
    NAMES libavcodec/avcodec.h
    PATHS ${_LIBAV_AVCODEC_INCLUDE_DIRS}     #pkg-config
          /usr/include /usr/local/include    #system level
          /opt/local/include /sw/include     #macports & fink
    PATH_SUFFIXES libav ffmpeg
)

#TODO: add other include paths

find_library(LIBAVCODEC_LIBRARY
    NAMES avcodec
    PATHS ${_LIBAV_AVCODEC_LIBRARY_DIRS}    #pkg-config
          /usr/lib /usr/local/lib           #system level
          /opt/local/lib /sw/lib            #macports & fink
)

find_library(LIBAVFORMAT_LIBRARY
    NAMES avformat
    PATHS ${_LIBAV_AVFORMAT_LIBRARY_DIRS}   #pkg-config
          /usr/lib /usr/local/lib           #system level
          /opt/local/lib /sw/lib            #macports & fink
)

find_library(LIBAVUTIL_LIBRARY
    NAMES avutil
    PATHS ${_LIBAV_AVUTIL_LIBRARY_DIRS}     #pkg-config
          /usr/lib /usr/local/lib           #system level
          /opt/local/lib /sw/lib            #macports & fink
)

find_package_handle_standard_args(LIBAV DEFAULT_MSG LIBAVCODEC_LIBRARY
                                                    LIBAVCODEC_INCLUDE_DIR
                                                    LIBAVFORMAT_LIBRARY
                                                    LIBAVUTIL_LIBRARY
                                                    )
set(LIBAV_INCLUDE_DIR ${LIBAVCODEC_INCLUDE_DIR}
                      #TODO: add other include paths
                      )
set(LIBAV_LIBRARIES ${LIBAVCODEC_LIBRARY}
                    ${LIBAVFORMAT_LIBRARY}
                    ${LIBAVUTIL_LIBRARY}
                    )

mark_as_advanced(LIBAV_INCLUDE_DIR
                 LIBAV_LIBRARIES
                 LIBAVCODEC_LIBRARY
                 LIBAVCODEC_INCLUDE_DIR
                 LIBAVFORMAT_LIBRARY
                 LIBAVUTIL_LIBRARY)