[Development] [Interest] bug: qmake ignores CMAKE_CC and CMAKE_CXX while building Qt 5.3.2???

René J.V. Bertin rjvbertin at gmail.com
Tue Mar 24 12:42:53 CET 2015

On Tuesday March 24 2015 12:01:44 Oswald Buddenhagen wrote:

> On Sun, Mar 22, 2015 at 09:29:11PM +0100, René J.V. Bertin wrote:
> > I found the immediate culprit: build/qtbase/qmake/.qmake.stash
> >
> you shouldn't even have that file. it means you tried to build qmake
> with qmake, which is a bit of a non-starter for hopefully obvious

First: my bad. That's build/qtbase/.qmake.stash, so it's a level higher than what I wrote. Sorry for that.

If I also shouldn't have build/qtbase/.qmake.stash (I wrote this before noticing my mess-up):
I cannot claim that nothing attempted to do that, but I certainly didn't. Nor does my build script do this. The build script uses configure to set things up, and then invokes make. The .qmake.stash file is created after invoking main (otherwise I would probably have discovered its presence a lot earlier).

The only possibility I see for something like what you say to happen is running configure multiple times. I sure hope that's something that has been tested. It's not crucial for my workflow, but it is something I've been doing a lot (building qmake from scratch takes 5-6 minutes partly because it doesn't use a parallel build, too long to do repeatedly).

It's on my todo list to repeat the whole build process from scratch on OS X 10.6 with Qt 5.3.2, but I've made enough of such attempts before figuring out the .qmake.stash issue to be confident about my findings.

> as for overriding specific variables, hacking the *host* makespec
> (before configuring) as others pointed out will work.

And as I pointed out, this will not work for all "hacks" of all variables. With the stock configure (and non-modified features/mac/sdk.prf) you'll get an error from xcrun if you set QMAKE_CC or QMAKE_CXX to something including a path specification, and all other modifications to these variables that I tried were overridden. That's simply because configure and sdk.prf take QMAKE_CC and QMAKE_CXX and then do `xcrun -find $CMAKE_CC` (ditto for QMAKE_CXX).


More information about the Development mailing list