v2.0¶
Command line¶
qibuild make: add--coverityoption to build withcov-analisys.qibuild clean: syntax closer to other commands, cleans deep by default andrespects
--config--singleand [project] options
Nicer output for all commands.
qibuild configure: add a--summarize-optionsargument toprint a summary of the build options at the end of the configuration
qibuild configure: add--trace-cmaketo trace CMake function callsqibuild makeget rid of confusing and useless “–target” optionAdded a lot of short options (“-n” for “–dry-run”, “-f” for “–force”)
qibuild init: add a--configargument to set the default config used by the worktreeqibuild: improve argument parsing.- Do not configure everything when running
qibuild configurefrom an unknown subdirectory - Automatically add projects to the worktree when running
qibuild configurefor 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-depsto get only the build dependencies.
- Now take both build dependencies and runtime dependencies into account by default.
Use
qidocby-pass sphinx-build bug on macqidocmake it work on archlinux (using sphinx-build2 by default)Added
qidoc opento view generated documentation in a web browserAdded
qidoc listlist the known documentation projects in a worktreeqitoolchain listbetter error message when there is no toolchainqidoc buildimprove argument parsing, smarter when no argument is given, can build a doc project by passing its nameAdded
qisrc removeAdded
qisrc listlist the projects paths of a worktreeAdded
qisrc grepto grep on every project of a worktreeAdded
qicd(inspired byroscd)qisrc initcan now be used with a git url (git@foo:manifest.git) (ala repo)qisrc init: add-p, --profileoption to choose from several profiles (different xml files in the git url)qisrc init: add-b, --branchoption 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--slowqibuild test: learned-n, --dry-runto just list the test namesqibuild test: learned--perfto run performance testsqibuild test:--test-namehas been removed, use-k PATTERNRemoved
qisrc fetch, useqisrc initinsteadRemoved
qisrc pull, useqisrc syncinsteadAdded
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-packagelearned--batchqitoolchain import-packagelearned to import package directoryqibuild makelearned--verbose-makeqisrclearnedresetqisrclearnedsnapshot
CMake¶
Added
qi_swig_wrap_javaAdded
qi_install_pythonAdded
qi_stage_dir, to find files from source directoriesAdded
qi_create_perf_testqi_create_gtestandqi_create_testlearned theSLOWkeyword so that tests are not run by default.qi_use_liblearned theASSUME_SYSTEM_INCLUDEflag to use-isystemon the dependenciesqi_create_config_hlearned to useconfigure_fileflags such as@ONLYqi_install_conflearned 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_pythonlearned 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_testcan now handle test script as target instead of binary.
Python¶
Added
qisrc.syncfor synchronizing a worktree with a manifestAdded
qisrc.reviewfor configuring a project to use gerritAdded
qibuild.deployto handle deploying code to a remote targetAdded
qibuild.gdbto allow stripping debug symbols out of the librariesAdded
qibuild.uifor tools to interact with the userAdded
qixmlto help XML parsing, get rid oflxmldependencyAdded
qisrc.git.get_repo_rootAdded
qisrc.git.is_submoduleRenamed qisrc.worktree.worktree_open to
qisrc.worktree.open_worktreeRenamed
qibuild.worktreetoqisrc.worktreeqibuild.config.QiBuildConfig.read: learnedcreate_if_missingoptioninstall-qibuild.shnow installsqibuildscripts in~/.local/binqisrc.git.Git.callfix usingquiet=Truewithraises=Falseqisrc.git.Git.get_current_branch: return None when in ‘detached HEAD’ stateqibuild.command.calllearnedquietoptionUsage of
qibuild.logandlogging.pyhas been deprecated, useqibuild.uiinsteadtoc.test_projecthas been removed, useqibuild.ctestinsteadtoc.resolve_depshas been removed, useqibuild.cmdparse.deps_from_argsinsteadqisrc.git.get_current_branch: return None when in ‘detached HEAD’ stateAdd
qixmlto help XML parsing, get rid oflxmldependencyqibuild.command.calladdquietoptionRemove usage of
qibuild.logandlogging.pyto display nice colorized messages to the console, useqibuild.uimodule.Refactoring of the whole module
qibuild.archive:- Non-compatible APIs
- Removed APIs:
qibuild.archive.extracted_nameqibuild.archive.archive_nameqibuild.archive.extract_tar: useqibuild.archive.extractinsteadqibuild.archive.extract_zip: useqibuild.archive.extractinsteadqibuild.archive.zip: useqibuild.archive.compressinsteadqibuild.archive.zip_unix: useqibuild.archive.compressinsteadqibuild.archive.zip_win: useqibuild.archive.compressinstead
- New APIs:
qibuild.archive.compress: includealgooption, which is set tozipwhen unspecifiedqibuild.archive.guess_algo: guessing the compression method from the archive extension
- Updated APIs:
qibuild.archive.extract:- support for the
topdiroption has been removed - add
algooption, when unspecifiedalgois set tozipon all platform
- support for the
Added
qibuild.cmake.modulesto handle CMake module generationRenamed
qibuild.cmdparsetoqibuild.scriptqibuild.cmdparsenow centralize the parsing of qibuild actions arguments(guessing project from working directory and so on)