# qiBuild documentation

# qibuild.project – Managing projects

## qibuild.project.BuildProject

class `qibuild.project.``BuildProject`(build_worktree, worktree_project)

  BuildProject Class

  `name`

    Name Getter

  `build_config`

    Build Config

  `license`

    Licence Getter

  `qiproject_xml`

    Path to qiproject.xml.

  `cmake_qibuild_dir`

    CMAke Build Dir

  `build_directory`

    Return a suitable build directory, depending on the build setting of the worktree: the build config, and whether or not a build prefix is set.

  `cmake_cache`

    CMake Cache

  `cmake_vars`

    CMake Vars

  `qitest_json`

    QiTest JSON

  `cmake_args`

    The list of CMake arguments to use when configuring the project. Delegates to build_config.cmake_args.

  `build_env`

    The environment to use when calling cmake or build commands.

  `sdk_directory`

    The sdk directory in the build directory.

  `cmake_generator`

    CMAke Generator

  `build_type`

    Build Type

  `using_visual_studio`

    Using Visual Studio

  `using_make`

    Using CMake

  `verbose_make`

    Verbose Make

  `write_dependencies_cmake`(sdk_dirs, host_dirs=None)

    Write the dependencies.cmake file. This will be read by qibuild-config.cmake to set CMAKE_PREFIX_PATH and qibuild_DIR, so that just running cmake .. works.

  `configure`(**kwargs)

    Delegate to `qibuild.cmake.cmake()`.

  `generate_qitest_json`()

    Generate QiTest JSON

  `build`(rebuild=False, target=None, coverity=False, env=None)

    Build the project.

  `parse_num_jobs`(num_jobs, cmake_generator=None)

    Convert a number of jobs to a list of cmake args.

  `install`(destdir, prefix=u'/', components=None, split_debug=False)

    Install the project. :param project: project name. :param destdir: destination. Note that when using qibuild install,

    > we will first call cmake to make sure CMAKE_INSTALL_PREFIX is `/`. But this function simply calls `cmake --target install` in the simple case.

    Parameters: | runtime – Whether to install the project as a runtime package or not. (see Using qi_install functions section for the details)
    Package split_debug:
    | split the debug symbols out of the binaries useful for qibuild deploy

  `run_tests`(**kwargs)

    Run Tests

  `to_test_project`()

    To Test Project

  `fix_shared_libs`(paths)

    Do some magic so that shared libraries from other projects and packages from toolchains are found. Called by CMakeBuilder before building. :param paths: a list of paths from which to look for dependencies

  `fix_env`(env)

    Fix Env

  `split_debug`(destdir, file_list)

    Split debug symbols after install.

  `get_build_dirs`(all_configs=False)

    Return a dictionary containing the build directory list. for the known and the unknown configurations:

        build_directories = {
            'known_configs' = [],
            'unknown_configs' = [],
        }

    Note: if all_configs if False, then the list of the unknown configuration remains empty.

  `get_host_sdk_dir`()

    Get Host SDK Dir

  `gen_package_xml`(output)

    Gen Package XML

Changelog CMake index Python index Index