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).