1*35238bceSAndroid Build Coastguard Worker# Try to find Wayland on a Unix system 2*35238bceSAndroid Build Coastguard Worker# 3*35238bceSAndroid Build Coastguard Worker# This will define: 4*35238bceSAndroid Build Coastguard Worker# 5*35238bceSAndroid Build Coastguard Worker# WAYLAND_FOUND - True if Wayland is found 6*35238bceSAndroid Build Coastguard Worker# WAYLAND_LIBRARIES - Link these to use Wayland 7*35238bceSAndroid Build Coastguard Worker# WAYLAND_INCLUDE_DIR - Include directory for Wayland 8*35238bceSAndroid Build Coastguard Worker# WAYLAND_DEFINITIONS - Compiler flags for using Wayland 9*35238bceSAndroid Build Coastguard Worker# 10*35238bceSAndroid Build Coastguard Worker# In addition the following more fine grained variables will be defined: 11*35238bceSAndroid Build Coastguard Worker# 12*35238bceSAndroid Build Coastguard Worker# WAYLAND_CLIENT_FOUND WAYLAND_CLIENT_INCLUDE_DIR WAYLAND_CLIENT_LIBRARIES 13*35238bceSAndroid Build Coastguard Worker# WAYLAND_SERVER_FOUND WAYLAND_SERVER_INCLUDE_DIR WAYLAND_SERVER_LIBRARIES 14*35238bceSAndroid Build Coastguard Worker# WAYLAND_EGL_FOUND WAYLAND_EGL_INCLUDE_DIR WAYLAND_EGL_LIBRARIES 15*35238bceSAndroid Build Coastguard Worker# 16*35238bceSAndroid Build Coastguard Worker# Copyright (c) 2013 Martin Gräßlin <[email protected]> 17*35238bceSAndroid Build Coastguard Worker# 18*35238bceSAndroid Build Coastguard Worker# Redistribution and use is allowed according to the terms of the BSD license. 19*35238bceSAndroid Build Coastguard Worker# For details see the accompanying COPYING-CMAKE-SCRIPTS file. 20*35238bceSAndroid Build Coastguard Worker 21*35238bceSAndroid Build Coastguard WorkerIF (NOT WIN32) 22*35238bceSAndroid Build Coastguard Worker IF (WAYLAND_INCLUDE_DIR AND WAYLAND_LIBRARIES) 23*35238bceSAndroid Build Coastguard Worker # In the cache already 24*35238bceSAndroid Build Coastguard Worker SET(WAYLAND_FIND_QUIETLY TRUE) 25*35238bceSAndroid Build Coastguard Worker ENDIF () 26*35238bceSAndroid Build Coastguard Worker 27*35238bceSAndroid Build Coastguard Worker # Use pkg-config to get the directories and then use these values 28*35238bceSAndroid Build Coastguard Worker # in the FIND_PATH() and FIND_LIBRARY() calls 29*35238bceSAndroid Build Coastguard Worker FIND_PACKAGE(PkgConfig) 30*35238bceSAndroid Build Coastguard Worker PKG_CHECK_MODULES(PKG_WAYLAND QUIET wayland-client wayland-server wayland-egl wayland-cursor) 31*35238bceSAndroid Build Coastguard Worker 32*35238bceSAndroid Build Coastguard Worker SET(WAYLAND_DEFINITIONS ${PKG_WAYLAND_CFLAGS}) 33*35238bceSAndroid Build Coastguard Worker 34*35238bceSAndroid Build Coastguard Worker FIND_PATH(WAYLAND_CLIENT_INCLUDE_DIR NAMES wayland-client.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS}) 35*35238bceSAndroid Build Coastguard Worker FIND_PATH(WAYLAND_SERVER_INCLUDE_DIR NAMES wayland-server.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS}) 36*35238bceSAndroid Build Coastguard Worker FIND_PATH(WAYLAND_EGL_INCLUDE_DIR NAMES wayland-egl.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS}) 37*35238bceSAndroid Build Coastguard Worker FIND_PATH(WAYLAND_CURSOR_INCLUDE_DIR NAMES wayland-cursor.h HINTS ${PKG_WAYLAND_INCLUDE_DIRS}) 38*35238bceSAndroid Build Coastguard Worker 39*35238bceSAndroid Build Coastguard Worker FIND_LIBRARY(WAYLAND_CLIENT_LIBRARIES NAMES wayland-client HINTS ${PKG_WAYLAND_LIBRARY_DIRS}) 40*35238bceSAndroid Build Coastguard Worker FIND_LIBRARY(WAYLAND_SERVER_LIBRARIES NAMES wayland-server HINTS ${PKG_WAYLAND_LIBRARY_DIRS}) 41*35238bceSAndroid Build Coastguard Worker FIND_LIBRARY(WAYLAND_EGL_LIBRARIES NAMES wayland-egl HINTS ${PKG_WAYLAND_LIBRARY_DIRS}) 42*35238bceSAndroid Build Coastguard Worker FIND_LIBRARY(WAYLAND_CURSOR_LIBRARIES NAMES wayland-cursor HINTS ${PKG_WAYLAND_LIBRARY_DIRS}) 43*35238bceSAndroid Build Coastguard Worker 44*35238bceSAndroid Build Coastguard Worker set(WAYLAND_INCLUDE_DIR ${WAYLAND_CLIENT_INCLUDE_DIR} ${WAYLAND_SERVER_INCLUDE_DIR} ${WAYLAND_EGL_INCLUDE_DIR} ${WAYLAND_CURSOR_INCLUDE_DIR}) 45*35238bceSAndroid Build Coastguard Worker 46*35238bceSAndroid Build Coastguard Worker set(WAYLAND_LIBRARIES ${WAYLAND_CLIENT_LIBRARIES} ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_EGL_LIBRARIES} ${WAYLAND_CURSOR_LIBRARIES}) 47*35238bceSAndroid Build Coastguard Worker 48*35238bceSAndroid Build Coastguard Worker list(REMOVE_DUPLICATES WAYLAND_INCLUDE_DIR) 49*35238bceSAndroid Build Coastguard Worker 50*35238bceSAndroid Build Coastguard Worker include(FindPackageHandleStandardArgs) 51*35238bceSAndroid Build Coastguard Worker 52*35238bceSAndroid Build Coastguard Worker # Hide warnings about this module defining packages that don't match the module name 53*35238bceSAndroid Build Coastguard Worker set(FPHSA_NAME_MISMATCHED TRUE) 54*35238bceSAndroid Build Coastguard Worker 55*35238bceSAndroid Build Coastguard Worker FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_CLIENT DEFAULT_MSG WAYLAND_CLIENT_LIBRARIES WAYLAND_CLIENT_INCLUDE_DIR) 56*35238bceSAndroid Build Coastguard Worker FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_SERVER DEFAULT_MSG WAYLAND_SERVER_LIBRARIES WAYLAND_SERVER_INCLUDE_DIR) 57*35238bceSAndroid Build Coastguard Worker FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_EGL DEFAULT_MSG WAYLAND_EGL_LIBRARIES WAYLAND_EGL_INCLUDE_DIR) 58*35238bceSAndroid Build Coastguard Worker FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND_CURSOR DEFAULT_MSG WAYLAND_CURSOR_LIBRARIES WAYLAND_CURSOR_INCLUDE_DIR) 59*35238bceSAndroid Build Coastguard Worker FIND_PACKAGE_HANDLE_STANDARD_ARGS(WAYLAND DEFAULT_MSG WAYLAND_LIBRARIES WAYLAND_INCLUDE_DIR) 60*35238bceSAndroid Build Coastguard Worker 61*35238bceSAndroid Build Coastguard Worker MARK_AS_ADVANCED( 62*35238bceSAndroid Build Coastguard Worker WAYLAND_INCLUDE_DIR WAYLAND_LIBRARIES 63*35238bceSAndroid Build Coastguard Worker WAYLAND_CLIENT_INCLUDE_DIR WAYLAND_CLIENT_LIBRARIES 64*35238bceSAndroid Build Coastguard Worker WAYLAND_SERVER_INCLUDE_DIR WAYLAND_SERVER_LIBRARIES 65*35238bceSAndroid Build Coastguard Worker WAYLAND_EGL_INCLUDE_DIR WAYLAND_EGL_LIBRARIES 66*35238bceSAndroid Build Coastguard Worker WAYLAND_CURSOR_INCLUDE_DIR WAYLAND_CURSOR_LIBRARIES 67*35238bceSAndroid Build Coastguard Worker ) 68*35238bceSAndroid Build Coastguard Worker 69*35238bceSAndroid Build Coastguard WorkerENDIF () 70