Solved Why is jom called with "qmake all", and what does it mean?
-
@jsulm said in Why is jom called with "qmake all", and what does it mean?:
@Asperamanca jom.exe is another build tool which can compile several files in parallel. This way the build is much faster if you have more than one core. Check your kit in QtCreator, there must be a checkbox to activate/deactivate jom.
I don't see any options in any kit related to jom. If you find something, please give me a keyword to look for.
-
@Asperamanca Go to "Build & Run" on the "General" page at the bottom there is "Use jom instead of nmake" checkbox...
-
Thanks for that.
Now nmake is called with the mysterious "qmake_all" option, which it doesn't know what do do about, either.Any ideas on that?
-
@Asperamanca Try to delete the build folder, run qmake and build
-
@Asperamanca said in Why is jom called with "qmake all", and what does it mean?:
qmake_all
Without deeper knowing about this, this is just a target in your makefile that execute some steps.
If your Makefile does not contains this target, then it is maybe created with another/older
qmake
version.Try cleaning the build folder (and maybe deleting the
*.pro.user
) to build again from a clean state.Regards
Edit: @jsulm was faster :)
-
Indeed, my makefile includes the line:
qmake_all: FORCE
When I delete and regenerate the makefile, it's there again. No other files in my whole source tree contain the word "qmake_all", but it is contained within qmake.exe, so it seems to be some kind of hardcoded keyword.
-
@Asperamanca said in Why is jom called with "qmake all", and what does it mean?:
qmake_all: FORCE
If this is in your Makefile then it should work. This is what qmake puts into Makefile by default. What exact error do you get now with nmake?
-
14:40:49: Running steps for project lpad_widgets... 14:40:49: Starting: "C:\Qt\5.9.4\msvc2015\bin\qmake.exe" C:\sources\svcs\ent\lpad\frei\widgets\lpad_widgets.pro -spec win32-msvc "CONFIG+=debug" "CONFIG+=qml_debug" 14:40:49: The process "C:\Qt\5.9.4\msvc2015\bin\qmake.exe" exited normally. 14:40:49: Starting: "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe" qmake_all Microsoft (R) Program Maintenance Utility Version 14.00.24210.0 Copyright (C) Microsoft Corporation. All rights reserved. NMAKE : fatal error U1065: invalid option '"' Stop. 14:40:49: The process "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe" exited with code 2. Error while building/deploying project lpad_widgets (kit: Desktop Qt 5.9.4 MSVC2015 32bit2) The kit Desktop Qt 5.9.4 MSVC2015 32bit2 has configuration issues which might be the root cause for this problem. When executing step "qmake" 14:40:49: Elapsed time: 00:00.
I start to suspect that Creator has issues with double quotes...
-
@Asperamanca said in Why is jom called with "qmake all", and what does it mean?:
I am trying to find out why my autodetected MSVC 2015 kit for Qt 5.9.4 fails miserably in Qt Creator.
First test: Use this kit to create a brand new project (such as a Qt Widgets Application) and build that without any modifications. Does that work? If not, then the problem is in your kit or Qt Creator. Otherwise, the problem is in your lpad_widgets project.
@Asperamanca said in Why is jom called with "qmake all", and what does it mean?:
Indeed, my makefile includes the line:
qmake_all: FORCEThis means when nmake or jom or mingw32-make is started with the qmake_all argument, it will run everything under the target called "FORCE". Note that many other lines have FORCE too, not just qmake_all.
More info on how to FORCE is commonly used in Makefiles: https://www.gnu.org/software/make/manual/html_node/Force-Targets.html (Note: This is Section 4.7 in the document though, so you might need to read Sections 4.1- 4.6 to fully understand it)
-
Thanks for all your input. I dug my own grave here:
As a temporary workaround for this issue, I started Creator via a batch file that sets some variables, and since that was my normal desktop link, I wasn't really aware of it anymore (I created that workaround years ago, long before the issue was posted).
One of the variable was "--keep-going"...which of course MSVC doesn't understand...