qiBuild documentation

v1.12.1

Command line

  • qitoolchain: add support for password-protected HTTP and FTP feed URLS.
  • Added qitoolchain clean-cache to clean toolchains cache
  • Added qidoc executable (work in progress)
  • Added qibuild find PACKAGE to display CMake variables relate to the package (work in progress)
  • Added qibuild config --wizard to configure both global and local settings
  • qibuild package: always build in debug and in release on windows
  • qisrc pull: fix return code on error (#6343)
  • qibuild config --edit : do not mess with stdin
  • qibuild init --interactive now calls qibuild config --wizard
  • qibuild install: force calling of ‘make preinstall’
  • qitoolchain update: update every toolchain by default
  • qibuild test: use a custom CTest implementation instead of using the ctest executable. (Makes continuous integration much easier)
  • qibuild package: clean command-line API
  • qibuild convert: add --no-cmake argument
  • qibuild convert: do not add include(qibuild.cmake) if it is already here
  • qisrc pull now call qisrc fetch first (#204)
  • qitoolchain create: prevent user to create bad toolchain names

CMake

  • Better way of finding qibuild cmake framework, using find_package(qibuild) instead of include(qibuild.cmake)
  • qi_create_gtest: prefer using a qibuild port of gtest
  • qi_create_gtest: disable the target when gtest is not found
  • qi_create_gtest: always add GTEST dependency
  • qi_stage_lib, qi_use_lib better handling when first arg is not a target
  • qi_create_lib did not honor NO_INSTALL argument
  • qi_install_* functions no longer recurse through directories by default, use qi_install_*(... RECURSE)
  • Added qi_create_test function, simpler to use than qi_add_test
  • Added new qibuild cmake modules:
    • lttng and its dependencies
    • opencv2
    • qtmobility, qtxmlpatterns, qt_qtscript, qtsvg
    • qxt-core, qtxt-network
    • pythonqt

Configuration files

  • Use XML configuration everywhere, conversion is done by qibuild on the fly for .qi/qibuild.cfg and <project>/qibuild.manifest
  • Path in the configuration files are now preprend to the OS environment variables instead of being appended.
  • Added a small tool to convert to new XML config (tools/convert-config)

Python

  • Remove deprecated warning message when using python 2.6.1 on Mac
  • qibuild.archive: by-pass python2.6 bugs
  • qibuild.archive.zip_win: actually compress the archive
  • qibuild.sh.to_native_path: follow symlinks
  • qibuild.sh.rm: use rmtree from gclient
  • qibuild.worktree: do not go through nested qi worktrees
  • qibuild.command: use NotInPath in qibuild.call
  • qibuild.toc.get_sdk_dirs: fix generation of dependencies.cmake in some corner cases
  • qibuild.Project: add a nice __repr__ method
  • qibuild does not crashes when an exception is raised which contains ‘%’ (#6205)

Misc:

  • Cleanup installation of qibuild itself with cmake
  • tests: rewrite python/run_test.py using nose
  • Makefile: allow usage of PYTHON environment variable
  • python/bin/qibuild script is usable as-is
  • Lots of documentation updates