Try to find Wayland.

This is a component-based find module, which makes use of the COMPONENTS and OPTIONAL_COMPONENTS arguments to find_module. The following components are available:

Client  Server  Cursor  Egl

If no components are specified, this module will act as though all components were passed to OPTIONAL_COMPONENTS.

This module will define the following variables, independently of the components searched for or found:


TRUE if (the requested version of) Wayland is available


Found Wayland version


A list of all targets imported by this module (note that there may be more than the components that were requested)


This can be passed to target_link_libraries() instead of the imported targets


This should be passed to target_include_directories() if the targets are not used for linking


This should be passed to target_compile_options() if the targets are not used for linking


The core wayland protocols data directory Since 5.73.0

For each searched-for components, Wayland_<component>_FOUND will be set to TRUE if the corresponding Wayland library was found, and FALSE otherwise. If Wayland_<component>_FOUND is TRUE, the imported target Wayland::<component> will be defined. This module will also attempt to determine Wayland_*_VERSION variables for each imported target, although Wayland_VERSION should normally be sufficient.

In general we recommend using the imported targets, as they are easier to use and provide more control. Bear in mind, however, that if any target is in the link interface of an exported library, it must be made available by the package config file.

Since pre-1.0.0.