Implement ResizeObserver.
[WebKit-https.git] / Source / cmake / FindPixman.cmake
1 # - Try to find Pixman
2 # This module defines the following variables:
3 #
4 #  PIXMAN_FOUND - Pixman was found
5 #  PIXMAN_INCLUDE_DIRS - the Pixman include directories
6 #  PIXMAN_LIBRARIES - link these to use Pixman
7 #
8 # Copyright (C) 2018 Sony Interactive Entertainment Inc.
9 #
10 # Redistribution and use in source and binary forms, with or without
11 # modification, are permitted provided that the following conditions
12 # are met:
13 # 1. Redistributions of source code must retain the above copyright
14 #    notice, this list of conditions and the following disclaimer.
15 # 2. Redistributions in binary form must reproduce the above copyright
16 #    notice, this list of conditions and the following disclaimer in the
17 #    documentation and/or other materials provided with the distribution.
18 #
19 # THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
20 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
21 # THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22 # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
23 # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
29 # THE POSSIBILITY OF SUCH DAMAGE.
30
31 find_path(PIXMAN_INCLUDE_DIRS
32     NAMES pixman.h
33     PATH_SUFFIXES pixman-1
34 )
35
36 find_library(PIXMAN_LIBRARIES
37     NAMES pixman-1
38 )
39
40 if (PIXMAN_INCLUDE_DIRS)
41     if (EXISTS "${PIXMAN_INCLUDE_DIRS}/pixman-version.h")
42         file(READ "${PIXMAN_INCLUDE_DIRS}/pixman-version.h" PIXMAN_VERSION_CONTENT)
43
44         string(REGEX MATCH "#define +PIXMAN_VERSION_MAJOR +([0-9]+)" _dummy "${PIXMAN_VERSION_CONTENT}")
45         set(PIXMAN_VERSION_MAJOR "${CMAKE_MATCH_1}")
46
47         string(REGEX MATCH "#define +PIXMAN_VERSION_MINOR +([0-9]+)" _dummy "${PIXMAN_VERSION_CONTENT}")
48         set(PIXMAN_VERSION_MINOR "${CMAKE_MATCH_1}")
49
50         string(REGEX MATCH "#define +PIXMAN_VERSION_MICRO +([0-9]+)" _dummy "${PIXMAN_VERSION_CONTENT}")
51         set(PIXMAN_VERSION_MICRO "${CMAKE_MATCH_1}")
52
53         set(PIXMAN_VERSION "${PIXMAN_VERSION_MAJOR}.${PIXMAN_VERSION_MINOR}.${PIXMAN_VERSION_MICRO}")
54     endif ()
55 endif ()
56
57 include(FindPackageHandleStandardArgs)
58 find_package_handle_standard_args(Pixman REQUIRED_VARS PIXMAN_INCLUDE_DIRS PIXMAN_LIBRARIES
59                                          VERSION_VAR PIXMAN_VERSION)
60
61 mark_as_advanced(
62     PIXMAN_INCLUDE_DIRS
63     PIXMAN_LIBRARIES
64 )