summaryrefslogtreecommitdiffstats
path: root/qmake
diff options
context:
space:
mode:
Diffstat (limited to 'qmake')
-rw-r--r--qmake/generators/win32/msvc_objectmodel.cpp18
-rw-r--r--qmake/generators/win32/msvc_objectmodel.h1
-rw-r--r--qmake/generators/win32/msvc_vcproj.cpp1
3 files changed, 18 insertions, 2 deletions
diff --git a/qmake/generators/win32/msvc_objectmodel.cpp b/qmake/generators/win32/msvc_objectmodel.cpp
index 3d203c2ad0..be7b547115 100644
--- a/qmake/generators/win32/msvc_objectmodel.cpp
+++ b/qmake/generators/win32/msvc_objectmodel.cpp
@@ -312,6 +312,18 @@ static QString vcCommandSeparator()
return cmdSep;
}
+static void unknownOptionWarning(const char *tool, const char *option)
+{
+ static bool firstCall = true;
+ warn_msg(WarnLogic, "Could not parse %s option '%s'; added to AdditionalOptions.", tool, option);
+ if (firstCall) {
+ firstCall = false;
+ warn_msg(WarnLogic,
+ "You can suppress these warnings with CONFIG+=suppress_vcproj_warnings.");
+ }
+}
+
+
// VCCLCompilerTool -------------------------------------------------
VCCLCompilerTool::VCCLCompilerTool()
: AssemblerOutput(asmListingNone),
@@ -1148,7 +1160,8 @@ bool VCCLCompilerTool::parseOption(const char* option)
break;
}
if(!found) {
- warn_msg(WarnLogic, "Could not parse Compiler option: %s, added as AdditionalOption", option);
+ if (!config->suppressUnknownOptionWarnings)
+ unknownOptionWarning("Compiler", option);
AdditionalOptions += option;
}
return true;
@@ -1743,7 +1756,8 @@ bool VCLinkerTool::parseOption(const char* option)
break;
}
if(!found) {
- warn_msg(WarnLogic, "Could not parse Linker options: %s, added as AdditionalOption", option);
+ if (!config->suppressUnknownOptionWarnings)
+ unknownOptionWarning("Linker", option);
AdditionalOptions += option;
}
return found;
diff --git a/qmake/generators/win32/msvc_objectmodel.h b/qmake/generators/win32/msvc_objectmodel.h
index 9a57a2c7a2..2c426afb1a 100644
--- a/qmake/generators/win32/msvc_objectmodel.h
+++ b/qmake/generators/win32/msvc_objectmodel.h
@@ -885,6 +885,7 @@ public:
VCConfiguration();
~VCConfiguration(){}
+ bool suppressUnknownOptionWarnings;
DotNET CompilerVersion;
bool WinRT, WinPhone, WinPhone80;
diff --git a/qmake/generators/win32/msvc_vcproj.cpp b/qmake/generators/win32/msvc_vcproj.cpp
index 9916db9f92..c10ed3aacd 100644
--- a/qmake/generators/win32/msvc_vcproj.cpp
+++ b/qmake/generators/win32/msvc_vcproj.cpp
@@ -960,6 +960,7 @@ void VcprojGenerator::initConfiguration()
// - Do this first since main configuration elements may need
// - to know of certain compiler/linker options
VCConfiguration &conf = vcProject.Configuration;
+ conf.suppressUnknownOptionWarnings = project->isActiveConfig("suppress_vcproj_warnings");
conf.CompilerVersion = which_dotnet_version(project->first("MSVC_VER").toLatin1());
initCompilerTool();