Files
2026-10-04 04:07:15 +00:00

39 lines
1.3 KiB
CMake

# cmake/FindWebP.cmake
find_package(PkgConfig REQUIRED)
# 1. Look for core webp
pkg_check_modules(PC_WEBP QUIET libwebp)
find_path(WebP_INCLUDE_DIR NAMES webp/decode.h HINTS ${PC_WEBP_INCLUDEDIR})
find_library(WebP_LIBRARY NAMES webp HINTS ${PC_WEBP_LIBDIR})
# 2. Look for webpdemux
pkg_check_modules(PC_WEBP_DEMUX QUIET libwebpdemux)
find_path(WebP_DEMUX_INCLUDE_DIR NAMES webp/demux.h HINTS ${PC_WEBP_DEMUX_INCLUDEDIR})
find_library(WebP_DEMUX_LIBRARY NAMES webpdemux HINTS ${PC_WEBP_DEMUX_LIBDIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(WebP DEFAULT_MSG
WebP_LIBRARY WebP_INCLUDE_DIR
WebP_DEMUX_LIBRARY WebP_DEMUX_INCLUDE_DIR
)
# Define the WebP::webp target
if(WebP_FOUND AND NOT TARGET WebP::webp)
add_library(WebP::webp UNKNOWN IMPORTED)
set_target_properties(WebP::webp PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${WebP_INCLUDE_DIR}"
IMPORTED_LOCATION "${WebP_LIBRARY}"
)
endif()
# Define the WebP::webpdemux target expected by torchcodec
if(WebP_FOUND AND NOT TARGET WebP::webpdemux)
add_library(WebP::webpdemux UNKNOWN IMPORTED)
set_target_properties(WebP::webpdemux PROPERTIES
INTERFACE_INCLUDE_DIRECTORIES "${WebP_DEMUX_INCLUDE_DIR}"
IMPORTED_LOCATION "${WebP_DEMUX_LIBRARY}"
INTERFACE_LINK_LIBRARIES WebP::webp
)
endif()