aboutsummaryrefslogtreecommitdiff
path: root/docs/yaml
diff options
context:
space:
mode:
authorFlorian "sp1rit"​ <sp1ritCS@protonmail.com>2022-04-23 00:02:13 +0200
committerEli Schwartz <eschwartz93@gmail.com>2022-05-30 18:03:01 -0400
commitad8f24f232290b778dad1152583820512ecf9f63 (patch)
tree647218dcbfad61599bfcf77b3e79dd43d29e52b1 /docs/yaml
parent37fea630338a93cf7b8b6e91a38d45431d92bc5b (diff)
downloadmeson-ad8f24f232290b778dad1152583820512ecf9f63.zip
meson-ad8f24f232290b778dad1152583820512ecf9f63.tar.gz
meson-ad8f24f232290b778dad1152583820512ecf9f63.tar.bz2
Implement `preserve_path` for install_headers
The `install_headers` function now has an optional argument `preserve_path` that allows installing multi-directory headerfile structures that live alongside sourcecode with a single command. For example, the headerfile structure headers = [ 'one.h', 'two.h', 'alpha/one.h', 'alpha/two.h', 'alpha/three.h' 'beta/one.h' ] can now be passed to `install_headers(headers, subdir: 'mylib', preserve_path: true)` and the resulting directory tree will look like {prefix} └── include    └── mylib       ├── alpha       │   ├── one.h       │   ├── two.h       │   └── three.h       ├── beta       │   └── one.h       ├── one.h       └── two.h Fixes #3371
Diffstat (limited to 'docs/yaml')
-rw-r--r--docs/yaml/functions/install_headers.yaml16
1 files changed, 16 insertions, 0 deletions
diff --git a/docs/yaml/functions/install_headers.yaml b/docs/yaml/functions/install_headers.yaml
index cf8fb9f..50e1c55 100644
--- a/docs/yaml/functions/install_headers.yaml
+++ b/docs/yaml/functions/install_headers.yaml
@@ -29,6 +29,13 @@ example: |
install_headers('common.h', 'proj/kola.h', install_dir : 'cust', subdir : 'myproj')
```
+ This will install `common.h` into `/{prefix}/include` and `kola.h`
+ into `/{prefix}/include/proj/`:
+
+ ```meson
+ install_headers('common.h, 'proj/kola.h', preserve_path : true)
+ ```
+
varargs:
name: file
type: file | str
@@ -54,3 +61,12 @@ kwargs:
and optionally the owner/uid and group/gid for the installed files.
See the `install_mode` kwarg of [[install_data]] for more information.
+
+ preserve_path:
+ type: bool
+ since: 0.63.0
+ default: false
+ description: |
+ Disable stripping child-direcories from header files when installing.
+
+ This is equivalent to GNU Automake's `nobase` option.