Blame cmake/FindXCB.cmake

Packit Bot 052d53
# Try to find XCB on a Unix system
Packit Bot 052d53
#
Packit Bot 052d53
# This will define:
Packit Bot 052d53
#
Packit Bot 052d53
#   XCB_FOUND       - True if xcb is available
Packit Bot 052d53
#   XCB_LIBRARIES   - Link these to use xcb
Packit Bot 052d53
#   XCB_INCLUDE_DIR - Include directory for xcb
Packit Bot 052d53
#   XCB_DEFINITIONS - Compiler flags for using xcb
Packit Bot 052d53
#
Packit Bot 052d53
# In addition the following more fine grained variables will be defined:
Packit Bot 052d53
#
Packit Bot 052d53
#   XCB_XCB_FOUND        XCB_XCB_INCLUDE_DIR        XCB_XCB_LIBRARIES
Packit Bot 052d53
#
Packit Bot 052d53
# Copyright (c) 2012 Fredrik Höglund <fredrik@kde.org>
Packit Bot 052d53
#
Packit Bot 052d53
# Redistribution and use is allowed according to the terms of the BSD license.
Packit Bot 052d53
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
Packit Bot 052d53
Packit Bot 052d53
if (XCB_INCLUDE_DIR AND XCB_LIBRARIES)
Packit Bot 052d53
    # In the cache already
Packit Bot 052d53
    set(XCB_FIND_QUIETLY TRUE)
Packit Bot 052d53
endif (XCB_INCLUDE_DIR AND XCB_LIBRARIES)
Packit Bot 052d53
Packit Bot 052d53
# Use pkg-config to get the directories and then use these values
Packit Bot 052d53
# in the FIND_PATH() and FIND_LIBRARY() calls
Packit Bot 052d53
find_package(PkgConfig)
Packit Bot 052d53
pkg_check_modules(PKG_XCB QUIET xcb)
Packit Bot 052d53
Packit Bot 052d53
set(XCB_DEFINITIONS ${PKG_XCB_CFLAGS})
Packit Bot 052d53
Packit Bot 052d53
find_path(XCB_XCB_INCLUDE_DIR
Packit Bot 052d53
            NAMES xcb/xcb.h
Packit Bot 052d53
            HINTS ${PKG_XCB_INCLUDE_DIRS})
Packit Bot 052d53
Packit Bot 052d53
find_library(XCB_XCB_LIBRARIES
Packit Bot 052d53
            NAMES xcb
Packit Bot 052d53
            HINTS ${PKG_XCB_LIBRARY_DIRS})
Packit Bot 052d53
Packit Bot 052d53
set(XCB_INCLUDE_DIR ${XCB_XCB_INCLUDE_DIR})
Packit Bot 052d53
Packit Bot 052d53
set(XCB_LIBRARIES ${XCB_XCB_LIBRARIES})
Packit Bot 052d53
Packit Bot 052d53
list(REMOVE_DUPLICATES XCB_INCLUDE_DIR)
Packit Bot 052d53
Packit Bot 052d53
include(FindPackageHandleStandardArgs)
Packit Bot 052d53
Packit Bot 052d53
find_package_handle_standard_args(XCB
Packit Bot 052d53
    FOUND_VAR
Packit Bot 052d53
        XCB_FOUND
Packit Bot 052d53
    REQUIRED_VARS
Packit Bot 052d53
        XCB_LIBRARIES
Packit Bot 052d53
        XCB_INCLUDE_DIR
Packit Bot 052d53
)
Packit Bot 052d53
Packit Bot 052d53
mark_as_advanced(XCB_INCLUDE_DIR XCB_LIBRARIES)