| 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/ |
| ``` |
| |
| warnings: |
| - the `install_mode` kwarg ignored integer values between 0.59.0 -- 1.1.0. |
| |
| 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. |
| |
| follow_symlinks: |
| type: bool |
| since: 1.3.0 |
| default: true |
| description: | |
| If true, dereferences links and copies their target instead. The default |
| value will become false in the future. |