set(AVIF_LIBSHARPYUV_GIT_TAG v1.5.0) set(LIB_FILENAME "${CMAKE_CURRENT_SOURCE_DIR}/ext/libwebp/build/libsharpyuv${CMAKE_STATIC_LIBRARY_SUFFIX}") if(EXISTS "${LIB_FILENAME}") message(STATUS "libavif(AVIF_LIBSHARPYUV=LOCAL): compiled library found at ${LIB_FILENAME}") add_library(sharpyuv::sharpyuv STATIC IMPORTED GLOBAL) set_target_properties(sharpyuv::sharpyuv PROPERTIES IMPORTED_LOCATION "${LIB_FILENAME}" AVIF_LOCAL ON FOLDER "ext/libwebp") target_include_directories(sharpyuv::sharpyuv INTERFACE "${AVIF_SOURCE_DIR}/ext/libwebp") set(libsharpyuv_FOUND ON) else() message(STATUS "libavif(AVIF_LIBSHARPYUV=LOCAL): compiled library not found at ${LIB_FILENAME}; using FetchContent") if(EXISTS "${AVIF_SOURCE_DIR}/ext/libwebp") message(STATUS "libavif(AVIF_LIBSHARPYUV=LOCAL): ext/libwebp found; using as FetchContent SOURCE_DIR") set(FETCHCONTENT_SOURCE_DIR_LIBWEBP "${AVIF_SOURCE_DIR}/ext/libwebp") message(CHECK_START "libavif(AVIF_LIBSHARPYUV=LOCAL): configuring libwebp") else() message(CHECK_START "libavif(AVIF_LIBSHARPYUV=LOCAL): fetching and configuring libwebp") endif() set(WEBP_BUILD_ANIM_UTILS OFF CACHE BOOL "") set(WEBP_BUILD_CWEBP OFF CACHE BOOL "") set(WEBP_BUILD_DWEBP OFF CACHE BOOL "") set(WEBP_BUILD_GIF2WEBP OFF CACHE BOOL "") set(WEBP_BUILD_IMG2WEBP OFF CACHE BOOL "") set(WEBP_BUILD_VWEBP OFF CACHE BOOL "") set(WEBP_BUILD_WEBPINFO OFF CACHE BOOL "") set(WEBP_BUILD_LIBWEBPMUX OFF CACHE BOOL "") set(WEBP_BUILD_WEBPMUX OFF CACHE BOOL "") set(WEBP_BUILD_EXTRAS OFF CACHE BOOL "") set(LIBSHARPYUV_BINARY_DIR "${FETCHCONTENT_BASE_DIR}/libwebp") if(ANDROID_ABI) set(LIBSHARPYUV_BINARY_DIR "${LIBSHARPYUV_BINARY_DIR}/${ANDROID_ABI}") endif() FetchContent_Declare( libwebp GIT_REPOSITORY "https://chromium.googlesource.com/webm/libwebp" BINARY_DIR "${LIBSHARPYUV_BINARY_DIR}" GIT_TAG "${AVIF_LIBSHARPYUV_GIT_TAG}" GIT_SHALLOW ON UPDATE_COMMAND "" ) avif_fetchcontent_populate_cmake(libwebp) set_property(TARGET sharpyuv PROPERTY POSITION_INDEPENDENT_CODE ON) set_property(TARGET sharpyuv PROPERTY AVIF_LOCAL ON) target_include_directories( sharpyuv INTERFACE $ $ ) add_library(sharpyuv::sharpyuv ALIAS sharpyuv) if(EXISTS "${AVIF_SOURCE_DIR}/ext/libwebp") set_property(TARGET sharpyuv PROPERTY FOLDER "ext/libwebp") endif() message(CHECK_PASS "complete") endif()