[CMake] Properly detect compiler flags, needed libs, and fallbacks for usage of 64...
[WebKit-https.git] / Source / cmake / FindWebP.cmake
1 # - Try to find WebP.
2 # Once done, this will define
3 #
4 #  WEBP_FOUND - system has WebP.
5 #  WEBP_INCLUDE_DIRS - the WebP. include directories
6 #  WEBP_LIBRARIES - link these to use WebP.
7 #
8 # Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
9 # Copyright (C) 2013 Igalia S.L.
10 #
11 # Redistribution and use in source and binary forms, with or without
12 # modification, are permitted provided that the following conditions
13 # are met:
14 # 1.  Redistributions of source code must retain the above copyright
15 #     notice, this list of conditions and the following disclaimer.
16 # 2.  Redistributions in binary form must reproduce the above copyright
17 #     notice, this list of conditions and the following disclaimer in the
18 #     documentation and/or other materials provided with the distribution.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
21 # IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
22 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
24 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
27 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
28 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
29 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
30 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
32 find_package(PkgConfig)
33 pkg_check_modules(PC_WEBP QUIET libwebp)
34
35 # Look for the header file.
36 find_path(WEBP_INCLUDE_DIR
37     NAMES webp/decode.h
38     HINTS ${PC_WEBP_INCLUDEDIR} ${PC_WEBP_INCLUDE_DIRS}
39 )
40 list(APPEND WEBP_INCLUDE_DIRS ${WEBP_INCLUDE_DIR})
41 mark_as_advanced(WEBP_INCLUDE_DIRS)
42
43 # Look for the library.
44 find_library(
45     WEBP_LIBRARY
46     NAMES webp
47     HINTS ${PC_WEBP_LIBDIR} ${PC_WEBP_LIBRARY_DIRS}
48 )
49 list(APPEND WEBP_LIBRARIES ${WEBP_LIBRARY})
50
51 find_path(WEBP_DEMUX_INCLUDE_DIR
52     NAMES webp/demux.h
53     HINTS ${PC_WEBP_INCLUDEDIR} ${PC_WEBP_INCLUDE_DIRS}
54 )
55 list(APPEND WEBP_INCLUDE_DIRS ${WEBP_DEMUX_INCLUDE_DIR})
56
57 find_library(WEBP_DEMUX_LIBRARY
58     NAMES webpdemux
59     HINTS ${PC_WEBP_LIBDIR} ${PC_WEBP_LIBRARY_DIRS}
60 )
61 list(APPEND WEBP_LIBRARIES ${WEBP_DEMUX_LIBRARY})
62
63 mark_as_advanced(WEBP_DEMUX_INCLUDE_DIR WEBP_DEMUX_LIBRARY WEBP_INCLUDE_DIR WEBP_LIBRARY WEBP_LIBRARIES)
64
65 include(FindPackageHandleStandardArgs)
66 find_package_handle_standard_args(WebP REQUIRED_VARS WEBP_INCLUDE_DIRS WEBP_LIBRARIES
67                                   FOUND_VAR WEBP_FOUND)