summaryrefslogtreecommitdiff
path: root/qmake
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-05-02 17:43:17 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-05-13 13:39:22 +0200
commit348012f15f31bc08062881f3d81de2f84637dbab (patch)
treeff0f80e0ef1ee9aab17a8dc79b4342d171230262 /qmake
parenteb53141fda9023afe81a43dd969e2a25d906ac32 (diff)
downloadqt4-tools-348012f15f31bc08062881f3d81de2f84637dbab.tar.gz
qmake/vcxproj: resurrect support for /we compiler switch
The vcxproj format supports the /we compiler switch as TreatSpecificWarningsAsErrors tag. Support for this switch got lost during refactoring of the vc(x)proj generators for Qt 4.8.0. Task-number: QTBUG-29098 Change-Id: I607e907dcb9c1bc7d261053b6d757941ec7db822 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com> (cherry picked from commit a3d1d41d1d88b989fe7c460ef32b4f8606aafe0c)
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/win32/msbuild_objectmodel.cpp2
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp6
-rw-r--r--qmake/generators/win32/msvc_objectmodel.h1
3 files changed, 8 insertions, 1 deletions
diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp
index e0b9917f9f..eba49f9681 100644
--- a/qmake/generators/win32/msbuild_objectmodel.cpp
+++ b/qmake/generators/win32/msbuild_objectmodel.cpp
@@ -1329,7 +1329,7 @@ void VCXProjectWriter::write(XmlOutput &xml, const VCCLCompilerTool &tool)
<< attrTagT(_StringPooling, tool.StringPooling)
<< attrTagS(_StructMemberAlignment, toString(tool.StructMemberAlignment))
<< attrTagT(_SuppressStartupBanner, tool.SuppressStartupBanner)
-//unused << attrTagS(_TreatSpecificWarningsAsErrors, tool.TreatSpecificWarningsAsErrors)
+ << attrTagX(_TreatSpecificWarningsAsErrors, tool.TreatSpecificWarningsAsErrors, ";")
<< attrTagT(_TreatWarningAsError, tool.WarnAsError)
<< attrTagT(_TreatWChar_tAsBuiltInType, tool.TreatWChar_tAsBuiltInType)
<< attrTagT(_UndefineAllPreprocessorDefinitions, tool.UndefineAllPreprocessorDefinitions)
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index a8c936be11..2472354f74 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -1113,6 +1113,12 @@ bool VCCLCompilerTool::parseOption(const char* option)
case 'd':
DisableSpecificWarnings += option+3;
break;
+ case 'e':
+ if (config->CompilerVersion <= NET2008)
+ AdditionalOptions += option;
+ else
+ TreatSpecificWarningsAsErrors += option + 3;
+ break;
default:
AdditionalOptions += option;
}
diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h
index a5a0ba5a5c..a941b67773 100644
--- a/qmake/generators/win32/msvc_objectmodel.h
+++ b/qmake/generators/win32/msvc_objectmodel.h
@@ -558,6 +558,7 @@ public:
QStringList UndefinePreprocessorDefinitions;
pchOption UsePrecompiledHeader;
triState UseUnicodeForAssemblerListing;
+ QStringList TreatSpecificWarningsAsErrors;
triState WarnAsError;
warningLevelOption WarningLevel;
triState WholeProgramOptimization;