Opened 13 years ago
Closed 13 years ago
#233 closed defect (fixed)
Wrong executable location for debug_and_release
Reported by: | rudi | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | Qt 4.7 |
Component: | qmake | Version: | |
Severity: | low | Keywords: | |
Cc: |
Description
When rebuilding a project the uses debug_and_release (non-shadow), I noticed that the executable and *.SYM file ended up in the current (i.e. the source) directory. With previous versions (as well as on Windows), the executables are created in the debug and release subdirectories. The current makefile.xxxx section looks like this:
QMAKE_TARGET = DoseControl DESTDIR = TARGET = DoseControl.exe DESTDIR_TARGET = DoseControl.exe
while previous versions of QMake created:
QMAKE_TARGET = DoseControl DESTDIR = release #avoid trailing-slash linebreak TARGET = DoseControl.exe DESTDIR_TARGET = release\DoseControl.exe
Change History (5)
comment:1 by , 13 years ago
comment:2 by , 13 years ago
You are right, debug_and_release_target is not there. However, in Windows, this option is set in qmake.conf while in our case it is not. In 4.6.3 it was set in qtconfig.pri. That's why 4.6.3 and 4.7.3 behave differently on OS/2.
comment:3 by , 13 years ago
Ahh, now I see why. It's caused by configure.cmd. When a shadow build is requested, configure.cmd will ignore the option "-debug-and-release" unless you specify "-release" before. This is, because G.CFG_DEBUG stays on "auto" even though the user has forced it otherwise.
comment:4 by , 13 years ago
In other words, -debug-and-release didn't have any effect unless -release was also specified. It's a "feature" of the original configure which I copied over. However, I see no point in maintaining compatibility here, so I fixed it in r1001.
comment:5 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
I guess you use the shadow build of Qt with this project and the project's CONFIG statement only contains "debug_and_release" and no "debug_and_release_target" (or "debug_and_release_target" is missing from CONFIG for some other reason). The latter option is responsible to place the resulting executable to the separate directories.
I checked both shadow and non-shadow builds here, everything works.