73 lines
1.9 KiB
YAML
73 lines
1.9 KiB
YAML
name: include_directories
|
|
returns: inc
|
|
description: |
|
|
Returns an opaque object which contains the directories (relative to
|
|
the current directory) given in the positional arguments. The result
|
|
can then be passed to the `include_directories:` keyword argument when
|
|
building executables or libraries. You can use the returned object in
|
|
any subdirectory you want, Meson will make the paths work
|
|
automatically.
|
|
|
|
Note that this function call itself does not add the directories into
|
|
the search path, since there is no global search path. For something
|
|
like that, see [`add_project_arguments()`](#add_project_arguments).
|
|
|
|
See also `implicit_include_directories` parameter of
|
|
[[executable]], which adds current source and build
|
|
directories to include path.
|
|
|
|
Each directory given is converted to two include paths: one that is
|
|
relative to the source root and one relative to the build root.
|
|
|
|
example: |
|
|
For example, with the following source tree layout in
|
|
`/home/user/project.git`:
|
|
|
|
`meson.build`:
|
|
```meson
|
|
project(...)
|
|
|
|
subdir('include')
|
|
subdir('src')
|
|
|
|
...
|
|
```
|
|
|
|
`include/meson.build`:
|
|
```meson
|
|
inc = include_directories('.')
|
|
|
|
...
|
|
```
|
|
|
|
`src/meson.build`:
|
|
```meson
|
|
sources = [...]
|
|
|
|
executable('some-tool', sources,
|
|
include_directories : inc,
|
|
...)
|
|
|
|
...
|
|
```
|
|
|
|
If the build tree is `/tmp/build-tree`, the following include paths
|
|
will be added to the `executable()` call: `-I/tmp/build-tree/include
|
|
-I/home/user/project.git/include`.
|
|
|
|
varargs:
|
|
name: includes
|
|
type: str
|
|
description: Include paths to add.
|
|
|
|
kwargs:
|
|
is_system:
|
|
type: bool
|
|
default: false
|
|
description: |
|
|
If set to `true`, flags the specified directories as system directories.
|
|
This means that
|
|
they will be used with the `-isystem` compiler argument rather than
|
|
`-I` on compilers that support this flag (in practice everything
|
|
except Visual Studio).
|