|
|
|
name: install_subdir
|
|
|
|
returns: void
|
|
|
|
description: |
|
|
|
|
Installs the entire given subdirectory and its contents from the
|
|
|
|
source tree to the location specified by the keyword argument
|
|
|
|
`install_dir`.
|
|
|
|
|
|
|
|
*(since 0.45.0, deprecated since 0.60.0)* If the subdirectory does not exist
|
|
|
|
in the source tree, an empty directory is created in the specified location.
|
|
|
|
A newly created subdirectory may only be created in the keyword argument
|
|
|
|
`install_dir`. There are a number of flaws with this method, and it was never
|
|
|
|
intentionally designed to work this way, please use [[install_emptydir]]
|
|
|
|
instead.
|
|
|
|
|
|
|
|
example: |
|
|
|
|
For a given directory `foo`:
|
|
|
|
```text
|
|
|
|
foo/
|
|
|
|
bar/
|
|
|
|
file1
|
|
|
|
file2
|
|
|
|
```
|
|
|
|
`install_subdir('foo', install_dir : 'share', strip_directory : false)` creates
|
|
|
|
```text
|
|
|
|
share/
|
|
|
|
foo/
|
|
|
|
bar/
|
|
|
|
file1
|
|
|
|
file2
|
|
|
|
```
|
|
|
|
|
|
|
|
`install_subdir('foo', install_dir : 'share', strip_directory : true)` creates
|
|
|
|
```text
|
|
|
|
share/
|
|
|
|
bar/
|
|
|
|
file1
|
|
|
|
file2
|
|
|
|
```
|
|
|
|
|
|
|
|
`install_subdir('foo/bar', install_dir : 'share', strip_directory : false)` creates
|
|
|
|
```text
|
|
|
|
share/
|
|
|
|
bar/
|
|
|
|
file1
|
|
|
|
```
|
|
|
|
|
|
|
|
`install_subdir('foo/bar', install_dir : 'share', strip_directory : true)` creates
|
|
|
|
```text
|
|
|
|
share/
|
|
|
|
file1
|
|
|
|
```
|
|
|
|
|
|
|
|
`install_subdir('new_directory', install_dir : 'share')` creates
|
|
|
|
```text
|
|
|
|
share/
|
|
|
|
new_directory/
|
|
|
|
```
|
|
|
|
|
|
|
|
posargs:
|
|
|
|
subdir_name:
|
|
|
|
type: str
|
|
|
|
description: The sub-directory to install
|
|
|
|
|
|
|
|
kwargs:
|
|
|
|
install_mode:
|
|
|
|
type: list[str | int]
|
|
|
|
since: 0.47.0
|
|
|
|
description: |
|
|
|
|
Specify the file mode in symbolic format
|
|
|
|
and optionally the owner/uid and group/gid for the installed files.
|
|
|
|
|
|
|
|
See the `install_mode` kwarg of [[install_data]] for more information.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
exclude_files:
|
|
|
|
type: list[str]
|
|
|
|
description: |
|
|
|
|
A list of file names that should not be installed.
|
|
|
|
Names are interpreted as paths relative to the `subdir_name` location.
|
|
|
|
|
|
|
|
exclude_directories:
|
|
|
|
type: list[str]
|
|
|
|
since: 0.47.0
|
|
|
|
description: |
|
|
|
|
A list of directory names that should not be installed.
|
|
|
|
Names are interpreted as paths relative to the `subdir_name` location.
|
|
|
|
|
|
|
|
install_dir:
|
|
|
|
type: str
|
|
|
|
description: Where to install to.
|
|
|
|
|
|
|
|
strip_directory:
|
|
|
|
type: bool
|
|
|
|
since: 0.45.0
|
|
|
|
default: false
|
|
|
|
description: |
|
|
|
|
Install directory contents.
|
|
|
|
If `strip_directory=true` only the last component of the source path is used.
|