blob: e4d0b335eedd39c3d82d57d6ca56d502f3ae6ea0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# Latest upstream package provides both CMake and autotools building.
# Unfortunately Linux distros and homebrew build the package with autotools,
# so they do not ship the CMake Config file, but only the pkg-config files.
# vcpkg and Conan do ship Config files.
# So try config files first, and then use the regular find_library / find_path dance with pkg-config
# paths as hints.
find_package(WebP QUIET)
if(TARGET WebP::webp AND TARGET WebP::webpdemux)
set(WrapWebP_FOUND ON)
add_library(WrapWebP::WrapWebP INTERFACE IMPORTED)
target_link_libraries(WrapWebP::WrapWebP INTERFACE WebP::webp WebP::webpdemux)
return()
endif()
find_package(PkgConfig)
pkg_check_modules(PC_WebP libwebp)
pkg_check_modules(PC_WebPDemux libwebpdemux)
find_library(WebP_LIBRARY NAMES "webp"
HINTS ${PC_WebP_LIBDIR})
find_library(WebP_demux_LIBRARY NAMES "webpdemux"
HINTS ${PC_WebPDemux_LIBDIR})
find_path(WebP_INCLUDE_DIR NAMES "webp/decode.h"
HINTS ${PC_WebP_INCLUDEDIR})
find_path(WebP_demux_INCLUDE_DIR NAMES "webp/demux.h"
HINTS ${PC_WebPDemux_INCLUDEDIR})
include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(WebP DEFAULT_MSG WebP_INCLUDE_DIR WebP_LIBRARY
WebP_demux_INCLUDE_DIR WebP_demux_LIBRARY)
mark_as_advanced(WebP_INCLUDE_DIR WebP_LIBRARY WebP_INCLUDE_DIR WebP_demux_LIBRARY)
if(WebP_FOUND)
set(WrapWebP_FOUND ON)
add_library(WrapWebP::WrapWebP INTERFACE IMPORTED)
target_link_libraries(WrapWebP::WrapWebP INTERFACE ${WebP_LIBRARY} ${WebP_demux_LIBRARY})
target_include_directories(WrapWebP::WrapWebP
INTERFACE ${WebP_INCLUDE_DIR} ${WebP_demux_INCLUDE_DIR})
endif()
|