Qtbase/lib/cmake is not populated as it used to be.
-
I have a set of scripts for building Qt5 from source. Up until Qt 5.15.6, these scripts worked as they had for many Qt versions in the past, going back to some 4.x versions. At 5.15.11, something changed. All of the contents of QtMultimedia/lib/cmake appeared in Qtbase/lib/cmake after the build is finished. In the app that uses Qt, the configure looks for the cmake packages for many of the constituent packages, QtMultimedia. That search procedure only looked in QtBase/lib/cmake so it is failing now. Because we have a license for Qt, we have a commercial installation in addition to the one we have lightly modified, so If I need to, I can get the cmake scripts from there, but something is broken. My build process is not exotic. Just a straight-up init-repository that includes an explicit listing of "multimedia" in the list of required submodules followed by a call to configure and make. The platform I'm building for is iOS, but I'm not sure that's the problem, since in previous versions of Qt this script was used for broad spread platforms, and it always populated Qtbase/lib/cmake with Qt5Multimedia (or 4 long ago). Just at 5.15.11 did it start failing.
Is it necessary to explicitly specify that a submodule should copy it's lib/cmake to qtbase? It appears to also be a problem qtgui and maybe some others. I can specify its library locations with by defining Qt5Multimedia_DIR, and that works, but it was not necessary in the past, and it makes for a series of special cases for all the components. Is this a bug, or a new way of handling these libraries.
-
Hi,
Just a gut feeling but I think there's a bug in that release. There's no reason for that kind of change in a patch release.
-
Have I been too much of an early adopter? Is there any consensus on which versions are stable? I moved up the list of versions, hoping to find a fix for what I think is another bug, but maybe I went overboard going to 5.15.11.
-
Since it's a commercial release, you should check with the Qt Company.
-
FWIW, I found my problem (and it was my bad). There may have been a change in how things were done, and some legacy build scripts were confused by it, but it looks like it came down to the install. The tricky part is that when you use --development-build on configure, it performs an "install" automatically into the source folders under qtbase. That's what I was used to seeing - this pseudo install where everything is lined up under qtbase. When you create a release build, you typically use a --prefix to specify the destination for your install. So I was looking in qtbase for my complete install, when It was in fact in a completely separate folder as recommended on the docs. It was just a matter of getting my nose back in the documentation. To me, it looked like some kind of bug or incomplete setup, when in fact, I was just looking in the wrong place. Thanks for the feedback, but this was user error.