add support for ugoira

add progress bar
This commit is contained in:
2022-03-19 17:14:53 +08:00
parent 8ef00def87
commit 0ddcd7d533
31 changed files with 1823 additions and 175 deletions

29
cmake/FindAVCODEC.cmake Normal file
View File

@@ -0,0 +1,29 @@
find_package(PkgConfig)
if (PkgConfig_FOUND)
pkg_check_modules(PC_AVCODEC QUIET IMPORTED_TARGET GLOBAL libavcodec)
endif()
if (PC_AVCODEC_FOUND)
set(AVCODEC_FOUND TRUE)
set(AVCODEC_VERSION ${PC_AVCODEC_VERSION})
set(AVCODEC_VERSION_STRING ${PC_AVCODEC_STRING})
set(AVCODEC_LIBRARYS ${PC_AVCODEC_LIBRARIES})
if (USE_STATIC_LIBS)
set(AVCODEC_INCLUDE_DIRS ${PC_AVCODEC_STATIC_INCLUDE_DIRS})
else()
set(AVCODEC_INCLUDE_DIRS ${PC_AVCODEC_INCLUDE_DIRS})
endif()
if (NOT TARGET AVCODEC::AVCODEC)
add_library(AVCODEC::AVCODEC ALIAS PkgConfig::PC_AVCODEC)
endif()
else()
message(FATAL_ERROR "failed to find libavcodec.")
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(AVCODEC
FOUND_VAR AVCODEC_FOUND
REQUIRED_VARS
AVCODEC_LIBRARYS
VERSION_VAR AVCODEC_VERSION
)

29
cmake/FindAVFORMAT.cmake Normal file
View File

@@ -0,0 +1,29 @@
find_package(PkgConfig)
if (PkgConfig_FOUND)
pkg_check_modules(PC_AVFORMAT QUIET IMPORTED_TARGET GLOBAL libavformat)
endif()
if (PC_AVFORMAT_FOUND)
set(AVFORMAT_FOUND TRUE)
set(AVFORMAT_VERSION ${PC_AVFORMAT_VERSION})
set(AVFORMAT_VERSION_STRING ${PC_AVFORMAT_STRING})
set(AVFORMAT_LIBRARYS ${PC_AVFORMAT_LIBRARIES})
if (USE_STATIC_LIBS)
set(AVFORMAT_INCLUDE_DIRS ${PC_AVFORMAT_STATIC_INCLUDE_DIRS})
else()
set(AVFORMAT_INCLUDE_DIRS ${PC_AVFORMAT_INCLUDE_DIRS})
endif()
if (NOT TARGET AVFORMAT::AVFORMAT)
add_library(AVFORMAT::AVFORMAT ALIAS PkgConfig::PC_AVFORMAT)
endif()
else()
message(FATAL_ERROR "failed to find libavformat.")
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(AVFORMAT
FOUND_VAR AVFORMAT_FOUND
REQUIRED_VARS
AVFORMAT_LIBRARYS
VERSION_VAR AVFORMAT_VERSION
)

29
cmake/FindLIBZIP.cmake Normal file
View File

@@ -0,0 +1,29 @@
find_package(PkgConfig)
if (PkgConfig_FOUND)
pkg_check_modules(PC_LIBZIP QUIET IMPORTED_TARGET GLOBAL libzip)
endif()
if (PC_LIBZIP_FOUND)
set(LIBZIP_FOUND TRUE)
set(LIBZIP_VERSION ${PC_LIBZIP_VERSION})
set(LIBZIP_VERSION_STRING ${PC_LIBZIP_STRING})
set(LIBZIP_LIBRARYS ${PC_LIBZIP_LIBRARIES})
if (USE_STATIC_LIBS)
set(LIBZIP_INCLUDE_DIRS ${PC_LIBZIP_STATIC_INCLUDE_DIRS})
else()
set(LIBZIP_INCLUDE_DIRS ${PC_LIBZIP_INCLUDE_DIRS})
endif()
if (NOT TARGET LIBZIP::LIBZIP)
add_library(LIBZIP::LIBZIP ALIAS PkgConfig::PC_LIBZIP)
endif()
else()
message(FATAL_ERROR "failed.")
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LIBZIP
FOUND_VAR LIBZIP_FOUND
REQUIRED_VARS
LIBZIP_LIBRARYS
VERSION_VAR LIBZIP_VERSION
)

29
cmake/FindSWSCALE.cmake Normal file
View File

@@ -0,0 +1,29 @@
find_package(PkgConfig)
if (PkgConfig_FOUND)
pkg_check_modules(PC_SWSCALE QUIET IMPORTED_TARGET GLOBAL libswscale)
endif()
if (PC_SWSCALE_FOUND)
set(SWSCALE_FOUND TRUE)
set(SWSCALE_VERSION ${PC_SWSCALE_VERSION})
set(SWSCALE_VERSION_STRING ${PC_SWSCALE_STRING})
set(SWSCALE_LIBRARYS ${PC_SWSCALE_LIBRARIES})
if (USE_STATIC_LIBS)
set(SWSCALE_INCLUDE_DIRS ${PC_SWSCALE_STATIC_INCLUDE_DIRS})
else()
set(SWSCALE_INCLUDE_DIRS ${PC_SWSCALE_INCLUDE_DIRS})
endif()
if (NOT TARGET SWSCALE::SWSCALE)
add_library(SWSCALE::SWSCALE ALIAS PkgConfig::PC_SWSCALE)
endif()
else()
message(FATAL_ERROR "failed to find libswscale.")
endif()
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(SWSCALE
FOUND_VAR SWSCALE_FOUND
REQUIRED_VARS
SWSCALE_LIBRARYS
VERSION_VAR SWSCALE_VERSION
)

View File

@@ -9,20 +9,25 @@ function(get_link_libraries OUTPUT_LIST TARGET)
set(LIB_FILES "")
foreach(LIB ${LIBS})
if (TARGET ${LIB})
get_target_property(LIB_IMPORTED ${LIB} IMPORTED)
list(FIND VISITED_TARGETS ${LIB} VISITED)
if (${VISITED} EQUAL -1)
get_target_property(LIB_FILE ${LIB} LOCATION)
if (NOT LIB_FILE)
get_target_property(LIB_FILE ${LIB} IMPORTED_LOCATION)
if (LIB_IMPORTED)
get_target_property(LIB_FILE ${LIB} LOCATION)
if (NOT LIB_FILE)
get_target_property(LIB_FILE ${LIB} IMPORTED_LOCATION)
endif()
if (NOT LIB_FILE)
get_target_property(LIB_FILE ${LIB} IMPORTED_IMPLIB)
endif()
if (NOT LIB_FILE)
get_target_property(LIB_FILE ${LIB} INTERFACE_LINK_LIBRARIES)
endif()
get_link_libraries(LINK_LIB_FILES ${LIB})
list(APPEND LIB_FILES ${LIB_FILE} ${LINK_LIB_FILES})
else()
list(APPEND LIB_FILES ${LIB})
endif()
if (NOT LIB_FILE)
get_target_property(LIB_FILE ${LIB} IMPORTED_IMPLIB)
endif()
if (NOT LIB_FILE)
get_target_property(LIB_FILE ${LIB} INTERFACE_LINK_LIBRARIES)
endif()
get_link_libraries(LINK_LIB_FILES ${LIB})
list(APPEND LIB_FILES ${LIB_FILE} ${LINK_LIB_FILES})
endif()
endif()
endforeach()