Преглед изворни кода

ENH: sort flags, and fix order and case problems and add a few more

Bill Hoffman пре 21 година
родитељ
комит
07dae7bba4
1 измењених фајлова са 39 додато и 33 уклоњено
  1. 39 33
      Source/cmLocalVisualStudio7Generator.cxx

+ 39 - 33
Source/cmLocalVisualStudio7Generator.cxx

@@ -205,58 +205,64 @@ struct cmVS7FlagTable
 
 // fill the table here
 // currently the comment field is not used for anything other than documentation
+// NOTE: Make sure the longer commandFlag comes FIRST!
 cmVS7FlagTable cmLocalVisualStudio7GeneratorFlagTable[] =
 {
+  // option flags (some flags map to the same option) 
+  {"BasicRuntimeChecks", "GZ", "Stack frame checks",                      "1"},
+  {"BasicRuntimeChecks", "RTCsu", "Both stack and uninitialized checks ", "3"},
+  {"BasicRuntimeChecks", "RTCs", "Stack frame checks",                    "1"},
+  {"BasicRuntimeChecks", "RTCu", "Uninitialized Variables ",              "2"},
+  {"BasicRuntimeChecks", "RTC1", "Both stack and uninitialized checks ",  "3"},
+  {"DebugInformationFormat", "Z7", "debug format", "1"},
+  {"DebugInformationFormat", "Zd", "debug format", "2"},
+  {"DebugInformationFormat", "Zi", "debug format", "3"},
+  {"DebugInformationFormat", "ZI", "debug format", "4"},
+  {"EnableEnhancedInstructionSet", "arch:SSE2", "Use sse2 instructions", "2"},
+  {"EnableEnhancedInstructionSet", "arch:SSE", "Use sse instructions",   "1"},
+  {"FavorSizeOrSpeed",  "Ot", "Favor fast code",  "1"},
+  {"FavorSizeOrSpeed",  "Os", "Favor small code", "2"},
   {"Optimization", "Od", "Non Debug",        "0"},
   {"Optimization", "O1", "Min Size",         "1"},
   {"Optimization", "O2", "Max Speed",        "2"},
   {"Optimization", "Ox", "Max Optimization", "3"},
-  {"BasicRuntimeChecks", "GZ", "Stack frame checks",     "1"},
-  {"BasicRuntimeChecks", "RTCs", "Stack frame checks",     "1"},
-  {"BasicRuntimeChecks", "RTCu", "Uninitialized Variables ",     "2"},
-  {"BasicRuntimeChecks", "RTC1", "Both stack and uninitialized checks ",     "3"},
-  {"BasicRuntimeChecks", "RTCsu", "Both stack and uninitialized checks ",     "3"},
-  {"StructMemberAlignment", "Zp1", "struct align 1 byte ",     "1"},
-  {"StructMemberAlignment", "Zp2", "struct align 2 byte ",     "2"},
-  {"StructMemberAlignment", "Zp4", "struct align 4 byte ",     "3"},
-  {"StructMemberAlignment", "Zp8", "struct align 8 byte ",     "4"},
-  {"StructMemberAlignment", "Zp16", "struct align 16 byte ",     "5"},
+  {"OptimizeForProcessor", "GB", "Blended processor mode", "0"},
+  {"OptimizeForProcessor", "G5", "Pentium",                "1"},
+  {"OptimizeForProcessor", "G6", "PPro PII PIII",          "2"},
+  {"OptimizeForProcessor", "G7", "Pentium 4 or Athlon",    "3"},
+  {"InlineFunctionExpansion", "Ob0", "no inlines",              "0"},
+  {"InlineFunctionExpansion", "Ob1", "when inline keyword",     "1"},
+  {"InlineFunctionExpansion", "Ob2", "any time you can inline", "2"},
   {"RuntimeLibrary", "MTd", "Multithreded debug",     "1"},
   {"RuntimeLibrary", "MT", "Multithreded", "0"},
   {"RuntimeLibrary", "MDd", "Multithreded dll debug", "3"},
   {"RuntimeLibrary", "MD", "Multithreded dll",        "2"},
   {"RuntimeLibrary", "MLd", "Sinble Thread debug",    "5"},
   {"RuntimeLibrary", "ML", "Sinble Thread",           "4"},
-  {"InlineFunctionExpansion", "Ob0", "no inlines",              "0"},
-  {"InlineFunctionExpansion", "Ob1", "when inline keyword",     "1"},
-  {"InlineFunctionExpansion", "Ob2", "any time you can inline", "2"},
-  {"GlobalOptimizations", "Og", "Global Optimize", "TRUE"},
-  {"EnableIntrinsicFunctions", "Oi", "EnableIntrinsicFunctions", "TRUE"},
-  {"ExceptionHandling", "EHsc", "enable c++ exceptions", "TRUE"},
-  {"ExceptionHandling", "GX", "enable c++ exceptions", "TRUE"},
-  {"ImproveFloatingPointConsistency", "Op", "ImproveFloatingPointConsistency", "TRUE"},
-  {"FavorSizeOrSpeed",  "Ot", "Favor fast code",  "1"},
-  {"FavorSizeOrSpeed",  "Os", "Favor small code", "2"},
-  {"OmitFramePointers", "Oy", "OmitFramePointers", "TRUE"},
-  {"EnableFibreSafeOptimization", "GT", "OmitFramePointers", "TRUE"},
+  {"StructMemberAlignment", "Zp16", "struct align 16 byte ",   "5"},
+  {"StructMemberAlignment", "Zp1", "struct align 1 byte ",     "1"},
+  {"StructMemberAlignment", "Zp2", "struct align 2 byte ",     "2"},
+  {"StructMemberAlignment", "Zp4", "struct align 4 byte ",     "3"},
+  {"StructMemberAlignment", "Zp8", "struct align 8 byte ",     "4"},
   {"WarningLevel", "W1", "Warning level", "1"},
   {"WarningLevel", "W2", "Warning level", "2"},
   {"WarningLevel", "W3", "Warning level", "3"},
   {"WarningLevel", "W4", "Warning level", "4"},
-  {"DebugInformationFormat", "Z7", "debug format", "1"},
-  {"DebugInformationFormat", "Zd", "debug format", "2"},
-  {"DebugInformationFormat", "Zi", "debug format", "3"},
-  {"DebugInformationFormat", "ZI", "debug format", "4"},
-  {"OptimizeForProcessor", "GB", "Blended processor mode", "0"},
-  {"OptimizeForProcessor", "G5", "Pentium",                "1"},
-  {"OptimizeForProcessor", "G6", "PPro PII PIII",          "2"},
-  {"OptimizeForProcessor", "G7", "Pentium 4 or Athlon",    "3"},
+
+  // boolean flags 
   {"BufferSecurityCheck", "GS", "Buffer security check", "TRUE"},
+  {"EnableFibreSafeOptimization", "GT", "OmitFramePointers", "TRUE"},
+  {"EnableIntrinsicFunctions", "Oi", "EnableIntrinsicFunctions", "TRUE"},
+  {"ExceptionHandling", "EHsc", "enable c++ exceptions", "TRUE"},
+  {"ExceptionHandling", "GX", "enable c++ exceptions", "TRUE"},
+  {"GlobalOptimizations", "Og", "Global Optimize", "TRUE"},
+  {"ImproveFloatingPointConsistency", "Op", "ImproveFloatingPointConsistency", "TRUE"},
+  {"MinimalRebuild", "Gm", "minimal rebuild", "TRUE"},
+  {"OmitFramePointers", "Oy", "OmitFramePointers", "TRUE"},
   {"OptimizeForWindowsApplication", "GA", "Optimize for windows", "TRUE"},
-  {"EnableEnhancedInstructionSet", "arch:sse", "Use sse instructions",   "1"},
-  {"EnableEnhancedInstructionSet", "arch:sse2", "Use sse2 instructions", "2"},
-  {"WarnAsError", "WX", "Treat warnings as errors", "TRUE"},
   {"RuntimeTypeInfo", "GR", "Turn on Run time type information for c++", "TRUE"},
+  {"SmallerTypeCheck", "RTCc", "smaller type check", "TRUE"},
+  {"WarnAsError", "WX", "Treat warnings as errors", "TRUE"},
   {0,0,0,0 }
 };