find_package(PkgConfig) pkg_check_modules(PC_LIBAVUTIL QUIET libavutil) set(LIBAVUTIL_STANDARD_DEFINITIONS ${PC_LIBAVUTIL_CFLAGS_OTHER} CACHE STRING "Libavutil required CFLAGS") set(LIBAVUTIL_STATIC_DEFINITIONS ${PC_LIBAVUTIL_STATIC_CFLAGS_OTHER} CACHE STRING "Libavutil static required CFLAGS") find_path(LIBAVUTIL_STANDARD_INCLUDE_DIR libavutil/avutil.h HINTS ${PC_LIBAVUTIL_INCLUDEDIR} ${PC_LIBAVUTIL_INCLUDE_DIRS} PATH_SUFFIXES libavutil) find_path(LIBAVUTIL_STATIC_INCLUDE_DIR libavutil/avutil.h HINTS ${PC_LIBAVUTIL_STATIC_INCLUDEDIR} ${PC_LIBAVUTIL_STATIC_INCLUDE_DIRS} PATH_SUFFIXES libavutil) if(NOT LIBAVUTIL_STANDARD_LIBRARIES) set(LIBAVUTIL_STANDARD_LIBRARIES_ "") foreach(lib ${PC_LIBAVUTIL_LIBRARIES}) find_library(_lib_file NAMES ${lib} HINTS ${PC_LIBAVUTIL_LIBDIR} ${PC_LIBAVUTIL_LIBRARY_DIRS}) if(_lib_file) list(APPEND LIBAVUTIL_STANDARD_LIBRARIES_ ${_lib_file}) endif() unset(_lib_file CACHE) endforeach() set(LIBAVUTIL_STANDARD_LIBRARIES ${LIBAVUTIL_STANDARD_LIBRARIES_} CACHE STRING "Libavutil (dynamic) libraries") unset(LIBAVUTIL_STANDARD_LIBRARIES_) endif() if(NOT LIBAVUTIL_STATIC_LIBRARIES) set(LIBAVUTIL_STATIC_LIBRARIES_ "") set(lib_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES}) set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_STATIC_LIBRARY_SUFFIX} ${CMAKE_SHARED_LIBRARY_SUFFIX} ${CMAKE_SHARED_MODULE_SUFFIX}) foreach(lib ${PC_LIBAVUTIL_STATIC_LIBRARIES}) find_library(_lib_file NAMES ${lib} HINTS ${PC_LIBAVUTIL_LIBDIR} ${PC_LIBAVUTIL_LIBRARY_DIRS}) if(_lib_file) list(APPEND LIBAVUTIL_STATIC_LIBRARIES_ ${_lib_file}) else() list(APPEND LIBAVUTIL_STATIC_LIBRARIES_ ${lib}) endif() unset(_lib_file CACHE) endforeach() set(CMAKE_FIND_LIBRARY_SUFFIXES ${lib_suffixes}) unset(lib_suffixes) set(LIBAVUTIL_STATIC_LIBRARIES ${LIBAVUTIL_STATIC_LIBRARIES_} CACHE STRING "Libavutil static libraries") unset(LIBAVUTIL_STATIC_LIBRARIES_) endif() if(Libavutil_FIND_COMPONENTS AND Libavutil_FIND_COMPONENTS STREQUAL "static") set(LIBAVUTIL_DEFINITION ${LIBAVUTIL_STATIC_DEFINITIONS}) set(LIBAVUTIL_INCLUDE_DIR ${LIBAVUTIL_STATIC_INCLUDE_DIR}) set(LIBAVUTIL_LIBRARY ${LIBAVUTIL_STATIC_LIBRARIES}) else() set(LIBAVUTIL_DEFINITION ${LIBAVUTIL_STANDARD_DEFINITIONS}) set(LIBAVUTIL_INCLUDE_DIR ${LIBAVUTIL_STANDARD_INCLUDE_DIR}) set(LIBAVUTIL_LIBRARY ${LIBAVUTIL_STANDARD_LIBRARIES}) endif() include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Libavutil DEFAULT_MSG LIBAVUTIL_INCLUDE_DIR LIBAVUTIL_LIBRARY) if(LIBAVUTIL_FOUND) set(LIBAVUTIL_DEFINITIONS ${LIBAVUTIL_DEFINITION}) set(LIBAVUTIL_INCLUDE_DIRS ${LIBAVUTIL_INCLUDE_DIR}) set(LIBAVUTIL_LIBRARIES ${LIBAVUTIL_LIBRARY}) endif() mark_as_advanced( LIBAVUTIL_STANDARD_DEFINITIONS LIBAVUTIL_STANDARD_INCLUDE_DIR LIBAVUTIL_STANDARD_LIBRARIES LIBAVUTIL_STATIC_DEFINITIONS LIBAVUTIL_STATIC_INCLUDE_DIR LIBAVUTIL_STATIC_LIBRARIES )