Details
-
Bug
-
Resolution: Done
-
P2: Important
-
Qt Creator 2.0.1
-
Nokia Qt SDK on Windows XP SP2
-
ea6c7f00834c136ac1b72224547276f5786e9a95
Description
The modified Qt Creator in the Nokia Qt SDK uses the "-after" parameter for qmake to organize obj, moc, ui and rcc files into directories.
E.g: qmake.exe SymbianClient.pro -r -spec symbian-abld -after OBJECTS_DIR=obj MOC_DIR=moc UI_DIR=ui RCC_DIR=rcc CONFIG+=release
As one can see, the CONFIG type is passed as one of the -after parameters, meaning that it is not accessible from the .pro file. A Symbian pro file can't tell if it is being built as debug or as release by testing CONFIG(debug,debug|release).
I have created a small test .pro file where I run
for(a, CONFIG){
message($$a)
}
From the Qt Creator qmake call, the output is:
Project MESSAGE: lex
Project MESSAGE: yacc
Project MESSAGE: warn_on
Project MESSAGE: debug
Project MESSAGE: uic
Project MESSAGE: resources
Project MESSAGE: stl_off
Project MESSAGE: qt
Project MESSAGE: warn_on
Project MESSAGE: release
Project MESSAGE: incremental
Project MESSAGE: debug
Project MESSAGE: shared
Project MESSAGE: stl
Project MESSAGE: exceptions
Project MESSAGE: rtti
Project MESSAGE: incredibuild_xge
Project MESSAGE: def_files
Project MESSAGE: mobility
We move the CONFIG += release before the "-after" parameter,
e.g: qmake.exe SymbianClient.pro -r -spec symbian-abld CONFIG+=release -after OBJECTS_DIR=obj MOC_DIR=moc UI_DIR=ui RCC_DIR=rcc
and manually run the command. The output is:
Project MESSAGE: lex
Project MESSAGE: yacc
Project MESSAGE: warn_on
Project MESSAGE: debug
Project MESSAGE: uic
Project MESSAGE: resources
Project MESSAGE: stl_off
Project MESSAGE: qt
Project MESSAGE: warn_on
Project MESSAGE: release
Project MESSAGE: incremental
Project MESSAGE: debug
Project MESSAGE: shared
Project MESSAGE: stl
Project MESSAGE: exceptions
Project MESSAGE: rtti
Project MESSAGE: incredibuild_xge
Project MESSAGE: def_files
Project MESSAGE: release
Project MESSAGE: mobility
The bottom line is that the .pro file parsed by the Qt Creator qmake call will always think that it's in the debug configuration, even when in release.