# qiBuild documentation

# qibuild.cmake_builder - Building CMake projects

## CMakeBuilder

class `qibuild.cmake_builder.``CMakeBuilder`(build_worktree, projects=None)

  CMake driver. Allow building multiple cmake projects together. Dependencies can optionally be resolved and taken into account.

  `dep_types`

    The list of dependencies to use

  `build_config`

    The `CMakeBuildConfig` to use when building projects

  `build_env`

    The environment used when building projects

  `toolchain`

    The `Toolchain` to use when building

  `need_configure`(func)

    Decorator for every function that expects a build directory to exist.

  `bootstrap_projects`()

    Write the dependencies.cmake and the qi/path.conf files for every project.

  `get_sdk_dirs_for_project`(project)

    Get SDL Dir For Project

  `get_host_dirs`(project)

    Get Host Dirs

  `pre_build`(project)

    Called before building a project.

  `configure`(*args, **kwargs)

    Configure the projects in the correct order.

  `build`(*args, **kwargs)

    Build the projects in the correct order.

  `build_parallel`(*args, **kwargs)

    Build the projects (in parallel) in the correct order.

  `install`(*args, **kwargs)

    Install the projects and the packages to the dest dir

  static `post_install`(dest, installed, replace_duplicated_lib_by_symlink=False, remove_python_bytecode=False)
    Run post install optimizations like:
      - replace duplicated libs by a symlink
      - remove python bytecode (*.pyc, *.pyo)

    Parameters: | dest (str) – Installation directory installed (list) – List on installed files (path is relative to installation directory replace_duplicated_lib_by_symlink (bool) – If False, skip the symlink optimization remove_python_bytecode (bool) – If False, skrip the python bytecode removal

  `deploy`(*args, **kwargs)

    Deploy the project and the packages it depends to a remote url

## See also

- The Building CMake projects overview

Changelog CMake index Python index Index