|
|
@@ -75,21 +75,14 @@ void cmVisualStudioGeneratorOptions::FixExceptionHandlingDefault()
|
|
|
// initialization to off, but the user has the option of removing
|
|
|
// the flag to disable exception handling. When the user does
|
|
|
// remove the flag we need to override the IDE default of on.
|
|
|
- switch (this->Version) {
|
|
|
- case cmGlobalVisualStudioGenerator::VSVersion::VS12:
|
|
|
- case cmGlobalVisualStudioGenerator::VSVersion::VS14:
|
|
|
- case cmGlobalVisualStudioGenerator::VSVersion::VS15:
|
|
|
- case cmGlobalVisualStudioGenerator::VSVersion::VS16:
|
|
|
- case cmGlobalVisualStudioGenerator::VSVersion::VS17:
|
|
|
- // by default VS puts <ExceptionHandling></ExceptionHandling> empty
|
|
|
- // for a project, to make our projects look the same put a new line
|
|
|
- // and space over for the closing </ExceptionHandling> as the default
|
|
|
- // value
|
|
|
- this->FlagMap["ExceptionHandling"] = "\n ";
|
|
|
- break;
|
|
|
- default:
|
|
|
- this->FlagMap["ExceptionHandling"] = "0";
|
|
|
- break;
|
|
|
+ if (this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9) {
|
|
|
+ // by default VS puts <ExceptionHandling></ExceptionHandling> empty
|
|
|
+ // for a project, to make our projects look the same put a new line
|
|
|
+ // and space over for the closing </ExceptionHandling> as the default
|
|
|
+ // value
|
|
|
+ this->FlagMap["ExceptionHandling"] = "\n ";
|
|
|
+ } else {
|
|
|
+ this->FlagMap["ExceptionHandling"] = "0";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -105,8 +98,8 @@ void cmVisualStudioGeneratorOptions::SetVerboseMakefile(bool verbose)
|
|
|
if (verbose &&
|
|
|
this->FlagMap.find("SuppressStartupBanner") == this->FlagMap.end()) {
|
|
|
this->FlagMap["SuppressStartupBanner"] =
|
|
|
- this->Version == cmGlobalVisualStudioGenerator::VSVersion::VS9 ? "FALSE"
|
|
|
- : "";
|
|
|
+ this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9 ? ""
|
|
|
+ : "FALSE";
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -378,19 +371,17 @@ void cmVisualStudioGeneratorOptions::OutputPreprocessorDefinitions(
|
|
|
}
|
|
|
auto de = cmRemoveDuplicates(this->Defines);
|
|
|
for (std::string const& di : cmMakeRange(this->Defines.cbegin(), de)) {
|
|
|
- // Escape the definition for the compiler.
|
|
|
std::string define;
|
|
|
- if (this->Version == cmGlobalVisualStudioGenerator::VSVersion::VS9) {
|
|
|
- define = this->LocalGenerator->EscapeForShell(di, true);
|
|
|
- } else {
|
|
|
- define = di;
|
|
|
- }
|
|
|
- // Escape this flag for the MSBuild.
|
|
|
if (this->Version != cmGlobalVisualStudioGenerator::VSVersion::VS9) {
|
|
|
+ // Escape the definition for MSBuild.
|
|
|
+ define = di;
|
|
|
cmVS10EscapeForMSBuild(define);
|
|
|
if (lang == "RC"_s) {
|
|
|
cmSystemTools::ReplaceString(define, "\"", "\\\"");
|
|
|
}
|
|
|
+ } else {
|
|
|
+ // Escape the definition for the compiler.
|
|
|
+ define = this->LocalGenerator->EscapeForShell(di, true);
|
|
|
}
|
|
|
// Store the flag in the project file.
|
|
|
oss << ';' << define;
|