[Development] Behavior change for QMake install targets since 5.9

Thiago Macieira thiago.macieira at intel.com
Sat Jul 22 06:14:56 CEST 2017


On Friday, 21 July 2017 20:40:44 PDT Kevin Kofler wrote:
> Roland Winklmeier wrote:
> > since 5.9 some of my projects install targets are failing. Investigation
> > has shown that the generated Makefiles reference now a different INSTALL
> > executable. Before it was 'install' from GNU coreutils and now it is
> > calling 'qmake -install qinstall'.
> 
> Would this:
> unix {
>   QINSTALL=$(INSTALL_FILE)
>   QINSTALL_PROGRAM=$(INSTALL_PROGRAM)
> }
> (in your .pro file) work around it?

No, those are Makefile variables, not qmake ones. 

qmake writes them unconditionally:
    t << "QINSTALL      = " << var("QMAKE_QMAKE") << " -install qinstall" << 
endl;
    t << "QINSTALL_PROGRAM = " << var("QMAKE_QMAKE") << " -install qinstall -
exe" << endl;

The only way to override them is to trick qmake into adding something to the 
Makefile that it doesn't expect to. Needless to say, brittle and unsupported.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center




More information about the Development mailing list