From 984acc884ba4c21192712c20b7820d94ad855605 Mon Sep 17 00:00:00 2001 From: David Cole Date: Fri, 17 Dec 2010 15:43:16 -0500 Subject: [PATCH] VS10: avoid warning, no nologo when verbose (#10587) For prior versions of Visual Studio we would intentionally pass "/nologo-" for "verbose makefiles" (CMAKE_VERBOSE_MAKEFILE ON) when the caller did not already explicitly specify either /nologo or /nologo-. And we still do. For the prior versions. This had the side effect of always passing /nologo- for try_compile operations because try_compile generates projects that have verbose makefiles on. However, starting with Visual Studio 10, the compiler emits "cl ... warning D9035: option 'nologo-' has been deprecated" when passed "/nologo-". Therefore, this commit removes setting "/nologo-" for verbose makefiles in the Visual Studio 10 case to avoid emitting a warning for every single invocation of the compiler in a given build. With Visual Studio 10, we do not set this flag either way and therefore, the generated project has no value for this setting and gets Visual Studio's default value, which is of course "/nologo", which does not produce a warning. With Visual Studio 10, a caller can still force "/nologo-" if desired by adding it explicitly to CMAKE_C_FLAGS or CMAKE_CXX_FLAGS. --- Source/cmVisualStudioGeneratorOptions.cxx | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/Source/cmVisualStudioGeneratorOptions.cxx b/Source/cmVisualStudioGeneratorOptions.cxx index f1bad9c1d..9acae0dae 100644 --- a/Source/cmVisualStudioGeneratorOptions.cxx +++ b/Source/cmVisualStudioGeneratorOptions.cxx @@ -85,17 +85,15 @@ void cmVisualStudioGeneratorOptions::SetVerboseMakefile(bool verbose) // was not given explicitly in the flags we want to add an attribute // to the generated project to disable logo suppression. Otherwise // the GUI default is to enable suppression. + // + // Avoid this on Visual Studio 10 (and later!) because it results in: + // "cl ... warning D9035: option 'nologo-' has been deprecated" + // if(verbose && + this->Version != 10 && this->FlagMap.find("SuppressStartupBanner") == this->FlagMap.end()) { - if(this->Version == 10) - { - this->FlagMap["SuppressStartupBanner"] = "false"; - } - else - { - this->FlagMap["SuppressStartupBanner"] = "FALSE"; - } + this->FlagMap["SuppressStartupBanner"] = "FALSE"; } }