File: FindWebP.cmake

package info (click to toggle)
darktable 5.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 62,864 kB
  • sloc: ansic: 361,898; cpp: 102,446; xml: 19,813; lisp: 14,539; sh: 3,771; javascript: 3,264; perl: 1,925; python: 1,485; ruby: 975; makefile: 543; asm: 46; sql: 38; awk: 21
file content (67 lines) | stat: -rw-r--r-- 2,460 bytes parent folder | download | duplicates (4)
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# - Find the native webp library and includes
#
# This module defines
#  WebP_INCLUDE_DIR, where to libwebp headers.
#  WebP_LIBRARIES, the libraries to link against to support webp.
#  WebP_FOUND, If false, do not enable webp export support.
# also defined, but not for general use are
#  WebP_LIBRARY, where to find the webp library.

#=============================================================================
# Copyright 2013 Google Inc.
#=============================================================================

include(LibFindMacros)

# Use pkg-config to get hints about paths
libfind_pkg_check_modules(WebP_PKGCONF libwebp)


find_path(WebP_INCLUDE_DIR NAMES webp/encode.h HINTS ${WebP_PKGCONF_INCLUDE_DIRS})
mark_as_advanced(WebP_INCLUDE_DIR)

set(WebP_NAMES ${WebP_NAMES} webp libwebp)
find_library(WebP_LIBRARY NAMES ${WebP_NAMES} HINTS ${WebP_PKGCONF_LIBRARY_DIRS})
set(WebP_MUX_NAMES ${WebP_MUX_NAMES} webpmux libwebpmux)
find_library(WebP_MUX_LIBRARY NAMES ${WebP_MUX_NAMES} HINTS ${WebP_PKGCONF_LIBRARY_DIRS})
set(WebP_LIBRARY ${WebP_LIBRARY} ${WebP_MUX_LIBRARY})
mark_as_advanced(WebP_LIBRARY)

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(WebP DEFAULT_MSG WebP_LIBRARY WebP_INCLUDE_DIR)


if(WebP_FIND_VERSION)
  cmake_minimum_required(VERSION 3.10.0)
  set(WebP_FAILED_VERSION_CHECK true)

  if(WebP_FIND_VERSION_EXACT)
    if(WebP_PKGCONF_VERSION VERSION_EQUAL WebP_FIND_VERSION)
      set(WebP_FAILED_VERSION_CHECK false)
    endif()
  else()
    if(WebP_PKGCONF_VERSION VERSION_EQUAL WebP_FIND_VERSION OR
       WebP_PKGCONF_VERSION VERSION_GREATER WebP_FIND_VERSION)
      set(WebP_FAILED_VERSION_CHECK false)
    endif()
  endif()

  if(WebP_FAILED_VERSION_CHECK)
    if(WebP_FIND_REQUIRED AND NOT WebP_FIND_QUIETLY)
        if(WebP_FIND_VERSION_EXACT)
            message(FATAL_ERROR "WebP version check failed.  Version ${WebP_PKGCONF_VERSION} was found, version ${WebP_FIND_VERSION} is needed exactly.")
        else(WebP_FIND_VERSION_EXACT)
            message(FATAL_ERROR "WebP version check failed.  Version ${WebP_PKGCONF_VERSION} was found, at least version ${WebP_FIND_VERSION} is required")
        endif(WebP_FIND_VERSION_EXACT)
    endif(WebP_FIND_REQUIRED AND NOT WebP_FIND_QUIETLY)

    set(WebP_FOUND false)
  endif(WebP_FAILED_VERSION_CHECK)

endif(WebP_FIND_VERSION)


IF(WebP_FOUND)
  SET(WebP_LIBRARIES ${WebP_LIBRARY})
  SET(WebP_INCLUDE_DIRS ${WebP_INCLUDE_DIR})
ENDIF(WebP_FOUND)