[Development] Behavior change for QMake install targets since 5.9

Roland Winklmeier roland.m.winklmeier at gmail.com
Fri Jul 21 17:39:15 CEST 2017


Hi Simon,

Preamble:
The problem I was trying to solve with wildcards was to install a shared
library target into two different directories. The first directory is
installed with a simple 'INSTALLS += target' line. The other path is
installed manually by a second INSTALLS definition and the files are
selected with a wild card. This was the easiest solution at the time and
the documentation said it was fine to do so.

> Since Qt itself has installs libraries alongside with .so symlinks and
> those are installed as symlinks, I wonder what the difference is between Qt
> and your application. Can you compare the command lines generated in the
> Makefiles?
>
I've checked the Makefiles. The only difference is that -$(INSTALL_FILE) is
replaced by -$(QINSTALL). The problem here is that make install used to be
able to handle wildcards during install time. QMake isn't. The difference
between Qt and my application is explained in the preamble (install to
second directory).

> It's true that the internal install command does not support wild-cards.
> We decided that it is the responsibility of the caller to resolve those
> (qmake).
>
The problem I have is that the build products are not yet available when
qmake is running. Qmake *is* able to resolve wild cards if the files are
available when qmake is running. But the products aren't existing yet. With
Qt 5.8 the install command line was something like

-$(INSTALL) /path/to/libfoo* $(INSTALL_ROOT)/path/to/install/libfoo*

which was perfectly ok on most OS's. I think only MacOS didn't like it.

But now its

-$(QINSTALL) /path/to/libfoo* $(INSTALL_ROOT)/path/to/install/libfoo*

and I get the error "Error: usage: [-exe] source target.

I can completely understand that the installation behavior needed to be
aligned across all operating systems. If we could revise the decision to no
allow wild cards, I would be very happy about it.

Cheers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20170721/60682c17/attachment.html>


More information about the Development mailing list