95 lines
2.9 KiB
CMake
95 lines
2.9 KiB
CMake
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
|
|
)
|