| name: declare_dependency |
| returns: dep |
| description: | |
| This function returns a [[@dep]] object that |
| behaves like the return value of [[dependency]] but is |
| internal to the current build. The main use case for this is in |
| subprojects. This allows a subproject to easily specify how it should |
| be used. This makes it interchangeable with the same dependency that |
| is provided externally by the system. |
| |
| kwargs: |
| compile_args: |
| type: list[str] |
| description: Compile arguments to use. |
| |
| dependencies: |
| type: list[dep] |
| description: Other dependencies needed to use this dependency. |
| |
| include_directories: |
| type: list[inc | str] |
| description: | |
| the directories to add to header search path, |
| must be [[@inc]] objects or *(since 0.50.0)* plain strings. |
| |
| link_args: |
| type: list[str] |
| description: Link arguments to use. |
| |
| link_with: |
| type: list[lib] |
| description: Libraries to link against. |
| |
| link_whole: |
| type: list[lib] |
| since: 0.46.0 |
| description: Libraries to link fully, same as [[executable]]. |
| |
| sources: |
| type: list[str | file | custom_tgt | custom_idx | generated_list] |
| description: | |
| sources to add to targets |
| (or generated header files |
| that should be built before sources including them are built) |
| |
| extra_files: |
| type: list[str | file] |
| since: 1.2.0 |
| description: | |
| extra files to add to targets. |
| mostly used for IDE integration. |
| |
| version: |
| type: str |
| description: | |
| the version of this dependency, |
| such as `1.2.3`. Defaults to the project version. |
| |
| variables: |
| type: dict[str] | list[str] |
| since: 0.54.0 |
| description: | |
| a dictionary of arbitrary strings, |
| this is meant to be used |
| in subprojects where special variables would be provided via cmake or |
| pkg-config. *since 0.56.0* it can also be a list of `'key=value'` strings. |
| |
| d_module_versions: |
| type: str | int | list[str | int] |
| since: 0.62.0 |
| description: | |
| The [D version identifiers](https://dlang.org/spec/version.html#version) to add |
| during the compilation of D source files. |
| |
| d_import_dirs: |
| type: list[inc | str] |
| since: 0.62.0 |
| description: | |
| the directories to add to the string search path (i.e. `-J` switch for DMD). |
| Must be [[@inc]] objects or plain strings. |
| |
| objects: |
| type: list[extracted_obj] |
| since: 1.1.0 |
| description: | |
| a list of object files, to be linked directly into the targets that use the |
| dependency. |