# qiBuild documentation

# qitoolchain.toolchain – Managing toolchains

A Toolchain is simply a set of binary packages.

## qitoolchain.toolchain.Toolchain

class `qitoolchain.toolchain.``Toolchain`(name)

  A toolchain is a set of packages

  If has a name that will later be used as ‘build config’ by the CMakeBuilder object.

  It has a configuration in ~/.config/qi/toolchains/<name.xml> looking like:

  Most of the work is done by the `qitoolchain.database.DataBase` class.

      <toolchain>
        <package name="..." path="..." />
      </toolchain>

  thus added packages are stored permanently.

  `name`

    The name of the toolchain

  `packages`

    A list of `QiPackage` instances

  `toolchain_file`

    The path to the generated toolchain file. Usually in `.cache/qi/toolchains/<name>/toolchain-<name>.cmake)`) It sets `CMAKE_FIND_ROOT_PATH` and includes the necessary toolchain files, for instance:

        # Autogenerted file
        include("/path/to/a/ctc/cross-config.cmake")
        list(INSERT CMAKE_FIND_ROOT_PATH 0 "/path/to/a/ctc")
        list(INSERT CMAKE_FIND_ROOT_PATH 0 "/path/to/a/package")

  `add_package`(package)

    Add a package to this toolchain

    Parameters: | package – A `QiPackage` instance

  `remove_package`(name)

    Remove a package from this toolchain

  `remove`()

    Remove self.

    Clean cache, remove all packages, remove self from configuration

  `update`(feed_url=None)

    Parse an xml feed, adding packages to self while doing so See Parsing toolchain feeds and `qitoolchain.feed` for details

Changelog CMake index Python index Index