# FindWaylandScanner

Try to find wayland-scanner.

If the wayland-scanner executable is not in your PATH, you can provide an alternative name or full path location with the `WaylandScanner_EXECUTABLE` variable.

This will define the following variables:

`WaylandScanner_FOUND`

  True if wayland-scanner is available.

`WaylandScanner_EXECUTABLE`

  The wayland-scanner executable.

If `WaylandScanner_FOUND` is TRUE, it will also define the following imported target:

`Wayland::Scanner`

  The wayland-scanner executable.

This module provides the following functions to generate C protocol implementations:

> - `ecm_add_wayland_client_protocol`

> - `ecm_add_wayland_server_protocol`

    ecm_add_wayland_client_protocol(<target>
                                    PROTOCOL <xmlfile>
                                    BASENAME <basename>
                                    [PRIVATE_CODE])

    ecm_add_wayland_client_protocol(<source_files_var>
                                    PROTOCOL <xmlfile>
                                    BASENAME <basename>
                                    [PRIVATE_CODE])

Generate Wayland client protocol files from `<xmlfile>` XML definition for the `<basename>` interface and append those files to `<source_files_var>` or `<target>`.

`PRIVATE_CODE` instructs wayland-scanner to hide marshalling code from the compiled DSO for use in other DSOs. The default is to export this code.

    ecm_add_wayland_server_protocol(<target>
                                    PROTOCOL <xmlfile>
                                    BASENAME <basename>
                                    [PRIVATE_CODE])

    ecm_add_wayland_server_protocol(<source_files_var>
                                    PROTOCOL <xmlfile>
                                    BASENAME <basename>
                                    [PRIVATE_CODE])

Generate Wayland server protocol files from `<xmlfile>` XML definition for the `<basename>` interface and append those files to `<source_files_var>` or `<target>`.

`PRIVATE_CODE` instructs wayland-scanner to hide marshalling code from the compiled DSO for use in other DSOs. The default is to export this code.

Since 1.4.0.