~ubuntu-branches/ubuntu/wily/libkscreen/wily-proposed

« back to all changes in this revision

Viewing changes to cmake/modules/FindXCB.cmake

  • Committer: Package Import Robot
  • Author(s): Jonathan Riddell
  • Date: 2014-10-01 15:47:21 UTC
  • Revision ID: package-import@ubuntu.com-20141001154721-96ng88bgtxpj8sjv
Tags: upstream-5.1.0.1
Import upstream version 5.1.0.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# Try to find XCB on a Unix system
 
2
#
 
3
# This will define:
 
4
#
 
5
#   XCB_FOUND       - True if xcb is available
 
6
#   XCB_LIBRARIES   - Link these to use xcb
 
7
#   XCB_INCLUDE_DIR - Include directory for xcb
 
8
#   XCB_DEFINITIONS - Compiler flags for using xcb
 
9
#
 
10
# In addition the following more fine grained variables will be defined:
 
11
#
 
12
#   XCB_XCB_FOUND        XCB_XCB_INCLUDE_DIR        XCB_XCB_LIBRARIES
 
13
#   XCB_COMPOSITE_FOUND  XCB_COMPOSITE_INCLUDE_DIR  XCB_COMPOSITE_LIBRARIES
 
14
#   XCB_DAMAGE_FOUND     XCB_DAMAGE_INCLUDE_DIR     XCB_DAMAGE_LIBRARIES
 
15
#   XCB_XFIXES_FOUND     XCB_XFIXES_INCLUDE_DIR     XCB_XFIXES_LIBRARIES
 
16
#   XCB_RENDER_FOUND     XCB_RENDER_INCLUDE_DIR     XCB_RENDER_LIBRARIES
 
17
#   XCB_RANDR_FOUND      XCB_RANDR_INCLUDE_DIR      XCB_RANDR_LIBRARIES
 
18
#   XCB_SHAPE_FOUND      XCB_SHAPE_INCLUDE_DIR      XCB_SHAPE_LIBRARIES
 
19
#   XCB_SHM_FOUND        XCB_SHM_INCLUDE_DIR        XCB_SHM_LIBRARIES
 
20
#   XCB_SYNC_FOUND       XCB_SYNC_INCLUDE_DIR       XCB_SYNC_LIBRARIES
 
21
#   XCB_IMAGE_FOUND      XCB_IMAGE_INCLUDE_DIR      XCB_IMAGE_LIBRARIES
 
22
#   XCB_RENDERUTIL_FOUND XCB_RENDERUTIL_INCLUDE_DIR XCB_RENDERUTIL_LIBRARIES
 
23
#
 
24
# Copyright (c) 2012 Fredrik Höglund <fredrik@kde.org>
 
25
#
 
26
# Redistribution and use is allowed according to the terms of the BSD license.
 
27
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
28
 
 
29
 
 
30
IF (NOT WIN32)
 
31
  IF (XCB_INCLUDE_DIR AND XCB_LIBRARIES)
 
32
    # In the cache already
 
33
    SET(XCB_FIND_QUIETLY TRUE)
 
34
  ENDIF (XCB_INCLUDE_DIR AND XCB_LIBRARIES)
 
35
 
 
36
  # Use pkg-config to get the directories and then use these values
 
37
  # in the FIND_PATH() and FIND_LIBRARY() calls
 
38
  FIND_PACKAGE(PkgConfig)
 
39
  PKG_CHECK_MODULES(PKG_XCB QUIET xcb xcb-util xcb-composite xcb-xfixes xcb-damage xcb-render xcb-randr
 
40
                                  xcb-shape xcb-dri2 xcb-glx xcb-shm xcb-xv xcb-sync
 
41
                                  xcb-xtest xcb-icccm xcb-ewmh xcb-image xcb-renderutil)
 
42
 
 
43
  SET(XCB_DEFINITIONS ${PKG_XCB_CFLAGS})
 
44
 
 
45
  FIND_PATH(XCB_XCB_INCLUDE_DIR         NAMES xcb/xcb.h             HINTS ${PKG_XCB_INCLUDE_DIRS})
 
46
  FIND_PATH(XCB_COMPOSITE_INCLUDE_DIR   NAMES xcb/composite.h       HINTS ${PKG_XCB_INCLUDE_DIRS})
 
47
  FIND_PATH(XCB_XFIXES_INCLUDE_DIR      NAMES xcb/xfixes.h          HINTS ${PKG_XCB_INCLUDE_DIRS})
 
48
  FIND_PATH(XCB_DAMAGE_INCLUDE_DIR      NAMES xcb/damage.h          HINTS ${PKG_XCB_INCLUDE_DIRS})
 
49
  FIND_PATH(XCB_RENDER_INCLUDE_DIR      NAMES xcb/render.h          HINTS ${PKG_XCB_INCLUDE_DIRS})
 
50
  FIND_PATH(XCB_RANDR_INCLUDE_DIR       NAMES xcb/randr.h           HINTS ${PKG_XCB_INCLUDE_DIRS})
 
51
  FIND_PATH(XCB_SHAPE_INCLUDE_DIR       NAMES xcb/shape.h           HINTS ${PKG_XCB_INCLUDE_DIRS})
 
52
  FIND_PATH(XCB_SHM_INCLUDE_DIR         NAMES xcb/shm.h             HINTS ${PKG_XCB_INCLUDE_DIRS})
 
53
  FIND_PATH(XCB_SYNC_INCLUDE_DIR        NAMES xcb/sync.h            HINTS ${PKG_XCB_INCLUDE_DIRS})
 
54
  FIND_PATH(XCB_IMAGE_INCLUDE_DIR       NAMES xcb/xcb_image.h       HINTS ${PKG_XCB_INCLUDE_DIRS})
 
55
  FIND_PATH(XCB_RENDERUTIL_INCLUDE_DIR  NAMES xcb/xcb_renderutil.h  HINTS ${PKG_XCB_INCLUDE_DIRS})
 
56
 
 
57
  FIND_LIBRARY(XCB_XCB_LIBRARIES         NAMES xcb              HINTS ${PKG_XCB_LIBRARY_DIRS})
 
58
  FIND_LIBRARY(XCB_COMPOSITE_LIBRARIES   NAMES xcb-composite    HINTS ${PKG_XCB_LIBRARY_DIRS})
 
59
  FIND_LIBRARY(XCB_DAMAGE_LIBRARIES      NAMES xcb-damage       HINTS ${PKG_XCB_LIBRARY_DIRS})
 
60
  FIND_LIBRARY(XCB_XFIXES_LIBRARIES      NAMES xcb-xfixes       HINTS ${PKG_XCB_LIBRARY_DIRS})
 
61
  FIND_LIBRARY(XCB_RENDER_LIBRARIES      NAMES xcb-render       HINTS ${PKG_XCB_LIBRARY_DIRS})
 
62
  FIND_LIBRARY(XCB_RANDR_LIBRARIES       NAMES xcb-randr        HINTS ${PKG_XCB_LIBRARY_DIRS})
 
63
  FIND_LIBRARY(XCB_SHAPE_LIBRARIES       NAMES xcb-shape        HINTS ${PKG_XCB_LIBRARY_DIRS})
 
64
  FIND_LIBRARY(XCB_SHM_LIBRARIES         NAMES xcb-shm          HINTS ${PKG_XCB_LIBRARY_DIRS})
 
65
  FIND_LIBRARY(XCB_SYNC_LIBRARIES        NAMES xcb-sync         HINTS ${PKG_XCB_LIBRARY_DIRS})
 
66
  FIND_LIBRARY(XCB_IMAGE_LIBRARIES       NAMES xcb-image        HINTS ${PKG_XCB_LIBRARY_DIRS})
 
67
  FIND_LIBRARY(XCB_RENDERUTIL_LIBRARIES  NAMES xcb-render-util  HINTS ${PKG_XCB_LIBRARY_DIRS})
 
68
 
 
69
  set(XCB_INCLUDE_DIR ${XCB_XCB_INCLUDE_DIR} ${XCB_COMPOSITE_INCLUDE_DIR} ${XCB_XFIXES_INCLUDE_DIR}
 
70
          ${XCB_DAMAGE_INCLUDE_DIR} ${XCB_RENDER_INCLUDE_DIR} ${XCB_RANDR_INCLUDE_DIR}
 
71
          ${XCB_SHAPE_INCLUDE_DIR} ${XCB_SHM_INCLUDE_DIR} ${XCB_SYNC_INCLUDE_DIR}
 
72
          ${XCB_IMAGE_INCLUDE_DIR} ${XCB_RENDERUTIL_INCLUDE_DIR})
 
73
 
 
74
  set(XCB_LIBRARIES ${XCB_XCB_LIBRARIES} ${XCB_COMPOSITE_LIBRARIES} ${XCB_XFIXES_LIBRARIES}
 
75
          ${XCB_DAMAGE_LIBRARIES} ${XCB_RENDER_LIBRARIES} ${XCB_RANDR_LIBRARIES}
 
76
          ${XCB_SHAPE_LIBRARIES} ${XCB_SHM_LIBRARIES} ${XCB_SYNC_LIBRARIES}
 
77
          ${XCB_IMAGE_LIBRARIES} ${XCB_RENDERUTIL_LIBRARIES})
 
78
 
 
79
  list(REMOVE_DUPLICATES XCB_INCLUDE_DIR)
 
80
 
 
81
  include(FindPackageHandleStandardArgs)
 
82
 
 
83
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_XCB         DEFAULT_MSG  XCB_XCB_LIBRARIES         XCB_XCB_INCLUDE_DIR)
 
84
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_COMPOSITE   DEFAULT_MSG  XCB_COMPOSITE_LIBRARIES   XCB_COMPOSITE_INCLUDE_DIR)
 
85
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_DAMAGE      DEFAULT_MSG  XCB_DAMAGE_LIBRARIES      XCB_DAMAGE_INCLUDE_DIR)
 
86
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_XFIXES      DEFAULT_MSG  XCB_XFIXES_LIBRARIES      XCB_XFIXES_INCLUDE_DIR)
 
87
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_RENDER      DEFAULT_MSG  XCB_RENDER_LIBRARIES      XCB_RENDER_INCLUDE_DIR)
 
88
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_RANDR       DEFAULT_MSG  XCB_RANDR_LIBRARIES       XCB_RANDR_INCLUDE_DIR)
 
89
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_SHAPE       DEFAULT_MSG  XCB_SHAPE_LIBRARIES       XCB_SHAPE_INCLUDE_DIR)
 
90
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_SHM         DEFAULT_MSG  XCB_SHM_LIBRARIES         XCB_SHM_INCLUDE_DIR)
 
91
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_SYNC        DEFAULT_MSG  XCB_SYNC_LIBRARIES        XCB_SYNC_INCLUDE_DIR)
 
92
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_IMAGE       DEFAULT_MSG  XCB_IMAGE_LIBRARIES       XCB_IMAGE_INCLUDE_DIR)
 
93
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB_RENDERUTIL  DEFAULT_MSG  XCB_RENDERUTIL_LIBRARIES  XCB_RENDERUTIL_INCLUDE_DIR)
 
94
  FIND_PACKAGE_HANDLE_STANDARD_ARGS(XCB             DEFAULT_MSG  XCB_LIBRARIES             XCB_INCLUDE_DIR)
 
95
 
 
96
  MARK_AS_ADVANCED(
 
97
        XCB_INCLUDE_DIR             XCB_LIBRARIES
 
98
        XCB_XCB_INCLUDE_DIR         XCB_XCB_LIBRARIES
 
99
        XCB_COMPOSITE_INCLUDE_DIR   XCB_COMPOSITE_LIBRARIES
 
100
        XCB_DAMAGE_INCLUDE_DIR      XCB_DAMAGE_LIBRARIES
 
101
        XCB_XFIXES_INCLUDE_DIR      XCB_XFIXES_LIBRARIES
 
102
        XCB_RENDER_INCLUDE_DIR      XCB_RENDER_LIBRARIES
 
103
        XCB_RANDR_INCLUDE_DIR       XCB_RANDR_LIBRARIES
 
104
        XCB_SHAPE_INCLUDE_DIR       XCB_SHAPE_LIBRARIES
 
105
        XCB_SHM_INCLUDE_DIR         XCB_SHM_LIBRARIES
 
106
        XCB_SYNC_INCLUDE_DIR        XCB_SYNC_LIBRARIES
 
107
        XCB_IMAGE_INCLUDE_DIR       XCB_IMAGE_LIBRARIES
 
108
        XCB_RENDERUTIL_INCLUDE_DIR  XCB_RENDERUTIL_LIBRARIES
 
109
  )
 
110
 
 
111
ENDIF (NOT WIN32)