name: install_data
returns: void
description: |
  Installs files from the source tree that are listed as positional arguments.

  See [Installing](Installing.md) for more examples.

varargs:
  name: file
  type: file | str
  description: Files to install.

kwargs:
  install_dir:
    type: str
    description: |
      The absolute or relative path to the installation directory.
      If this is a relative path, it is assumed to be relative to the prefix.

      If omitted, the directory defaults to `{datadir}/{projectname}` *(since 0.45.0)*.

  install_mode:
    type: list[str | int]
    since: 0.38.0
    description: |
      specify the file mode in symbolic format and
      optionally the owner/uid and group/gid for the installed files. For
      example:

      `install_mode: 'rw-r--r--'` for just the file mode

      `install_mode: ['rw-r--r--', 'nobody', 'nogroup']` for the file mode and the user/group

      `install_mode: ['rw-r-----', 0, 0]` for the file mode and uid/gid

      To leave any of these three as the default, specify `false`.

  install_tag:
    type: str
    since: 0.60.0
    description: |
      A string used by the `meson install --tags` command
      to install only a subset of the files. By default these files have no install
      tag which means they are not being installed when `--tags` argument is specified.

  rename:
    type: list[str]
    since: 0.46.0
    description: |
      If specified renames each source file into corresponding file from `rename` list.
      Nested paths are allowed and they are
      joined with `install_dir`. Length of `rename` list must be equal to
      the number of sources.

  sources:
    type: list[file | str]
    description: Additional files to install.
