wayland/1.22.0

Wayland is a project to define a protocol for a compositor to talk to its clients as well as a library implementation of the protocol
Recipe info
2024-04-18

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
wayland/1.22.0

Using wayland

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
wayland/1.22.0
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("wayland/1.22.0")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): wayland
  • CMake target name(s): wayland::wayland
  • wayland-egl => wayland::wayland-egl
    wayland-client => wayland::wayland-client
    wayland-cursor => wayland::wayland-cursor
    wayland-server => wayland::wayland-server
    wayland-scanner => wayland::wayland-scanner
    wayland-egl-backend => wayland::wayland-egl-backend
    
  • pkg-config file name(s): wayland.pc
  • wayland-egl => wayland-egl.pc
    wayland-client => wayland-client.pc
    wayland-cursor => wayland-cursor.pc
    wayland-server => wayland-server.pc
    wayland-scanner => wayland-scanner.pc
    wayland-egl-backend => wayland-egl-backend.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(wayland REQUIRED)
# ...
target_link_libraries(YOUR_TARGET wayland::wayland)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the wayland homepage listed above:

#include "wayland-client-core.h"
#include "wayland-client-protocol.h"
#include "wayland-client.h"
#include "wayland-cursor.h"
#include "wayland-egl-backend.h"
#include "wayland-egl-core.h"
#include "wayland-egl.h"
#include "wayland-server-core.h"
#include "wayland-server-protocol.h"
#include "wayland-server.h"
#include "wayland-util.h"
#include "wayland-version.h"