# qiBuild documentation

# qibuild.deps – Resolving dependencies

## DepsSolver

class `qibuild.deps.``DepsSolver`(build_worktree)

  Solve dependencies across projects in a build worktree and packages in a toolchain.

  `get_dep_projects`(projects, dep_types, reverse=False)

    Solve the dependencies of the list of projects :param: dep_types A list of dependencies types

    > (`["build"]`, `["runtime", "test"]`, etc.)

    Returns: | a list of projects in the build worktree

  `get_dep_packages`(projects, dep_types)

    Solve the dependencies of the list of projects :param: dep_types A list of dependencies types

    > (`["build"]`, `["runtime", "test"]`, etc.)

    Returns: | a list of packages in the build worktree’s toolchain

  `get_sdk_dirs`(project, dep_types)

    Get the list of build/sdk dirs on which the project depends Those will then be written in build/dependencies.cmake and added to CMAKE_PREFIX_PATH by qibuild-config.cmake

  `get_host_projects`(projects)

    Get a sorted list of all the projects listed as host dependencies.

## Functions defined in this module

`qibuild.deps.``read_deps_from_xml`(target, xml_elem)

  Read all the `<depends />` tags in the xml element and set `target.build_depends`, `target.run_depends`, `target.test_depends`.

Changelog CMake index Python index Index