Changelog
1.14
Command line
- lots of bug fixes for XCode
- do not force CMAKE_BUILD_TYPE to be all upper-case. Now CMAKE_BUILD_TYPE equals
(“Debug” or “Release”). Note that the build folder name did not change
(It’s still build-<config>-release when using qibuild configure –release)
- do not fail if default config is non existent
- qitolchain: now can set cmake generator from the feed.
- qitolchain: preserve permissions when using .zip packages on linux and mac
- mechanism to copy dlls inside the build dir and create the symlinks
at the end of the compilation is now done by the qibuild executable,
and NOT from the CMakeList.
- qibuild help: sort available actions by name
- qibuild test: small bug fix for --test-name
- qibuild config --wizard: fix unsetting build dir or sdk dir
- qibuid config --wizard:: fix generator discovery for cmake 2.8.6 under windows
- qibuild configure: nicer error message when cmake segfaults
- qibuild configure: add --debug-trycompile option
- qibuild package : add --include-deps option
- qidoc: fix for archlinux
- qibuild configure: you can now use -c system if you have a default
config in your worktree but still do not want to use it
- qitolchain: add import-package action able to import binary packages into
a cross-toolchain.
CMake
- add qi_sanitize_compile_flags
- qi_use_lib sort and remove duplicates of include dirs
- qi_stage_lib: allow adding custom_code
- qi_stage_bin is now implemented
- qi_stage_header_only_lib using DEPENDS did not work
- qi_stage_lib: changed the way STAGED_NAME works.
- qi_use_lib: optimize dependency handling
- swig/python: keep number of include dirs reasonable
- target get rid of ‘STAGE’ args for qi_create_* functions
- install: support for macosx bundles
- qibuild cmake modules:
- added qtopengl, qtmultimedia, qt_phonon, eigen3, iphlpapi
- now using upstream FindQt4.cmake to find qt when qmake is in PATH.
- now using using FindBoost.cmake
- zeromq: add dependency on RT for linux
- libevent: add dependency on RT for linux
Python
- add qibuild.sh.change_cwd()
- add qibuild.sh.is_executable_binary()
- qisrc.git : rewrite
- qibuild.cmdparse.run_action() : allow adding --quiet-commands
- add qitoolchain.binary_package() : provide functions to open binary
packages
- add qitoolchain.binary_package.core() : abstract class for binary
package provided by standard Linux distribution
- add qottolchain.binary_package.gentoo() : binary package class for
Gentoo package (does not depends on portage)
- add qottolchain.binary_package.gentoo_portage() : binary package
class for Gentoo package taking benefit from portage
- :py:func: qibuild.archive.extract , :py:func: qibuild.archive.extract_zip ,
:py:func: qibuild.archive.extract_tar : add quiet keyword argument
allowing non-verbose extraction
- :py:func: qibuild.archive.extract_tar : fix archive name guessing
- :py:func: qibuild.interact : add get_editor function
Misc
- lots of documentation updates
1.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-newtork
- 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.
- Add 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
1.12
First public release