qmake vcxproj: Provide saner defaults for certain WinRT options

The default values for PCH, the -ZW switch, and CharacterSet aren't
ideal for WinRT projects, so adjust these accordingly.

Task-number: QTBUG-35328
Change-Id: I78021d0785fa84e15b1f17264daa599a9418f92e
Reviewed-by: Maurice Kalinowski <maurice.kalinowski@digia.com>
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
This commit is contained in:
Andrew Knight 2013-12-11 00:27:31 +02:00 committed by The Qt Project
parent 75df151eaa
commit fc5e948ea8

View File

@ -968,8 +968,12 @@ void VcprojGenerator::initConfiguration()
if (conf.CompilerVersion >= NET2012) {
conf.WinRT = project->isActiveConfig("winrt");
if (conf.WinRT)
if (conf.WinRT) {
conf.WinPhone = project->isActiveConfig("winphone");
// Saner defaults
conf.compiler.UsePrecompiledHeader = pchNone;
conf.compiler.CompileAsWinRT = _False;
}
}
conf.Name = project->values("BUILD_NAME").join(' ');
@ -986,7 +990,7 @@ void VcprojGenerator::initConfiguration()
conf.ATLMinimizesCRunTimeLibraryUsage = (project->first("ATLMinimizesCRunTimeLibraryUsage").isEmpty() ? _False : _True);
conf.BuildBrowserInformation = triState(temp.isEmpty() ? (short)unset : temp.toShort());
temp = project->first("CharacterSet");
conf.CharacterSet = charSet(temp.isEmpty() ? (short)charSetNotSet : temp.toShort());
conf.CharacterSet = charSet(temp.isEmpty() ? short(conf.WinRT ? charSetUnicode : charSetNotSet) : temp.toShort());
conf.DeleteExtensionsOnClean = project->first("DeleteExtensionsOnClean").toQString();
conf.ImportLibrary = conf.linker.ImportLibrary;
conf.IntermediateDirectory = project->first("OBJECTS_DIR").toQString();