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