make it possible to suppress warnings of the vcxproj generator
When the user adds a compiler option that qmake doesn't understand, a warning message is printed. One can suppress these warnings now by adding CONFIG+=suppress_vcproj_warnings to the project file. Task-number: QTBUG-37520 Change-Id: Ieb7ad2c900329e76636047dff85824ea0456f608 Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
This commit is contained in:
parent
1fb43025f2
commit
21f5d22f6f
@ -312,6 +312,18 @@ static QString vcCommandSeparator()
|
|||||||
return cmdSep;
|
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::VCCLCompilerTool()
|
VCCLCompilerTool::VCCLCompilerTool()
|
||||||
: AssemblerOutput(asmListingNone),
|
: AssemblerOutput(asmListingNone),
|
||||||
@ -1148,7 +1160,8 @@ bool VCCLCompilerTool::parseOption(const char* option)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(!found) {
|
if(!found) {
|
||||||
warn_msg(WarnLogic, "Could not parse Compiler option: %s, added as AdditionalOption", option);
|
if (!config->suppressUnknownOptionWarnings)
|
||||||
|
unknownOptionWarning("Compiler", option);
|
||||||
AdditionalOptions += option;
|
AdditionalOptions += option;
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
@ -1743,7 +1756,8 @@ bool VCLinkerTool::parseOption(const char* option)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(!found) {
|
if(!found) {
|
||||||
warn_msg(WarnLogic, "Could not parse Linker options: %s, added as AdditionalOption", option);
|
if (!config->suppressUnknownOptionWarnings)
|
||||||
|
unknownOptionWarning("Linker", option);
|
||||||
AdditionalOptions += option;
|
AdditionalOptions += option;
|
||||||
}
|
}
|
||||||
return found;
|
return found;
|
||||||
|
@ -885,6 +885,7 @@ public:
|
|||||||
VCConfiguration();
|
VCConfiguration();
|
||||||
~VCConfiguration(){}
|
~VCConfiguration(){}
|
||||||
|
|
||||||
|
bool suppressUnknownOptionWarnings;
|
||||||
DotNET CompilerVersion;
|
DotNET CompilerVersion;
|
||||||
bool WinRT, WinPhone, WinPhone80;
|
bool WinRT, WinPhone, WinPhone80;
|
||||||
|
|
||||||
|
@ -960,6 +960,7 @@ void VcprojGenerator::initConfiguration()
|
|||||||
// - Do this first since main configuration elements may need
|
// - Do this first since main configuration elements may need
|
||||||
// - to know of certain compiler/linker options
|
// - to know of certain compiler/linker options
|
||||||
VCConfiguration &conf = vcProject.Configuration;
|
VCConfiguration &conf = vcProject.Configuration;
|
||||||
|
conf.suppressUnknownOptionWarnings = project->isActiveConfig("suppress_vcproj_warnings");
|
||||||
conf.CompilerVersion = which_dotnet_version(project->first("MSVC_VER").toLatin1());
|
conf.CompilerVersion = which_dotnet_version(project->first("MSVC_VER").toLatin1());
|
||||||
|
|
||||||
initCompilerTool();
|
initCompilerTool();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user