[Qbs] How to download and uncompress files with Qbs directly?

Oswald Buddenhagen oswald.buddenhagen at gmx.de
Mon Aug 5 12:21:46 CEST 2019


On Mon, Aug 05, 2019 at 08:25:35AM +0200, Richard Weickelt wrote:
> > Does Qbs support downloading and uncompressing files directly?
> 
> Not directly, because it is a build automation tool and not a package
> manager.
> 
that's not an argument at all. "support" often enough means "call
appropriate tools".

> > For example, I need to use Eigen 3.3.7
> > <http://bitbucket.org/eigen/eigen/get/3.3.7.tar.bz2> in my project, and
> > install it in the build folders of my projects. How to achieve my goal?
> 
> If you have a pkg-config file for Your library, then Qbs can generate a
> module on-the-fly. See https://doc.qt.io/qbs/module-providers.html
> 
already locally present packages are not the task at hand.

> Another automated and platform-independent library interface would be Conan
> or vpgkg. Have you searched for packages on bintray?
> 
these are some of the services that would need wrapping.

> If all that is not an option, then you might implement your own download &
> install solution.
> 
i would recommend that "your own" be something contributable upstream,
to get https://bugreports.qt.io/browse/QBS-62 resolved.

note that a key feature for configuration management is the ability to
pin the sources and versions of modules, which is why the "grown-ups"
from the java world (at least maven and bazel, and i presume also
gradle) support it. conversely, linux distributors *hate* it - they want
abstract package names and ranges of acceptable versions, based on
binary compatibility promises. a good implementation would permit strict
and relaxed operation with the same project files, and per-module
overrides from the outside to support selective unbundling (see also
QBS-61).

> You could potentially abuse Qbs probes for this.
>
i suspect the module provider framework would be a better basis.



More information about the Qbs mailing list