|
|
@@ -1361,10 +1361,10 @@ static unsigned int cmLoadFlagTableSpecial(Json::Value entry,
|
|
|
|
|
|
namespace {
|
|
|
|
|
|
-unsigned long long const vsVer16_10_0 = 4503644629696790;
|
|
|
+std::string const vsVer16_10_0 = "16.10.31321.278";
|
|
|
|
|
|
-cmIDEFlagTable const* cmLoadFlagTableJson(
|
|
|
- std::string const& flagJsonPath, cm::optional<unsigned long long> vsver)
|
|
|
+cmIDEFlagTable const* cmLoadFlagTableJson(std::string const& flagJsonPath,
|
|
|
+ cm::optional<std::string> vsVer)
|
|
|
{
|
|
|
cmIDEFlagTable* ret = nullptr;
|
|
|
auto savedFlagIterator = loadedFlagJsonFiles.find(flagJsonPath);
|
|
|
@@ -1387,7 +1387,8 @@ cmIDEFlagTable const* cmLoadFlagTableJson(
|
|
|
flagEntry.value = cmLoadFlagTableString(flag, "value");
|
|
|
flagEntry.special = cmLoadFlagTableSpecial(flag, "flags");
|
|
|
// FIXME: Port this version check to a Json field.
|
|
|
- if (vsver && *vsver < vsVer16_10_0 &&
|
|
|
+ if (vsVer &&
|
|
|
+ !cmSystemTools::VersionCompareGreaterEq(*vsVer, vsVer16_10_0) &&
|
|
|
flagEntry.IDEName == "ExternalWarningLevel") {
|
|
|
continue;
|
|
|
}
|
|
|
@@ -1466,8 +1467,8 @@ cmIDEFlagTable const* cmGlobalVisualStudio10Generator::LoadFlagTable(
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- cm::optional<unsigned long long> vsver = this->GetVSInstanceVersion();
|
|
|
- if (cmIDEFlagTable const* ret = cmLoadFlagTableJson(filename, vsver)) {
|
|
|
+ cm::optional<std::string> vsVer = this->GetVSInstanceVersion();
|
|
|
+ if (cmIDEFlagTable const* ret = cmLoadFlagTableJson(filename, vsVer)) {
|
|
|
return ret;
|
|
|
}
|
|
|
|