From a3d1d41d1d88b989fe7c460ef32b4f8606aafe0c Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Thu, 2 May 2013 17:43:17 +0200 Subject: 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 --- qmake/generators/win32/msbuild_objectmodel.cpp | 2 +- qmake/generators/win32/msvc_objectmodel.cpp | 6 ++++++ qmake/generators/win32/msvc_objectmodel.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'qmake') diff --git a/qmake/generators/win32/msbuild_objectmodel.cpp b/qmake/generators/win32/msbuild_objectmodel.cpp index c88f4e136f..67446b2efe 100644 --- a/qmake/generators/win32/msbuild_objectmodel.cpp +++ b/qmake/generators/win32/msbuild_objectmodel.cpp @@ -1412,7 +1412,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 6fdd2f4bd2..60e3d7b6ed 100644 --- a/qmake/generators/win32/msvc_objectmodel.cpp +++ b/qmake/generators/win32/msvc_objectmodel.cpp @@ -1117,6 +1117,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 c3fae94179..54819cbe5b 100644 --- a/qmake/generators/win32/msvc_objectmodel.h +++ b/qmake/generators/win32/msvc_objectmodel.h @@ -561,6 +561,7 @@ public: QStringList UndefinePreprocessorDefinitions; pchOption UsePrecompiledHeader; triState UseUnicodeForAssemblerListing; + QStringList TreatSpecificWarningsAsErrors; triState WarnAsError; warningLevelOption WarningLevel; triState WholeProgramOptimization; -- cgit v1.2.3