v2.0¶
Command line¶
qibuild make
: add--coverity
option to build withcov-analisys
.qibuild clean
: syntax closer to other commands, cleans deep by default andrespects
--config
--single
and [project] options
Nicer output for all commands.
qibuild configure
: add a--summarize-options
argument toprint a summary of the build options at the end of the configuration
qibuild configure
: add--trace-cmake
to trace CMake function callsqibuild make
get rid of confusing and useless “–target” optionAdded a lot of short options (“-n” for “–dry-run”, “-f” for “–force”)
qibuild init
: add a--config
argument to set the default config used by the worktreeqibuild
: improve argument parsing.- Do not configure everything when running
qibuild configure
from an unknown subdirectory - Automatically add projects to the worktree when running
qibuild configure
for a project not yet added to the worktree - qibuild commands now accepts both project names and project paths
- Do not configure everything when running
qibuild
: change dependency resolution- Now take both build dependencies and runtime dependencies into account by default.
Use
--build-deps
to get only the build dependencies.
- Now take both build dependencies and runtime dependencies into account by default.
Use
qidoc
by-pass sphinx-build bug on macqidoc
make it work on archlinux (using sphinx-build2 by default)Added
qidoc open
to view generated documentation in a web browserAdded
qidoc list
list the known documentation projects in a worktreeqitoolchain list
better error message when there is no toolchainqidoc build
improve argument parsing, smarter when no argument is given, can build a doc project by passing its nameAdded
qisrc remove
Added
qisrc list
list the projects paths of a worktreeAdded
qisrc grep
to grep on every project of a worktreeAdded
qicd
(inspired byroscd
)qisrc init
can now be used with a git url (git@foo:manifest.git) (ala repo)qisrc init
: add-p, --profile
option to choose from several profiles (different xml files in the git url)qisrc init
: add-b, --branch
option to choose a branch in the manifest urlqisrc status
: now also display a message when the current branch is ahead or behind the remote branchAdded
qisrc sync
- configure local and remote branches
- automatically setup code review
- automatically synchronize git submodules
Added
qisrc push
: upload changes to code reviewAdded
qibuild deploy
, to deploy code to a remote deviceqibuild test
: learned--slow
qibuild test
: learned-n, --dry-run
to just list the test namesqibuild test
: learned--perf
to run performance testsqibuild test
:--test-name
has been removed, use-k PATTERN
Removed
qisrc fetch
, useqisrc init
insteadRemoved
qisrc pull
, useqisrc sync
insteadAdded
qitoolchain convert-package
, to turn a binary package into a qiBuild packageAdded
qitoolchain convert-package
, to turn a binary package or package directory into a qiBuild packageqitoolchain import-package
learned--batch
qitoolchain import-package
learned to import package directoryqibuild make
learned--verbose-make
qisrc
learnedreset
qisrc
learnedsnapshot
CMake¶
Added
qi_swig_wrap_java
Added
qi_install_python
Added
qi_stage_dir
, to find files from source directoriesAdded
qi_create_perf_test
qi_create_gtest
andqi_create_test
learned theSLOW
keyword so that tests are not run by default.qi_use_lib
learned theASSUME_SYSTEM_INCLUDE
flag to use-isystem
on the dependenciesqi_create_config_h
learned to useconfigure_file
flags such as@ONLY
qi_install_conf
learned to install configuration files in a SYSCONDIR outside the CMAKE_INSTALL_PREFIX subtree.$ qibuild configure foo $ qibuild install foo --prefix=/usr /tmp/without_sysconfdir $ tree /tmp/without_sysconfdir /tmp/without_sysconfdir/ usr/ etc/ foo.conf lib/ libfoo.so $ qibuild configure foo -D SYSCONFDIR=/etc $ qibuild install foo --prefix=/usr /tmp/with_sysconfdir $ tree /tmp/with_sysconfdir /tmp/with_sysconfdir/ etc/ foo.conf usr/ lib/ libfoo.so
qi_swig_wrap_python
learned to install python modules in the standard locationqibuild cmake modules:
- Added
hdf5
,openssl
,libevent_openssl
,qt_qtdbus
,qt_qttest
,boost_unit_test_framework
,boost_test_exec_monitor
,boost_timer
,boost_chrono
,rrd
,rrd_th
,jsoncpp
,zbar
- Renamed dbus into dbus-1, and dbus-glib into dbus-glib-1
qi_use_lib(OPENGL)
now uses upstream’sFindOpenGL.cmake
- ogre-tools: Allow to use more than one plugin.
- Added
qi_add_test
can now handle test script as target instead of binary.
Python¶
Added
qisrc.sync
for synchronizing a worktree with a manifestAdded
qisrc.review
for configuring a project to use gerritAdded
qibuild.deploy
to handle deploying code to a remote targetAdded
qibuild.gdb
to allow stripping debug symbols out of the librariesAdded
qibuild.ui
for tools to interact with the userAdded
qixml
to help XML parsing, get rid oflxml
dependencyAdded
qisrc.git.get_repo_root
Added
qisrc.git.is_submodule
Renamed qisrc.worktree.worktree_open to
qisrc.worktree.open_worktree
Renamed
qibuild.worktree
toqisrc.worktree
qibuild.config.QiBuildConfig.read
: learnedcreate_if_missing
optioninstall-qibuild.sh
now installsqibuild
scripts in~/.local/bin
qisrc.git.Git.call
fix usingquiet=True
withraises=False
qisrc.git.Git.get_current_branch
: return None when in ‘detached HEAD’ stateqibuild.command.call
learnedquiet
optionUsage of
qibuild.log
andlogging.py
has been deprecated, useqibuild.ui
insteadtoc.test_project
has been removed, useqibuild.ctest
insteadtoc.resolve_deps
has been removed, useqibuild.cmdparse.deps_from_args
insteadqisrc.git.get_current_branch
: return None when in ‘detached HEAD’ stateAdd
qixml
to help XML parsing, get rid oflxml
dependencyqibuild.command.call
addquiet
optionRemove usage of
qibuild.log
andlogging.py
to display nice colorized messages to the console, useqibuild.ui
module.Refactoring of the whole module
qibuild.archive
:- Non-compatible APIs
- Removed APIs:
qibuild.archive.extracted_name
qibuild.archive.archive_name
qibuild.archive.extract_tar
: useqibuild.archive.extract
insteadqibuild.archive.extract_zip
: useqibuild.archive.extract
insteadqibuild.archive.zip
: useqibuild.archive.compress
insteadqibuild.archive.zip_unix
: useqibuild.archive.compress
insteadqibuild.archive.zip_win
: useqibuild.archive.compress
instead
- New APIs:
qibuild.archive.compress
: includealgo
option, which is set tozip
when unspecifiedqibuild.archive.guess_algo
: guessing the compression method from the archive extension
- Updated APIs:
qibuild.archive.extract
:- support for the
topdir
option has been removed - add
algo
option, when unspecifiedalgo
is set tozip
on all platform
- support for the
Added
qibuild.cmake.modules
to handle CMake module generationRenamed
qibuild.cmdparse
toqibuild.script
qibuild.cmdparse
now centralize the parsing of qibuild actions arguments(guessing project from working directory and so on)