[Qbs] Install/Depends resolution changed from qbs 1.12.2 to qbs 1.13.0?
Christian.Kandeler at qt.io
Thu May 16 12:19:14 CEST 2019
On Thu, 16 May 2019 09:17:37 +0000
Maximilian Hrabowski <hrabowski at clausmark.com> wrote:
> after upgrading to qbs 1.13 our build was broken.
> During the build process a generator tool it built that depends on a framework which is also build. The generator tool is later used to generate code that will be compiled into static libraries (services):
> 1. build framework “framework"
> 2. build generator “generator” (Depends on “framework, exports build rules)
> 3. build services (by running “generator” first)
> The generator is installed to the install-root and executed from there.
> With qbs 1.12.2 everything runs well, with qbs 1.13.0 the build breaks at 3:
> - The generator cannot be executed because the dynamic library “framework” cannot be found.
> - So it seems “generator” is executed before “framework” is installed to install-root
> I’m not sure whether this is a regression (maybe introduced by the new install/installDir properties) or there is just a flaw in our dependencies.
The reason for this kind of problem is usually a missing rule dependency, in this case between the generator and the framework. I.e. an output tag of the rule that produces the framework must appear as some sort of input to the generator rule. For more concrete help, I'd need to see the project. If you can't share it, you might want to produce a minimal example that exhibits the problem.
More information about the Qbs