aboutsummaryrefslogtreecommitdiff
path: root/find-modules/FindX11_XCB.cmake
diff options
context:
space:
mode:
authorDavid Faure <faure@kde.org>2012-07-24 20:42:42 +0200
committerDavid Faure <faure@kde.org>2012-10-31 18:24:32 +0100
commite80c4de28ab31bd90875c792448aec671a288957 (patch)
tree99c6c8bd1c56e3f2c115a4b5129ff47c8bce1314 /find-modules/FindX11_XCB.cmake
parentc93d3ac8c50ef000f17aabb394ddde2c53785892 (diff)
downloadextra-cmake-modules-e80c4de28ab31bd90875c792448aec671a288957.tar.gz
extra-cmake-modules-e80c4de28ab31bd90875c792448aec671a288957.tar.bz2
Add XCB find modules by Fredrik Höglund <fredrik@kde.org>
At least one bug: XCB_INCLUDE_DIR contains NOTFOUND if at least one module is missing (e.g. UTIL and EWMH, here), which makes XCB_FOUND false. Please review, and port to FIND_PACKAGE(XCB COMPONENTS ...) CCMAIL: kde-buildsystem@kde.org
Diffstat (limited to 'find-modules/FindX11_XCB.cmake')
-rw-r--r--find-modules/FindX11_XCB.cmake31
1 files changed, 31 insertions, 0 deletions
diff --git a/find-modules/FindX11_XCB.cmake b/find-modules/FindX11_XCB.cmake
new file mode 100644
index 00000000..e2c18a99
--- /dev/null
+++ b/find-modules/FindX11_XCB.cmake
@@ -0,0 +1,31 @@
+# - Try to find libX11-xcb
+# Once done this will define
+#
+# X11_XCB_FOUND - system has libX11-xcb
+# X11_XCB_LIBRARIES - Link these to use libX11-xcb
+# X11_XCB_INCLUDE_DIR - the libX11-xcb include dir
+# X11_XCB_DEFINITIONS - compiler switches required for using libX11-xcb
+
+# Copyright (c) 2011 Fredrik Höglund <fredrik@kde.org>
+# Copyright (c) 2008 Helio Chissini de Castro, <helio@kde.org>
+# Copyright (c) 2007 Matthias Kretz, <kretz@kde.org>
+#
+# Redistribution and use is allowed according to the terms of the BSD license.
+# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+
+IF (NOT WIN32)
+ # use pkg-config to get the directories and then use these values
+ # in the FIND_PATH() and FIND_LIBRARY() calls
+ FIND_PACKAGE(PkgConfig)
+ PKG_CHECK_MODULES(PKG_X11_XCB QUIET x11-xcb)
+
+ SET(X11_XCB_DEFINITIONS ${PKG_X11_XCB_CFLAGS})
+
+ FIND_PATH(X11_XCB_INCLUDE_DIR NAMES X11/Xlib-xcb.h HINTS ${PKG_X11_XCB_INCLUDE_DIRS})
+ FIND_LIBRARY(X11_XCB_LIBRARIES NAMES X11-xcb HINTS ${PKG_X11_XCB_LIBRARY_DIRS})
+
+ include(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(X11_XCB DEFAULT_MSG X11_XCB_LIBRARIES X11_XCB_INCLUDE_DIR)
+
+ MARK_AS_ADVANCED(X11_XCB_INCLUDE_DIR X11_XCB_LIBRARIES)
+ENDIF (NOT WIN32)