cmVS141CLFlagTable.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. static cmVS7FlagTable cmVS141CLFlagTable[] = {
  2. // Enum Properties
  3. { "DiagnosticsFormat", "diagnostics:classic", "Classic", "Classic", 0 },
  4. { "DiagnosticsFormat", "diagnostics:column", "Column", "Column", 0 },
  5. { "DiagnosticsFormat", "diagnostics:caret", "Caret", "Caret", 0 },
  6. { "DebugInformationFormat", "", "None", "None", 0 },
  7. { "DebugInformationFormat", "Z7", "C7 compatible", "OldStyle", 0 },
  8. { "DebugInformationFormat", "Zi", "Program Database", "ProgramDatabase", 0 },
  9. { "DebugInformationFormat", "ZI", "Program Database for Edit And Continue",
  10. "EditAndContinue", 0 },
  11. { "WarningLevel", "W0", "Turn Off All Warnings", "TurnOffAllWarnings", 0 },
  12. { "WarningLevel", "W1", "Level1", "Level1", 0 },
  13. { "WarningLevel", "W2", "Level2", "Level2", 0 },
  14. { "WarningLevel", "W3", "Level3", "Level3", 0 },
  15. { "WarningLevel", "W4", "Level4", "Level4", 0 },
  16. { "WarningLevel", "Wall", "EnableAllWarnings", "EnableAllWarnings", 0 },
  17. { "Optimization", "", "Custom", "Custom", 0 },
  18. { "Optimization", "Od", "Disabled", "Disabled", 0 },
  19. { "Optimization", "O1", "Minimize Size", "MinSpace", 0 },
  20. { "Optimization", "O2", "Maximize Speed", "MaxSpeed", 0 },
  21. { "Optimization", "Ox", "Full Optimization", "Full", 0 },
  22. { "InlineFunctionExpansion", "", "Default", "Default", 0 },
  23. { "InlineFunctionExpansion", "Ob0", "Disabled", "Disabled", 0 },
  24. { "InlineFunctionExpansion", "Ob1", "Only __inline", "OnlyExplicitInline",
  25. 0 },
  26. { "InlineFunctionExpansion", "Ob2", "Any Suitable", "AnySuitable", 0 },
  27. { "FavorSizeOrSpeed", "Os", "Favor small code", "Size", 0 },
  28. { "FavorSizeOrSpeed", "Ot", "Favor fast code", "Speed", 0 },
  29. { "FavorSizeOrSpeed", "", "Neither", "Neither", 0 },
  30. { "ExceptionHandling", "EHa", "Yes with SEH Exceptions", "Async", 0 },
  31. { "ExceptionHandling", "EHsc", "Yes", "Sync", 0 },
  32. { "ExceptionHandling", "EHs", "Yes with Extern C functions", "SyncCThrow",
  33. 0 },
  34. { "ExceptionHandling", "", "No", "false", 0 },
  35. { "BasicRuntimeChecks", "RTCs", "Stack Frames", "StackFrameRuntimeCheck",
  36. 0 },
  37. { "BasicRuntimeChecks", "RTCu", "Uninitialized variables",
  38. "UninitializedLocalUsageCheck", 0 },
  39. { "BasicRuntimeChecks", "RTC1", "Both (/RTC1, equiv. to /RTCsu)",
  40. "EnableFastChecks", 0 },
  41. { "BasicRuntimeChecks", "", "Default", "Default", 0 },
  42. { "RuntimeLibrary", "MT", "Multi-threaded", "MultiThreaded", 0 },
  43. { "RuntimeLibrary", "MTd", "Multi-threaded Debug", "MultiThreadedDebug", 0 },
  44. { "RuntimeLibrary", "MD", "Multi-threaded DLL", "MultiThreadedDLL", 0 },
  45. { "RuntimeLibrary", "MDd", "Multi-threaded Debug DLL",
  46. "MultiThreadedDebugDLL", 0 },
  47. { "StructMemberAlignment", "Zp1", "1 Byte", "1Byte", 0 },
  48. { "StructMemberAlignment", "Zp2", "2 Bytes", "2Bytes", 0 },
  49. { "StructMemberAlignment", "Zp4", "4 Byte", "4Bytes", 0 },
  50. { "StructMemberAlignment", "Zp8", "8 Bytes", "8Bytes", 0 },
  51. { "StructMemberAlignment", "Zp16", "16 Bytes", "16Bytes", 0 },
  52. { "StructMemberAlignment", "", "Default", "Default", 0 },
  53. { "BufferSecurityCheck", "GS-", "Disable Security Check", "false", 0 },
  54. { "BufferSecurityCheck", "GS", "Enable Security Check", "true", 0 },
  55. { "ControlFlowGuard", "guard:cf", "Yes", "Guard", 0 },
  56. { "ControlFlowGuard", "", "No", "false", 0 },
  57. { "EnableEnhancedInstructionSet", "arch:SSE", "Streaming SIMD Extensions",
  58. "StreamingSIMDExtensions", 0 },
  59. { "EnableEnhancedInstructionSet", "arch:SSE2", "Streaming SIMD Extensions 2",
  60. "StreamingSIMDExtensions2", 0 },
  61. { "EnableEnhancedInstructionSet", "arch:AVX", "Advanced Vector Extensions",
  62. "AdvancedVectorExtensions", 0 },
  63. { "EnableEnhancedInstructionSet", "arch:AVX2",
  64. "Advanced Vector Extensions 2", "AdvancedVectorExtensions2", 0 },
  65. { "EnableEnhancedInstructionSet", "arch:IA32", "No Enhanced Instructions",
  66. "NoExtensions", 0 },
  67. { "EnableEnhancedInstructionSet", "", "Not Set", "NotSet", 0 },
  68. { "FloatingPointModel", "fp:precise", "Precise", "Precise", 0 },
  69. { "FloatingPointModel", "fp:strict", "Strict", "Strict", 0 },
  70. { "FloatingPointModel", "fp:fast", "Fast", "Fast", 0 },
  71. { "LanguageStandard", "std:c++17", "ISO C++17 Standard", "stdcpp17", 0 },
  72. { "LanguageStandard", "std:c++14", "ISO C++14 Standard", "stdcpp14", 0 },
  73. { "LanguageStandard", "std:c++latest", "ISO C++ Latest Draft Standard",
  74. "stdcpplatest", 0 },
  75. { "PrecompiledHeader", "Yc", "Create", "Create",
  76. cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue },
  77. { "PrecompiledHeader", "Yu", "Use", "Use",
  78. cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue },
  79. { "PrecompiledHeader", "Y-", "Not Using Precompiled Headers", "NotUsing",
  80. 0 },
  81. { "AssemblerOutput", "", "No Listing", "NoListing", 0 },
  82. { "AssemblerOutput", "FA", "Assembly-Only Listing", "AssemblyCode", 0 },
  83. { "AssemblerOutput", "FAc", "Assembly With Machine Code",
  84. "AssemblyAndMachineCode", 0 },
  85. { "AssemblerOutput", "FAs", "Assembly With Source Code",
  86. "AssemblyAndSourceCode", 0 },
  87. { "AssemblerOutput", "FAcs", "Assembly, Machine Code and Source", "All", 0 },
  88. { "CallingConvention", "Gd", "__cdecl", "Cdecl", 0 },
  89. { "CallingConvention", "Gr", "__fastcall", "FastCall", 0 },
  90. { "CallingConvention", "Gz", "__stdcall", "StdCall", 0 },
  91. { "CallingConvention", "Gv", "__vectorcall", "VectorCall", 0 },
  92. { "CompileAs", "", "Default", "Default", 0 },
  93. { "CompileAs", "TC", "Compile as C Code", "CompileAsC", 0 },
  94. { "CompileAs", "TP", "Compile as C++ Code", "CompileAsCpp", 0 },
  95. { "ErrorReporting", "errorReport:none", "Do Not Send Report", "None", 0 },
  96. { "ErrorReporting", "errorReport:prompt", "Prompt Immediately", "Prompt",
  97. 0 },
  98. { "ErrorReporting", "errorReport:queue", "Queue For Next Login", "Queue",
  99. 0 },
  100. { "ErrorReporting", "errorReport:send", "Send Automatically", "Send", 0 },
  101. { "CompileAsManaged", "", "No Common Language RunTime Support", "false", 0 },
  102. { "CompileAsManaged", "clr", "Common Language RunTime Support", "true", 0 },
  103. { "CompileAsManaged", "clr:pure",
  104. "Pure MSIL Common Language RunTime Support", "Pure", 0 },
  105. { "CompileAsManaged", "clr:safe",
  106. "Safe MSIL Common Language RunTime Support", "Safe", 0 },
  107. { "CompileAsManaged", "clr:oldSyntax",
  108. "Common Language RunTime Support, Old Syntax", "OldSyntax", 0 },
  109. { "CppLanguageStandard", "", "Default", "Default", 0 },
  110. { "CppLanguageStandard", "std=c++98", "C++03", "c++98", 0 },
  111. { "CppLanguageStandard", "std=c++11", "C++11", "c++11", 0 },
  112. { "CppLanguageStandard", "std=c++1y", "C++14", "c++1y", 0 },
  113. { "CppLanguageStandard", "std=c++14", "C++14", "c++1y", 0 },
  114. { "CppLanguageStandard", "std=gnu++98", "C++03 (GNU Dialect)", "gnu++98",
  115. 0 },
  116. { "CppLanguageStandard", "std=gnu++11", "C++11 (GNU Dialect)", "gnu++11",
  117. 0 },
  118. { "CppLanguageStandard", "std=gnu++1y", "C++14 (GNU Dialect)", "gnu++1y",
  119. 0 },
  120. { "CppLanguageStandard", "std=gnu++14", "C++14 (GNU Dialect)", "gnu++1y",
  121. 0 },
  122. // Bool Properties
  123. { "CompileAsWinRT", "ZW", "", "true", 0 },
  124. { "WinRTNoStdLib", "ZW:nostdlib", "", "true", 0 },
  125. { "SuppressStartupBanner", "nologo", "", "true", 0 },
  126. { "TreatWarningAsError", "WX-", "", "false", 0 },
  127. { "TreatWarningAsError", "WX", "", "true", 0 },
  128. { "SDLCheck", "sdl-", "", "false", 0 },
  129. { "SDLCheck", "sdl", "", "true", 0 },
  130. { "IntrinsicFunctions", "Oi", "", "true", 0 },
  131. { "OmitFramePointers", "Oy-", "", "false", 0 },
  132. { "OmitFramePointers", "Oy", "", "true", 0 },
  133. { "EnableFiberSafeOptimizations", "GT", "", "true", 0 },
  134. { "WholeProgramOptimization", "GL", "", "true", 0 },
  135. { "UndefineAllPreprocessorDefinitions", "u", "", "true", 0 },
  136. { "IgnoreStandardIncludePath", "X", "", "true", 0 },
  137. { "PreprocessToFile", "P", "", "true", 0 },
  138. { "PreprocessSuppressLineNumbers", "EP", "", "true", 0 },
  139. { "PreprocessKeepComments", "C", "", "true", 0 },
  140. { "StringPooling", "GF-", "", "false", 0 },
  141. { "StringPooling", "GF", "", "true", 0 },
  142. { "MinimalRebuild", "Gm-", "", "false", 0 },
  143. { "MinimalRebuild", "Gm", "", "true", 0 },
  144. { "SmallerTypeCheck", "RTCc", "", "true", 0 },
  145. { "FunctionLevelLinking", "Gy-", "", "false", 0 },
  146. { "FunctionLevelLinking", "Gy", "", "true", 0 },
  147. { "EnableParallelCodeGeneration", "Qpar-", "", "false", 0 },
  148. { "EnableParallelCodeGeneration", "Qpar", "", "true", 0 },
  149. { "FloatingPointExceptions", "fp:except-", "", "false", 0 },
  150. { "FloatingPointExceptions", "fp:except", "", "true", 0 },
  151. { "CreateHotpatchableImage", "hotpatch", "", "true", 0 },
  152. { "DisableLanguageExtensions", "Za", "", "true", 0 },
  153. { "TreatWChar_tAsBuiltInType", "Zc:wchar_t-", "", "false", 0 },
  154. { "TreatWChar_tAsBuiltInType", "Zc:wchar_t", "", "true", 0 },
  155. { "ForceConformanceInForLoopScope", "Zc:forScope-", "", "false", 0 },
  156. { "ForceConformanceInForLoopScope", "Zc:forScope", "", "true", 0 },
  157. { "RemoveUnreferencedCodeData", "Zc:inline-", "", "false", 0 },
  158. { "RemoveUnreferencedCodeData", "Zc:inline", "", "true", 0 },
  159. { "EnforceTypeConversionRules", "Zc:rvalueCast-", "", "false", 0 },
  160. { "EnforceTypeConversionRules", "Zc:rvalueCast", "", "true", 0 },
  161. { "RuntimeTypeInfo", "GR-", "", "false", 0 },
  162. { "RuntimeTypeInfo", "GR", "", "true", 0 },
  163. { "OpenMPSupport", "openmp-", "", "false", 0 },
  164. { "OpenMPSupport", "openmp", "", "true", 0 },
  165. { "ExpandAttributedSource", "Fx", "", "true", 0 },
  166. { "UseUnicodeForAssemblerListing", "FAu", "", "true", 0 },
  167. { "ShowIncludes", "showIncludes", "", "true", 0 },
  168. { "EnablePREfast", "analyze-", "", "false", 0 },
  169. { "EnablePREfast", "analyze", "", "true", 0 },
  170. { "UseFullPaths", "FC", "", "true", 0 },
  171. { "OmitDefaultLibName", "Zl", "", "true", 0 },
  172. // Bool Properties With Argument
  173. { "MultiProcessorCompilation", "MP", "", "true",
  174. cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue },
  175. { "ProcessorNumber", "MP", "Multi-processor Compilation", "",
  176. cmVS7FlagTable::UserValueRequired },
  177. { "GenerateXMLDocumentationFiles", "doc", "", "true",
  178. cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue },
  179. { "XMLDocumentationFileName", "doc", "Generate XML Documentation Files", "",
  180. cmVS7FlagTable::UserValueRequired },
  181. { "BrowseInformation", "FR", "", "true",
  182. cmVS7FlagTable::UserValueIgnored | cmVS7FlagTable::Continue },
  183. { "BrowseInformationFile", "FR", "Enable Browse Information", "",
  184. cmVS7FlagTable::UserValueRequired },
  185. // String List Properties
  186. { "AdditionalIncludeDirectories", "I", "Additional Include Directories", "",
  187. cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  188. { "AdditionalUsingDirectories", "AI", "Additional #using Directories", "",
  189. cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  190. { "PreprocessorDefinitions", "D ", "Preprocessor Definitions", "",
  191. cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  192. { "UndefinePreprocessorDefinitions", "U",
  193. "Undefine Preprocessor Definitions", "",
  194. cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  195. { "DisableSpecificWarnings", "wd", "Disable Specific Warnings", "",
  196. cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  197. { "ForcedIncludeFiles", "FI", "Forced Include File", "",
  198. cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  199. { "ForcedUsingFiles", "FU", "Forced #using File", "",
  200. cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  201. { "PREfastLog", "analyze:log", "Code Analysis Log", "",
  202. cmVS7FlagTable::UserFollowing },
  203. { "PREfastAdditionalPlugins", "analyze:plugin",
  204. "Additional Code Analysis Native plugins", "",
  205. cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  206. { "TreatSpecificWarningsAsErrors", "we", "Treat Specific Warnings As Errors",
  207. "", cmVS7FlagTable::UserValue | cmVS7FlagTable::SemicolonAppendable },
  208. // String Properties
  209. { "WarningVersion", "Wv:", "Warning Version", "",
  210. cmVS7FlagTable::UserValue },
  211. // Skip [TrackerLogDirectory] - no command line Switch.
  212. { "PreprocessOutputPath", "Fi", "Preprocess Output Path", "",
  213. cmVS7FlagTable::UserValue },
  214. { "PrecompiledHeaderFile", "Yc", "Precompiled Header Name", "",
  215. cmVS7FlagTable::UserValueRequired },
  216. { "PrecompiledHeaderFile", "Yu", "Precompiled Header Name", "",
  217. cmVS7FlagTable::UserValueRequired },
  218. { "PrecompiledHeaderOutputFile", "Fp", "Precompiled Header Output File", "",
  219. cmVS7FlagTable::UserValue },
  220. { "AssemblerListingLocation", "Fa", "ASM List Location", "",
  221. cmVS7FlagTable::UserValue },
  222. { "ObjectFileName", "Fo", "Object File Name", "",
  223. cmVS7FlagTable::UserValue },
  224. { "ProgramDataBaseFileName", "Fd", "Program Database File Name", "",
  225. cmVS7FlagTable::UserValue },
  226. // Skip [XMLDocumentationFileName] - no command line Switch.
  227. // Skip [BrowseInformationFile] - no command line Switch.
  228. // Skip [AdditionalOptions] - no command line Switch.
  229. { 0, 0, 0, 0, 0 }
  230. };