diff options
-rw-r--r-- | qmake/generators/win32/msvc_objectmodel.cpp | 18 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_objectmodel.h | 1 | ||||
-rw-r--r-- | qmake/generators/win32/msvc_vcproj.cpp | 1 |
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(); |