| Server IP : 209.209.40.120 / Your IP : 216.73.217.112 Web Server : Microsoft-IIS/10.0 System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586 User : NEWWWW$ ( 0) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/MSBuild/Microsoft/VC/v160/1033/ |
Upload File : |
<?xml version="1.0" encoding="utf-8"?>
<!--Copyright, Microsoft Corporation, All rights reserved.-->
<Rule
Name="CL"
PageTemplate="tool"
DisplayName="C/C++"
SwitchPrefix="/"
Order="10"
xmlns="http://schemas.microsoft.com/build/2009/properties"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:sys="clr-namespace:System;assembly=mscorlib">
<Rule.Categories>
<Category
Name="General"
DisplayName="General" />
<Category
Name="Optimization"
DisplayName="Optimization" />
<Category
Name="Preprocessor"
DisplayName="Preprocessor" />
<Category
Name="Code Generation"
DisplayName="Code Generation" />
<Category
Name="Language"
DisplayName="Language" />
<Category
Name="Precompiled Headers"
DisplayName="Precompiled Headers" />
<Category
Name="Output Files"
DisplayName="Output Files" />
<Category
Name="Browse Information"
DisplayName="Browse Information" />
<Category
Name="External Includes"
DisplayName="External Includes" />
<Category
Name="Advanced"
DisplayName="Advanced" />
<Category
Name="All Options"
DisplayName="All Options"
Subtype="Search" />
<Category
Name="Command Line"
DisplayName="Command Line"
Subtype="CommandLine" />
</Rule.Categories>
<Rule.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="ClCompile"
Label=""
HasConfigurationCondition="true" />
</Rule.DataSource>
<StringListProperty
Subtype="folder"
Name="AdditionalIncludeDirectories"
DisplayName="Additional Include Directories"
Description="Specifies one or more directories to add to the include path. Separate with ';' if more than one. (/I[path])"
Category="General"
Switch="I"
F1Keyword="VC.Project.VCCLCompilerTool.AdditionalIncludeDirectories">
</StringListProperty>
<StringListProperty
Subtype="folder"
Name="AdditionalUsingDirectories"
DisplayName="Additional #using Directories"
Description="Specifies one or more directories to be searched to resolve names passed to a #using directive. Separate with ';' if more than one. (/AI[path])"
Category="General"
Switch="AI"
F1Keyword="VC.Project.VCCLCompilerTool.AdditionalUsingDirectories">
</StringListProperty>
<StringListProperty
Subtype="folder"
Name="AdditionalBMIDirectories"
DisplayName="Additional BMI Directories"
Description="Specifies one or more directories to be searched to resolve names passed to an import directive. Separate with ';' if more than one. (/ifcSearchDir[path])"
Category="General"
Switch="ifcSearchDir "
F1Keyword="VC.Project.VCCLCompilerTool.AdditionalModuleDirectories">
</StringListProperty>
<StringListProperty
Subtype="file"
Name="AdditionalModuleDependencies"
DisplayName="Additional Module Dependencies"
Description="Specifies one or more modules to be used to resolve names passed to an import directive. Separate with ';' if more than one. (/reference[[module_name=]path])"
Category="General"
Switch="reference "
F1Keyword="VC.Project.VCCLCompilerTool.AdditionalModuleDependencies">
</StringListProperty>
<StringListProperty
Subtype="file"
Name="AdditionalHeaderUnitDependencies"
DisplayName="Additional Header Unit Dependencies"
Description="Specifies one or more header units to be used to resolve names passed to an import header directive. Separate with ';' if more than one. (/headerUnit[header=path])"
Category="General"
Switch="headerUnit "
F1Keyword="VC.Project.VCCLCompilerTool.AdditionalModuleDependencies">
</StringListProperty>
<BoolProperty
Name="ScanSourceForModuleDependencies"
DisplayName="Scan Sources for Module Dependencies"
Description="Makes the build scan all c++ sources, not just module interface and header unit sources, for module and header units dependencies and build the full dependencies graph."
Category="General"
IncludeInCommandLine="false"
F1Keyword="VC.Project.VCCLCompilerTool.ScanSourceForModuleDependencies">
</BoolProperty>
<BoolProperty
Name="TranslateIncludes"
DisplayName="Translate Includes to Imports"
Description="Enables the compiler to translate #include directives into import directives for the available header units. (/translateInclude)"
Category="General"
Switch="translateInclude"
F1Keyword="VC.Project.VCCLCompilerTool.TranslateIncludes">
</BoolProperty>
<EnumProperty
Name="DebugInformationFormat"
DisplayName="Debug Information Format"
Description="Specifies the type of debugging information generated by the compiler. This requires compatible linker settings. (/Z7, /Zi, /ZI)"
Category="General"
F1Keyword="VC.Project.VCCLCompilerTool.DebugInformationFormat">
<EnumValue
Name="None"
Switch=""
DisplayName="None"
Description="Produces no debugging information, so compilation may be faster.">
</EnumValue>
<EnumValue
Name="OldStyle"
Switch="Z7"
DisplayName="C7 compatible"
Description="Select the type of debugging information created for your program and whether this information is kept in object (.obj) files or in a program database (PDB).">
</EnumValue>
<EnumValue
Name="ProgramDatabase"
Switch="Zi"
DisplayName="Program Database"
Description="Produces a program database (PDB) that contains type information and symbolic debugging information for use with the debugger. The symbolic debugging information includes the names and types of variables, as well as functions and line numbers. ">
</EnumValue>
<EnumValue
Name="EditAndContinue"
Switch="ZI"
DisplayName="Program Database for Edit And Continue"
Description="Produces a program database, as described above, in a format that supports the Edit and Continue feature.">
</EnumValue>
</EnumProperty>
<BoolProperty
Name="SupportJustMyCode"
DisplayName="Support Just My Code Debugging"
Description="Adds supporting code for enabling Just My Code debugging in this compilation unit. (/JMC)"
Category="General"
Switch="JMC"
F1Keyword="VC.Project.VCCLCompilerTool.SupportJustMyCode">
</BoolProperty>
<EnumProperty
Name="CompileAsManaged"
DisplayName="Common Language RunTime Support"
Description="Use the .NET runtime service. This switch is incompatible with some other switches; see the documentation on the /clr family of switches for details."
Category="General"
F1Keyword="VC.Project.VCCLCompilerTool.CompileAsManaged">
<EnumValue
Name="false"
Switch=""
DisplayName="No Common Language RunTime Support"
Description="No Common Language RunTime Support">
</EnumValue>
<EnumValue
Name="true"
Switch="clr"
DisplayName="Common Language RunTime Support"
Description="Creates metadata for your application that can be consumed by other CLR applications, and allows your application to consume types and data in the metadata of other CLR components.">
</EnumValue>
<EnumValue
Name="Pure"
Switch="clr:pure"
DisplayName="Pure MSIL Common Language RunTime Support"
Description="Produces an MSIL-only output file with no native executable code, although it can contain native types compiled to MSIL.">
</EnumValue>
<EnumValue
Name="Safe"
Switch="clr:safe"
DisplayName="Safe MSIL Common Language RunTime Support"
Description="Produces an MSIL-only (no native executable code) and verifiable output file.">
</EnumValue>
</EnumProperty>
<BoolProperty
Name="CompileAsWinRT"
DisplayName="Consume Windows Runtime Extension"
Description="Consume the Windows Run Time languages extensions. (/ZW)"
Category="General"
Switch="ZW"
F1Keyword="VC.Project.VCCLCompilerTool.CompileAsWinRT">
</BoolProperty>
<BoolProperty
Name="WinRTNoStdLib"
DisplayName="No Standard WinRT Libraries"
Description="Tells the compiler not to use default Windows.winmd. It should be passed as /FU in this case."
Category="General"
Switch="ZW:nostdlib"
Visible="false">
</BoolProperty>
<BoolProperty
Name="SuppressStartupBanner"
DisplayName="Suppress Startup Banner"
Description="Suppresses the display of the sign-on banner when the compiler starts up and display of informational messages during compiling."
Category="General"
Switch="nologo"
F1Keyword="VC.Project.VCCLCompilerTool.SuppressStartupBanner">
</BoolProperty>
<EnumProperty
Name="WarningLevel"
DisplayName="Warning Level"
Description="Select how strict you want the compiler to be about code errors. (/W0 - /W4)"
Category="General"
F1Keyword="VC.Project.VCCLCompilerTool.WarningLevel">
<EnumValue
Name="TurnOffAllWarnings"
Switch="W0"
DisplayName="Turn Off All Warnings"
Description="Level 0 disables all warnings.">
</EnumValue>
<EnumValue
Name="Level1"
Switch="W1"
DisplayName="Level1"
Description="Level 1 displays severe warnings. Level 1 is the default warning level at the command line.">
</EnumValue>
<EnumValue
Name="Level2"
Switch="W2"
DisplayName="Level2"
Description="Level 2 displays all level 1 warnings and warnings less severe than level 1.">
</EnumValue>
<EnumValue
Name="Level3"
Switch="W3"
DisplayName="Level3"
Description="Level 3 displays all level 2 warnings and all other warnings recommended for production purposes.">
</EnumValue>
<EnumValue
Name="Level4"
Switch="W4"
DisplayName="Level4"
Description="Level 4 displays all level 3 warnings plus informational warnings, which in most cases can be safely ignored.">
</EnumValue>
<EnumValue
Name="EnableAllWarnings"
Switch="Wall"
DisplayName="EnableAllWarnings"
Description="Enables all warnings, including those disabled by default.">
</EnumValue>
</EnumProperty>
<BoolProperty
ReverseSwitch="WX-"
Name="TreatWarningAsError"
DisplayName="Treat Warnings As Errors"
Description="Treats all compiler warnings as errors. For a new project, it may be best to use /WX in all compilations; resolving all warnings will ensure the fewest possible hard-to-find code defects."
Category="General"
Switch="WX"
F1Keyword="VC.Project.VCCLCompilerTool.WarnAsError">
</BoolProperty>
<StringProperty
Name="WarningVersion"
DisplayName="Warning Version"
Description="Hide warnings introduced after a specific version of the compiler. (/Wv:xx[.yy[.zzzzz]])"
Category="General"
Switch="Wv:"
F1Keyword="VC.Project.VCCLCompilerTool.WarningVersion">
</StringProperty>
<EnumProperty
Name="DiagnosticsFormat"
DisplayName="Diagnostics Format"
Description="Enables rich diagnostics, with column information and source context in diagnostic messages."
Category="General"
F1Keyword="VC.Project.VCCLCompilerTool.DiagnosticsFormat">
<EnumValue
Name="Caret"
Switch="diagnostics:caret"
DisplayName="Caret"
Description="Provides column information in the diagnostic message, as well as outputting the relevant line of source code with a caret indicating the offending column.">
</EnumValue>
<EnumValue
Name="Column"
Switch="diagnostics:column"
DisplayName="Column Info"
Description="Additionally provides the column number within the line where the diagnostic is issued, where applicable.">
</EnumValue>
<EnumValue
Name="Classic"
Switch="diagnostics:classic"
DisplayName="Classic"
Description="Retains the prior, concise diagnostic messages with the line number.">
</EnumValue>
</EnumProperty>
<BoolProperty
ReverseSwitch="sdl-"
Name="SDLCheck"
DisplayName="SDL checks"
Description="Additional Security Development Lifecycle (SDL) recommended checks; includes enabling additional secure code generation features and enables extra security-relevant warnings as errors. (/sdl, /sdl-)"
Category="General"
Switch="sdl"
F1Keyword="VC.Project.VCCLCompilerTool.SDLCheck">
</BoolProperty>
<StringProperty
Subtype="folder"
Name="TrackerLogDirectory"
DisplayName="Tracker Log Directory"
Description="Tracker Log Directory."
Category="General"
IncludeInCommandLine="false"
Visible="false">
</StringProperty>
<BoolProperty
Name="MultiProcessorCompilation"
DisplayName="Multi-processor Compilation"
Description="Multi-processor Compilation."
Category="General"
Switch="MP"
F1Keyword="VC.Project.VCCLCompilerTool.MultiProcessorCompilation">
<Argument
Property="ProcessorNumber"
IsRequired="false" />
</BoolProperty>
<IntProperty
Name="ProcessorNumber"
DisplayName="Number of processors"
Description="Number of processors."
Category="General"
Visible="false">
</IntProperty>
<BoolProperty
Name="ForceSynchronousPDBWrites"
DisplayName="Force Synchronous PDB Writes"
Description="Synchronous write to pdb when building in parallel."
Category="General"
Switch="FS"
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.ForceSynchronousPDBWrites">
</BoolProperty>
<BoolProperty
Name="EnableASAN"
DisplayName="Enable Address Sanitizer"
Description="Compiles and links program with AddressSanitizer. Currently available for x86 and x64 builds."
Category="General"
Switch="fsanitize=address"
F1Keyword="VC.Project.VCCLCompilerTool.EnableASAN">
<BoolProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType=""
Label="Configuration"
HasConfigurationCondition="true" />
</BoolProperty.DataSource>
</BoolProperty>
<EnumProperty
Name="Optimization"
DisplayName="Optimization"
Description="Select option for code optimization; choose Custom to use specific optimization options. (/Od, /O1, /O2)"
Category="Optimization"
F1Keyword="VC.Project.VCCLCompilerTool.Optimization">
<EnumValue
Name="Custom"
Switch=""
DisplayName="Custom"
Description="Custom optimization.">
</EnumValue>
<EnumValue
Name="Disabled"
Switch="Od"
DisplayName="Disabled"
Description="Disable optimization.">
</EnumValue>
<EnumValue
Name="MinSpace"
Switch="O1"
DisplayName="Maximum Optimization (Favor Size)"
Description="Equivalent to /Og /Os /Oy /Ob2 /Gs /GF /Gy">
</EnumValue>
<EnumValue
Name="MaxSpeed"
Switch="O2"
DisplayName="Maximum Optimization (Favor Speed)"
Description="Equivalent to /Og /Oi /Ot /Oy /Ob2 /Gs /GF /Gy">
</EnumValue>
<EnumValue
Name="Full"
Switch="Ox"
DisplayName="Optimizations (Favor Speed)"
Description="Equivalent to /Og /Oi /Ot /Oy /Ob2">
</EnumValue>
</EnumProperty>
<EnumProperty
Name="InlineFunctionExpansion"
DisplayName="Inline Function Expansion"
Description="Select the level of inline function expansion for the build. (/Ob1, /Ob2)"
Category="Optimization"
F1Keyword="VC.Project.VCCLCompilerTool.InlineFunctionExpansion">
<EnumValue
Name="Default"
Switch=""
DisplayName="Default">
</EnumValue>
<EnumValue
Name="Disabled"
Switch="Ob0"
DisplayName="Disabled"
Description="Disables inline expansion, which is on by default.">
</EnumValue>
<EnumValue
Name="OnlyExplicitInline"
Switch="Ob1"
DisplayName="Only __inline"
Description="Expands only functions marked as inline, __inline, __forceinline or __inline or, in a C++ member function, defined within a class declaration.">
</EnumValue>
<EnumValue
Name="AnySuitable"
Switch="Ob2"
DisplayName="Any Suitable"
Description="Expands functions marked as inline or __inline and any other function that the compiler chooses (expansion occurs at the compiler's discretion, often referred to as auto-inlining).">
</EnumValue>
</EnumProperty>
<BoolProperty
Name="IntrinsicFunctions"
DisplayName="Enable Intrinsic Functions"
Description="Enables intrinsic functions. Using intrinsic functions generates faster, but possibly larger, code. (/Oi)"
Category="Optimization"
Switch="Oi"
F1Keyword="VC.Project.VCCLCompilerTool.EnableIntrinsicFunctions">
</BoolProperty>
<EnumProperty
Name="FavorSizeOrSpeed"
DisplayName="Favor Size Or Speed"
Description="Whether to favor code size or code speed; 'Global Optimization' must be turned on. (/Ot, /Os)"
Category="Optimization"
F1Keyword="VC.Project.VCCLCompilerTool.FavorSizeOrSpeed">
<EnumValue
Name="Size"
Switch="Os"
DisplayName="Favor small code"
Description="Favor Small Code. Minimizes the size of EXEs and DLLs by instructing the compiler to favor size over speed.">
</EnumValue>
<EnumValue
Name="Speed"
Switch="Ot"
DisplayName="Favor fast code"
Description="Favor Fast Code. Maximizes the speed of EXEs and DLLs by instructing the compiler to favor speed over size. (This is the default.) ">
</EnumValue>
<EnumValue
Name="Neither"
Switch=""
DisplayName="Neither"
Description="No size nor speed optimization.">
</EnumValue>
</EnumProperty>
<BoolProperty
ReverseSwitch="Oy-"
Name="OmitFramePointers"
DisplayName="Omit Frame Pointers"
Description="Suppresses creation of frame pointers on the call stack."
Category="Optimization"
Switch="Oy"
F1Keyword="VC.Project.VCCLCompilerTool.OmitFramePointers">
</BoolProperty>
<BoolProperty
Name="EnableFiberSafeOptimizations"
DisplayName="Enable Fiber-Safe Optimizations"
Description="Enables memory space optimization when using fibers and thread local storage access. (/GT)"
Category="Optimization"
Switch="GT"
F1Keyword="VC.Project.VCCLCompilerTool.EnableFiberSafeOptimizations">
</BoolProperty>
<BoolProperty
Name="WholeProgramOptimization"
DisplayName="Whole Program Optimization"
Description="Enables cross-module optimizations by delaying code generation to link time; requires that linker option 'Link Time Code Generation' be turned on. (/GL)"
Category="Optimization"
Switch="GL"
F1Keyword="VC.Project.VCCLWCECompilerTool.WholeProgramOptimization">
</BoolProperty>
<StringListProperty
Name="PreprocessorDefinitions"
DisplayName="Preprocessor Definitions"
Description="Defines a preprocessing symbols for your source file."
Category="Preprocessor"
Switch="D "
F1Keyword="VC.Project.VCCLCompilerTool.PreprocessorDefinitions">
</StringListProperty>
<StringListProperty
Name="UndefinePreprocessorDefinitions"
DisplayName="Undefine Preprocessor Definitions"
Description="Specifies one or more preprocessor undefines. (/U[macro])"
Category="Preprocessor"
Switch="U"
F1Keyword="VC.Project.VCCLCompilerTool.UndefinePreprocessorDefinitions">
</StringListProperty>
<BoolProperty
Name="UndefineAllPreprocessorDefinitions"
DisplayName="Undefine All Preprocessor Definitions"
Description="Undefine all previously defined preprocessor values. (/u)"
Category="Preprocessor"
Switch="u"
F1Keyword="VC.Project.VCCLCompilerTool.UndefineAllPreprocessorDefinitions">
</BoolProperty>
<BoolProperty
Name="IgnoreStandardIncludePath"
DisplayName="Ignore Standard Include Paths"
Description="Prevents the compiler from searching for include files in directories specified in the INCLUDE environment variables."
Category="Preprocessor"
Switch="X"
F1Keyword="VC.Project.VCCLCompilerTool.IgnoreStandardIncludePath">
</BoolProperty>
<BoolProperty
Name="PreprocessToFile"
DisplayName="Preprocess to a File"
Description="Preprocesses C and C++ source files and writes the preprocessed output to a file. This option suppresses compilation, thus it does not produce an .obj file."
Category="Preprocessor"
Switch="P"
F1Keyword="VC.Project.VCCLCompilerTool.GeneratePreprocessedFile">
</BoolProperty>
<StringProperty
Name="PreprocessOutputPath"
DisplayName="Preprocess Output Path"
Description="Specify the output path for the preprocesser. The default location is the same as the source file(s)."
Category="Preprocessor"
Switch="Fi"
Visible="false">
</StringProperty>
<BoolProperty
Name="PreprocessSuppressLineNumbers"
DisplayName="Preprocess Suppress Line Numbers"
Description="Preprocess without #line directives."
Category="Preprocessor"
Switch="EP"
F1Keyword="VC.Project.VCCLCompilerTool.GeneratePreprocessedFileNoLines">
</BoolProperty>
<BoolProperty
Name="PreprocessKeepComments"
DisplayName="Keep Comments"
Description="Suppresses comment strip from source code; requires that one of the 'Preprocessing' options be set. (/C)"
Category="Preprocessor"
Switch="C"
F1Keyword="VC.Project.VCCLCompilerTool.KeepComments">
</BoolProperty>
<BoolProperty
ReverseSwitch="Zc:preprocessor-"
Name="UseStandardPreprocessor"
DisplayName="Use Standard Conforming Preprocessor"
Description="Use a standard conforming preprocessor (/Zc:preprocessor). Currently implied by /std:c11 and /std:c17. To use legacy preprocessor set this property to 'No'. "
Category="Preprocessor"
Switch="Zc:preprocessor"
F1Keyword="VC.Project.VCCLCompilerTool.PreprocessorStandard">
</BoolProperty>
<BoolProperty
ReverseSwitch="GF-"
Name="StringPooling"
DisplayName="Enable String Pooling"
Description="Enables the compiler to create a single read-only copy of identical strings in the program image and in memory during execution, resulting in smaller programs, an optimization called string pooling. /O1, /O2, and /ZI automatically set /GF option. "
Category="Code Generation"
Switch="GF"
F1Keyword="VC.Project.VCCLCompilerTool.StringPooling">
</BoolProperty>
<BoolProperty
ReverseSwitch="Gm-"
Name="MinimalRebuild"
DisplayName="Enable Minimal Rebuild"
Description="Enables minimal rebuild, which determines whether C++ source files that include changed C++ class definitions (stored in header (.h) files) need to be recompiled."
Category="Code Generation"
Switch="Gm"
F1Keyword="VC.Project.VCCLCompilerTool.MinimalRebuild">
</BoolProperty>
<EnumProperty
Name="ExceptionHandling"
DisplayName="Enable C++ Exceptions"
Description="Specifies the model of exception handling to be used by the compiler."
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.ExceptionHandling">
<EnumValue
Name="Async"
Switch="EHa"
DisplayName="Yes with SEH Exceptions"
Description="The exception-handling model that catches asynchronous (structured) and synchronous (C++) exceptions. (/EHa)">
</EnumValue>
<EnumValue
Name="Sync"
Switch="EHsc"
DisplayName="Yes"
Description="The exception-handling model that catches C++ exceptions only and tells the compiler to assume that extern C functions never throw a C++ exception. (/EHsc)">
</EnumValue>
<EnumValue
Name="SyncCThrow"
Switch="EHs"
DisplayName="Yes with Extern C functions"
Description="The exception-handling model that catches C++ exceptions only and tells the compiler to assume that extern C functions do throw an exception. (/EHs)">
</EnumValue>
<EnumValue
Name="false"
Switch=""
DisplayName="No"
Description="No exception handling.">
</EnumValue>
</EnumProperty>
<BoolProperty
Name="SmallerTypeCheck"
DisplayName="Smaller Type Check"
Description="Enable checking for conversion to smaller types, incompatible with any optimization type other than debug. (/RTCc)"
Category="Code Generation"
Switch="RTCc"
F1Keyword="VC.Project.VCCLCompilerTool.SmallerTypeCheck">
</BoolProperty>
<EnumProperty
Name="BasicRuntimeChecks"
DisplayName="Basic Runtime Checks"
Description="Perform basic runtime error checks, incompatible with any optimization type other than debug. (/RTCs, /RTCu, /RTC1)"
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.BasicRuntimeChecks">
<EnumValue
Name="StackFrameRuntimeCheck"
Switch="RTCs"
DisplayName="Stack Frames"
Description="Enables stack frame run-time error checking.">
</EnumValue>
<EnumValue
Name="UninitializedLocalUsageCheck"
Switch="RTCu"
DisplayName="Uninitialized variables"
Description="Reports when a variable is used without having been initialized.">
</EnumValue>
<EnumValue
Name="EnableFastChecks"
Switch="RTC1"
DisplayName="Both (/RTC1, equiv. to /RTCsu)"
Description="Equivalent of /RTCsu.">
</EnumValue>
<EnumValue
Name="Default"
Switch=""
DisplayName="Default"
Description="Default runtime checks.">
</EnumValue>
</EnumProperty>
<EnumProperty
Name="RuntimeLibrary"
DisplayName="Runtime Library"
Description="Specify runtime library for linking. (/MT, /MTd, /MD, /MDd)"
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.RuntimeLibrary">
<EnumValue
Name="MultiThreaded"
Switch="MT"
DisplayName="Multi-threaded"
Description="Causes your application to use the multithread, static version of the run-time library.">
</EnumValue>
<EnumValue
Name="MultiThreadedDebug"
Switch="MTd"
DisplayName="Multi-threaded Debug"
Description="Defines _DEBUG and _MT. This option also causes the compiler to place the library name LIBCMTD.lib into the .obj file so that the linker will use LIBCMTD.lib to resolve external symbols.">
</EnumValue>
<EnumValue
Name="MultiThreadedDLL"
Switch="MD"
DisplayName="Multi-threaded DLL"
Description="Causes your application to use the multithread- and DLL-specific version of the run-time library. Defines _MT and _DLL and causes the compiler to place the library name MSVCRT.lib into the .obj file.">
</EnumValue>
<EnumValue
Name="MultiThreadedDebugDLL"
Switch="MDd"
DisplayName="Multi-threaded Debug DLL"
Description="Defines _DEBUG, _MT, and _DLL and causes your application to use the debug multithread- and DLL-specific version of the run-time library. It also causes the compiler to place the library name MSVCRTD.lib into the .obj file.">
</EnumValue>
</EnumProperty>
<EnumProperty
Name="StructMemberAlignment"
DisplayName="Struct Member Alignment"
Description="Specifies 1, 2, 4, or 8-byte boundaries for struct member alignment. (/Zp[num])"
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.StructMemberAlignment">
<EnumValue
Name="1Byte"
Switch="Zp1"
DisplayName="1 Byte"
Description="Packs structures on 1-byte boundaries. Same as /Zp.">
</EnumValue>
<EnumValue
Name="2Bytes"
Switch="Zp2"
DisplayName="2 Bytes"
Description="Packs structures on 2-byte boundaries.">
</EnumValue>
<EnumValue
Name="4Bytes"
Switch="Zp4"
DisplayName="4 Byte"
Description="Packs structures on 4-byte boundaries.">
</EnumValue>
<EnumValue
Name="8Bytes"
Switch="Zp8"
DisplayName="8 Bytes"
Description="Packs structures on 8-byte boundaries (default).">
</EnumValue>
<EnumValue
Name="16Bytes"
Switch="Zp16"
DisplayName="16 Bytes"
Description="Packs structures on 16-byte boundaries.">
</EnumValue>
<EnumValue
Name="Default"
Switch=""
DisplayName="Default"
Description="Default alignment settings.">
</EnumValue>
</EnumProperty>
<EnumProperty
Name="BufferSecurityCheck"
DisplayName="Security Check"
Description="The Security Check helps detect stack-buffer over-runs, a common attempted attack upon a program's security. . (/GS-, /GS)"
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.BufferSecurityCheck">
<EnumValue
Name="false"
Switch="GS-"
DisplayName="Disable Security Check"
Description="Disable Security Check. (/GS-)">
</EnumValue>
<EnumValue
Name="true"
Switch="GS"
DisplayName="Enable Security Check"
Description="Enable Security Check. (/GS)">
</EnumValue>
</EnumProperty>
<EnumProperty
Name="ControlFlowGuard"
DisplayName="Control Flow Guard"
Description="Guard security check helps detect attempts to dispatch to illegal block of code. (/guard:cf)"
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.ControlFlowGuard">
<EnumValue
Name="Guard"
Switch="guard:cf"
DisplayName="Yes"
Description="Enable Security Check with Guard (/guard:cf)">
</EnumValue>
<EnumValue
Name="false"
Switch=""
DisplayName="No">
</EnumValue>
</EnumProperty>
<BoolProperty
ReverseSwitch="Gy-"
Name="FunctionLevelLinking"
DisplayName="Enable Function-Level Linking"
Description="Allows the compiler to package individual functions in the form of packaged functions (COMDATs). Required for edit and continue to work. (/Gy)"
Category="Code Generation"
Switch="Gy"
F1Keyword="VC.Project.VCCLCompilerTool.EnableFunctionLevelLinking">
</BoolProperty>
<BoolProperty
ReverseSwitch="Qpar-"
Name="EnableParallelCodeGeneration"
DisplayName="Enable Parallel Code Generation"
Description="Allows the compiler to generate parallel code for loops identified using #pragma loop(hint_parallel[(n)]) when optimization is enabled."
Category="Code Generation"
Switch="Qpar"
F1Keyword="VC.Project.VCCLCompilerTool.EnableParallelCodeGeneration">
</BoolProperty>
<EnumProperty
Name="EnableEnhancedInstructionSet"
DisplayName="Enable Enhanced Instruction Set"
Description="Enable use of instructions found on processors that support enhanced instruction sets, e.g., the SSE, SSE2, AVX, AVX2 and AVX-512 enhancements to IA-32; AVX, AVX2 and AVX-512 to x64. Currently /arch:SSE and /arch:SSE2 are only available when building for the x86 architecture. If no option is specified, the compiler will use instructions found on processors that support SSE2. Use of enhanced instructions can be disabled with /arch:IA32. (/arch:SSE, /arch:SSE2, /arch:AVX, /arch:AVX2, /arch:AVX512, /arch:IA32)"
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.EnableEnhancedInstructionSet">
<EnumValue
Name="StreamingSIMDExtensions"
Switch="arch:SSE"
DisplayName="Streaming SIMD Extensions"
Description="Streaming SIMD Extensions. (/arch:SSE)">
</EnumValue>
<EnumValue
Name="StreamingSIMDExtensions2"
Switch="arch:SSE2"
DisplayName="Streaming SIMD Extensions 2"
Description="Streaming SIMD Extensions 2. (/arch:SSE2)">
</EnumValue>
<EnumValue
Name="AdvancedVectorExtensions"
Switch="arch:AVX"
DisplayName="Advanced Vector Extensions"
Description="Advanced Vector Extensions. (/arch:AVX)">
</EnumValue>
<EnumValue
Name="AdvancedVectorExtensions2"
Switch="arch:AVX2"
DisplayName="Advanced Vector Extensions 2"
Description="Advanced Vector Extensions 2. (/arch:AVX2)">
</EnumValue>
<EnumValue
Name="AdvancedVectorExtensions512"
Switch="arch:AVX512"
DisplayName="Advanced Vector Extensions 512"
Description="Advanced Vector Extensions 512. (/arch:AVX512)">
</EnumValue>
<EnumValue
Name="NoExtensions"
Switch="arch:IA32"
DisplayName="No Enhanced Instructions"
Description="No Enhanced Instructions. (/arch:IA32)">
</EnumValue>
<EnumValue
Name="NotSet"
Switch=""
DisplayName="Not Set"
Description="Not Set.">
</EnumValue>
</EnumProperty>
<EnumProperty
Name="FloatingPointModel"
DisplayName="Floating Point Model"
Description="Sets the floating point model. (/fp:precise, /fp:strict, /fp:fast)"
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.floatingPointModel">
<EnumValue
Name="Precise"
Switch="fp:precise"
DisplayName="Precise"
Description="Default. Improves the consistency of floating-point tests for equality and inequality.">
</EnumValue>
<EnumValue
Name="Strict"
Switch="fp:strict"
DisplayName="Strict"
Description="The strictest floating-point model. /fp:strict causes fp_contract to be OFF and fenv_access to be ON. /fp:except is implied and can be disabled by explicitly specifying /fp:except-. When used with /fp:except-, /fp:strict enforces strict floating-point semantics but without respect for exceptional events.">
</EnumValue>
<EnumValue
Name="Fast"
Switch="fp:fast"
DisplayName="Fast"
Description="Creates the fastest code in the majority of cases. ">
</EnumValue>
</EnumProperty>
<BoolProperty
ReverseSwitch="fp:except-"
Name="FloatingPointExceptions"
DisplayName="Enable Floating Point Exceptions"
Description="Reliable floating-point exception model. Exceptions will be raised immediately after they are triggered. (/fp:except)"
Category="Code Generation"
Switch="fp:except"
F1Keyword="VC.Project.VCCLCompilerTool.FloatingPointExceptions">
</BoolProperty>
<BoolProperty
Name="CreateHotpatchableImage"
DisplayName="Create Hotpatchable Image"
Description="When hotpatching is on, the compiler ensures that first instruction of each function is two bytes, which is required for hot patching. (/hotpatch)"
Category="Code Generation"
Switch="hotpatch"
F1Keyword="VC.Project.VCCLCompilerTool.CreateHotpatchableImage">
</BoolProperty>
<EnumProperty
Name="SpectreMitigation"
DisplayName="Spectre Mitigation"
Description="Spectre mitigations for CVE 2017-5753. (/Qspectre)"
Category="Code Generation"
F1Keyword="VC.Project.VCCLCompilerTool.SpectreMitigation">
<EnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType=""
Label="Configuration"
HasConfigurationCondition="true" />
</EnumProperty.DataSource>
<EnumValue
Name="Spectre"
Switch="Qspectre"
DisplayName="Enabled"
Description="Enable Spectre mitigation feature for CVE 2017-5753">
</EnumValue>
<EnumValue
Name="SpectreLoad"
Switch="Qspectre-load"
DisplayName="All Loads"
Description="Enable Spectre mitigations for all load instructions">
</EnumValue>
<EnumValue
Name="SpectreLoadCF"
Switch="Qspectre-load-cf"
DisplayName="All Control Flow Loads"
Description="Enable Spectre mitigations for all control flow load instructions">
</EnumValue>
<EnumValue
Name="false"
Switch=""
DisplayName="Disabled"
Description="Not Set.">
</EnumValue>
</EnumProperty>
<BoolProperty
Name="IntelJCCErratum"
DisplayName="Enable Intel JCC Erratum Mitigation"
Description=" Software mitigation for the performance impact caused by the Intel JCC erratum microcode update. (/QIntel-jcc-erratum)"
Category="Code Generation"
Switch="QIntel-jcc-erratum"
F1Keyword="VC.Project.VCCLCompilerTool.IntelJCCErratum">
</BoolProperty>
<BoolProperty
ReverseSwitch="guard:ehcont-"
Name="GuardEHContMetadata"
DisplayName="Enable EH Continuation Metadata"
Description="Generates a sorted list of all the valid exception handling continuation targets for a binary, used during runtime for RIP validation. Currently available for x64 builds. (/guard:ehcont)"
Category="Code Generation"
Switch="guard:ehcont"
F1Keyword="VC.Project.VCCLCompilerTool.GuardEHContMetadata">
</BoolProperty>
<BoolProperty
ReverseSwitch="guard:signret-"
Name="GuardSignedReturns"
DisplayName="Enable Signed Returns"
Description="Enables signed returns which help detect and prevent attempts to dispatch to illegal blocks from function returns. Currently available for ARM64 builds. (/guard:signret)"
Category="Code Generation"
Switch="guard:signret"
F1Keyword="VC.Project.VCCLCompilerTool.GuardSignedReturns">
</BoolProperty>
<BoolProperty
Name="DisableLanguageExtensions"
DisplayName="Disable Language Extensions"
Description="Suppresses or enables language extensions. (/Za)"
Category="Language"
Switch="Za"
F1Keyword="VC.Project.VCCLCompilerTool.DisableLanguageExtensions">
</BoolProperty>
<EnumProperty
Name="ConformanceMode"
DisplayName="Conformance mode"
Description="Enables or suppresses conformance mode. (/permissive-, /permissive). "
Category="Language"
F1Keyword="VC.Project.VCCLCompilerTool.ConformanceMode">
<EnumValue
Name="Default"
Switch=""
DisplayName="Default">
</EnumValue>
<EnumValue
Name="true"
Switch="permissive-"
DisplayName="Yes">
</EnumValue>
<EnumValue
Name="false"
Switch="permissive"
DisplayName="No">
</EnumValue>
</EnumProperty>
<BoolProperty
ReverseSwitch="Zc:wchar_t-"
Name="TreatWChar_tAsBuiltInType"
DisplayName="Treat WChar_t As Built in Type"
Description="When specified, the type wchar_t becomes a native type that maps to __wchar_t in the same way that short maps to __int16. /Zc:wchar_t is on by default."
Category="Language"
Switch="Zc:wchar_t"
F1Keyword="VC.Project.VCCLCompilerTool.TreatWChar_tAsBuiltInType">
</BoolProperty>
<BoolProperty
ReverseSwitch="Zc:forScope-"
Name="ForceConformanceInForLoopScope"
DisplayName="Force Conformance in For Loop Scope"
Description="Used to implement standard C++ behavior for the for statement loops with Microsoft extensions (/Za, /Ze (Disable Language Extensions)). /Zc:forScope is on by default."
Category="Language"
Switch="Zc:forScope"
F1Keyword="VC.Project.VCCLCompilerTool.ForceConformanceInForLoopScope">
</BoolProperty>
<BoolProperty
Name="RemoveUnreferencedCodeData"
DisplayName="Remove unreferenced code and data"
Description="When specified, compiler no longer generates symbol information for unreferenced code and data."
Category="Language"
Switch="Zc:inline"
F1Keyword="VC.Project.VCCLCompilerTool.RemoveUnreferencedCodeData">
</BoolProperty>
<BoolProperty
ReverseSwitch="Zc:rvalueCast-"
Name="EnforceTypeConversionRules"
DisplayName="Enforce type conversion rules"
Description="Used to identify an rvalue reference type as the result of a cast operation in accordance with the C++11 standard."
Category="Language"
Switch="Zc:rvalueCast"
F1Keyword="VC.Project.VCCLCompilerTool.EnforceTypeConversionRules">
</BoolProperty>
<BoolProperty
ReverseSwitch="GR-"
Name="RuntimeTypeInfo"
DisplayName="Enable Run-Time Type Information"
Description="Adds code for checking C++ object types at run time (runtime type information). (/GR, /GR-)"
Category="Language"
Switch="GR"
F1Keyword="VC.Project.VCCLCompilerTool.RuntimeTypeInfo">
</BoolProperty>
<BoolProperty
ReverseSwitch="openmp-"
Name="OpenMPSupport"
DisplayName="Open MP Support"
Description="Enable OpenMP 2.0 language extensions. (/openmp)"
Category="Language"
Switch="openmp"
F1Keyword="VC.Project.VCCLCompilerTool.OpenMP">
</BoolProperty>
<EnumProperty
Name="LanguageStandard"
DisplayName="C++ Language Standard"
Description="Determines the C++ language standard the compiler will enforce. It is recommended to use the latest version when possible. (/std:c++14, /std:c++17, /std:c++20, /std:c++latest)"
Category="Language"
F1Keyword="VC.Project.VCCLCompilerTool.CppLanguageStandard">
<EnumValue
Name="Default"
Switch=""
DisplayName="Default (ISO C++14 Standard)">
</EnumValue>
<EnumValue
Name="stdcpp14"
Switch="std:c++14"
DisplayName="ISO C++14 Standard">
</EnumValue>
<EnumValue
Name="stdcpp17"
Switch="std:c++17"
DisplayName="ISO C++17 Standard">
</EnumValue>
<EnumValue
Name="stdcpp20"
Switch="std:c++20"
DisplayName="ISO C++20 Standard">
</EnumValue>
<EnumValue
Name="stdcpplatest"
Switch="std:c++latest"
DisplayName="Preview - Features from the Latest C++ Working Draft">
</EnumValue>
</EnumProperty>
<EnumProperty
Name="LanguageStandard_C"
DisplayName="C Language Standard"
Description="Determines the C language standard the compiler will enforce. It is recommended to use the latest version when possible. (/std:c11, /std:c17)"
Category="Language"
F1Keyword="VC.Project.VCCLCompilerTool.CLanguageStandard">
<EnumValue
Name="Default"
Switch=""
DisplayName="Default (Legacy MSVC)">
</EnumValue>
<EnumValue
Name="stdc11"
Switch="std:c11"
DisplayName="ISO C11 Standard">
</EnumValue>
<EnumValue
Name="stdc17"
Switch="std:c17"
DisplayName="ISO C17 (2018) Standard">
</EnumValue>
</EnumProperty>
<BoolProperty
Name="EnableModules"
DisplayName="Enable Experimental C++ Standard Library Modules"
Description="Enables support for experimental C++ Standard Library modules."
Category="Language"
Switch="experimental:module"
F1Keyword="VC.Project.VCCLCompilerTool.ModulesSupport">
</BoolProperty>
<StringListProperty
Subtype="folder"
Name="StdIfcDirectory"
Category="Language"
Switch="stdIfcDir "
Visible="false">
</StringListProperty>
<EnumProperty
Name="PrecompiledHeader"
DisplayName="Precompiled Header"
Description="Create/Use Precompiled Header : Enables creation or use of a precompiled header during the build. (/Yc, /Yu)"
Category="Precompiled Headers"
F1Keyword="VC.Project.VCCLCompilerTool.UsePrecompiledHeader">
<EnumValue
Name="Create"
Switch="Yc"
DisplayName="Create"
Description="Instructs the compiler to create a precompiled header (.pch) file that represents the state of compilation at a certain point.">
<Argument
Property="PrecompiledHeaderFile"
IsRequired="false" />
</EnumValue>
<EnumValue
Name="Use"
Switch="Yu"
DisplayName="Use"
Description="Instructs the compiler to use an existing precompiled header (.pch) file in the current compilation.">
<Argument
Property="PrecompiledHeaderFile"
IsRequired="false" />
</EnumValue>
<EnumValue
Name="NotUsing"
Switch=""
DisplayName="Not Using Precompiled Headers"
Description="Not using precompiled headers. ">
</EnumValue>
</EnumProperty>
<StringProperty
Subtype="file"
Name="PrecompiledHeaderFile"
DisplayName="Precompiled Header File"
Description="Specifies header file name to use when creating or using a precompiled header file. (/Yc[name], /Yu[name])"
Category="Precompiled Headers"
F1Keyword="VC.Project.VCCLCompilerTool.PrecompiledHeaderThrough">
</StringProperty>
<StringProperty
Subtype="file"
Name="PrecompiledHeaderOutputFile"
DisplayName="Precompiled Header Output File"
Description="Specifies the path and/or name of the generated precompiled header file. (/Fp[name])"
Category="Precompiled Headers"
Switch="Fp"
F1Keyword="VC.Project.VCCLCompilerTool.PrecompiledHeaderFile">
</StringProperty>
<BoolProperty
Name="ExpandAttributedSource"
DisplayName="Expand Attributed Source"
Description="Create listing file with expanded attributes injected into source file. (/Fx)"
Category="Output Files"
Switch="Fx"
F1Keyword="VC.Project.VCCLCompilerTool.ExpandAttributedSource">
</BoolProperty>
<EnumProperty
Name="AssemblerOutput"
DisplayName="Assembler Output"
Description="Specifies the contents of assembly language output file. (/FA, /FAc, /FAs, /FAcs)"
Category="Output Files"
F1Keyword="VC.Project.VCCLCompilerTool.AssemblerOutput">
<EnumValue
Name="NoListing"
Switch=""
DisplayName="No Listing"
Description="No listing. ">
</EnumValue>
<EnumValue
Name="AssemblyCode"
Switch="FA"
DisplayName="Assembly-Only Listing"
Description="Assembly code; .asm">
</EnumValue>
<EnumValue
Name="AssemblyAndMachineCode"
Switch="FAc"
DisplayName="Assembly With Machine Code"
Description="Machine and assembly code; .cod">
</EnumValue>
<EnumValue
Name="AssemblyAndSourceCode"
Switch="FAs"
DisplayName="Assembly With Source Code"
Description="Source and assembly code; .asm">
</EnumValue>
<EnumValue
Name="All"
Switch="FAcs"
DisplayName="Assembly, Machine Code and Source"
Description="Assembly, machine code and source code; .cod">
</EnumValue>
</EnumProperty>
<BoolProperty
Name="UseUnicodeForAssemblerListing"
DisplayName="Use Unicode For Assembler Listing"
Description="Causes the output file to be created in UTF-8 format. "
Category="Output Files"
Switch="FAu"
F1Keyword="VC.Project.VCCLCompilerTool.UseUnicodeForAssemblerListing">
</BoolProperty>
<StringProperty
Subtype="file"
Name="AssemblerListingLocation"
DisplayName="ASM List Location"
Description="Specifies relative path and/or name for ASM listing file; can be file or directory name. (/Fa[name])"
Category="Output Files"
Switch="Fa"
F1Keyword="VC.Project.VCCLCompilerTool.AssemblerListingLocation">
</StringProperty>
<StringProperty
Subtype="file"
Name="ModuleOutputFile"
DisplayName="Module Output File Name"
Description="Module or header unit output (BMI) file location; can be file or directory name. (/ifcOutput[name])"
Category="Output Files"
Switch="ifcOutput "
F1Keyword="VC.Project.VCCLCompilerTool.ModuleOutputFile">
</StringProperty>
<BoolProperty
Name="GenerateModuleDependencies"
DisplayName="Generate Module Dependenices File"
Description="Generates a json file containing module and header units dependencies info. (/sourceDependencies:directives)"
Category="Output Files"
Switch="sourceDependencies:directives "
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.GenerateModuleDependencies">
<Argument
Property="ModuleDependenciesFile"
IsRequired="false" />
</BoolProperty>
<StringProperty
Subtype="file"
Name="ModuleDependenciesFile"
DisplayName="Module Dependencies File Name"
Description="Specifies the path and/or name of the generated module dependencies file. (/sourceDependencies:directives[path])"
Category="Output Files"
F1Keyword="VC.Project.VCCLCompilerTool.ModuleDependenciesFile">
</StringProperty>
<StringProperty
Subtype="file"
Name="ObjectFileName"
DisplayName="Object File Name"
Description="Specifies a name to override the default object file name; can be file or directory name. (/Fo[name])"
Category="Output Files"
Switch="Fo"
F1Keyword="VC.Project.VCCLCompilerTool.ObjectFile">
</StringProperty>
<StringProperty
Subtype="file"
Name="ProgramDataBaseFileName"
DisplayName="Program Database File Name"
Description="Specifies a name for a compiler-generated PDB file; also specifies base name for the required compiler-generated IDB file; can be file or directory name. (/Fd[name])"
Category="Output Files"
Switch="Fd"
F1Keyword="VC.Project.VCCLCompilerTool.ProgramDataBaseFileName">
</StringProperty>
<BoolProperty
Name="GenerateXMLDocumentationFiles"
DisplayName="Generate XML Documentation Files"
Description="Specifies that the compiler should generate XML documentation comment files (.XDC). (/doc)"
Category="Output Files"
Switch="doc"
F1Keyword="VC.Project.VCCLCompilerTool.GenerateXMLDocumentationFiles">
<Argument
Property="XMLDocumentationFileName"
IsRequired="false" />
</BoolProperty>
<StringProperty
Subtype="file"
Name="XMLDocumentationFileName"
DisplayName="XML Documentation File Name"
Description="Specifies the name of the generated XML documentation files; can be file or directory name. (/doc[name])"
Category="Output Files"
F1Keyword="VC.Project.VCCLCompilerTool.XMLDocumentationFileName">
</StringProperty>
<BoolProperty
Name="GenerateSourceDependencies"
DisplayName="Generate Source Dependencies File"
Description="Generates a json file with the list of all files the compiler used for the compilation of the source. (/sourceDependencies)"
Category="Output Files"
Switch="sourceDependencies "
F1Keyword="VC.Project.VCCLCompilerTool.GenerateSourceDependencies">
<Argument
Property="SourceDependenciesFile"
IsRequired="false" />
</BoolProperty>
<StringProperty
Subtype="file"
Name="SourceDependenciesFile"
DisplayName="Source Dependencies File Name"
Description="Specifies the path and/or name of the generated source dependencies file. (/sourceDependencies[path])"
Category="Output Files"
F1Keyword="VC.Project.VCCLCompilerTool.SourceDependenciesFile">
</StringProperty>
<BoolProperty
Name="BrowseInformation"
DisplayName="Enable Browse Information"
Description="Enable Browse Information : Specifies level of browse information in .bsc file. (/FR)"
Category="Browse Information"
Switch="FR"
F1Keyword="VC.Project.VCCLCompilerTool.BrowseInformation">
<Argument
Property="BrowseInformationFile"
IsRequired="false" />
</BoolProperty>
<StringProperty
Subtype="file"
Name="BrowseInformationFile"
DisplayName="Browse Information File"
Description="Browse File : Specifies optional name for browser information file. (/FR[name])"
Category="Browse Information"
F1Keyword="VC.Project.VCCLCompilerTool.BrowseInformationFile">
</StringProperty>
<StringListProperty
Subtype="string"
Name="ExternalDirectoriesEnv"
DisplayName="External Directories Environment Variables"
Description="Specifies one or more environment variables which specify directories containing external headers. Separate with ';' if more than one. (/external:env[name])"
Category="External Includes"
Switch="external:env:"
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.ExternalDirectoriesEnv">
</StringListProperty>
<BoolProperty
Name="TreatAngleIncludeAsExternal"
DisplayName="Treat Files Included with Angle Brackets as External"
Description="Specifies whether to treat files included with angle brackets as external. (/external:anglebrackets)"
Category="External Includes"
Switch="external:anglebrackets"
F1Keyword="VC.Project.VCCLCompilerTool.ExternalIncludeDirectories">
</BoolProperty>
<EnumProperty
Name="ExternalWarningLevel"
DisplayName="External Header Warning Level"
Description="Select how strict you want the compiler to be about code errors in external headers. (/external:W0 - /external:W4)"
Category="External Includes"
F1Keyword="VC.Project.VCCLCompilerTool.ExternalWarningLevel">
<EnumValue
Name="TurnOffAllWarnings"
Switch="external:W0"
DisplayName="Turn Off All Warnings">
</EnumValue>
<EnumValue
Name="Level1"
Switch="external:W1"
DisplayName="Level1">
</EnumValue>
<EnumValue
Name="Level2"
Switch="external:W2"
DisplayName="Level2">
</EnumValue>
<EnumValue
Name="Level3"
Switch="external:W3"
DisplayName="Level3">
</EnumValue>
<EnumValue
Name="Level4"
Switch="external:W4"
DisplayName="Level4">
</EnumValue>
<EnumValue
Name="InheritWarningLevel"
Switch=""
DisplayName="Inherit Project Warning Level">
</EnumValue>
</EnumProperty>
<BoolProperty
Name="ExternalTemplatesDiagnostics"
DisplayName="Template Diagnostics in External Headers"
Description="Specifies whether to evaluate warning level across template instantiation chain. (/external:templates-)"
Category="External Includes"
Switch="external:templates-"
F1Keyword="VC.Project.VCCLCompilerTool.TreatExternalTemplatesAsInternal">
</BoolProperty>
<BoolProperty
Name="DisableAnalyzeExternal"
DisplayName="Disable Code Analysis for External Headers"
Description="Disables code analysis for external headers. (/analyze:external-)"
Category="External Includes"
Switch="analyze:external-"
F1Keyword="VC.Project.VCCLCompilerTool.DisableAnalyzeExternal">
</BoolProperty>
<DynamicEnumProperty
EnumProvider="CARuleset"
Name="AnalyzeExternalRuleset"
DisplayName="Analysis Ruleset for External Headers"
Description="Specifies a code analysis ruleset override for external headers. If not specified, the Code Analysis setting is used. (/analyze:external:ruleset[path])"
Category="External Includes"
F1Keyword="VC.Project.VCCLCompilerTool.AnalyzeExternalRuleset">
<DynamicEnumProperty.ValueEditors>
<ValueEditor
EditorType="DefaultFilePropertyEditor"
DisplayName="<Browse...>" />
<ValueEditor
EditorType="DefaultStringPropertyEditor"
DisplayName="<Edit...>" />
</DynamicEnumProperty.ValueEditors>
</DynamicEnumProperty>
<EnumProperty
Name="CallingConvention"
DisplayName="Calling Convention"
Description="Select the default calling convention for your application (can be overridden by function). (/Gd, /Gr, /Gz, /Gv)"
Category="Advanced"
F1Keyword="VC.Project.VCCLCompilerTool.CallingConvention">
<EnumValue
Name="Cdecl"
Switch="Gd"
DisplayName="__cdecl"
Description="Specifies the __cdecl calling convention for all functions except C++ member functions and functions marked __stdcall or __fastcall.">
</EnumValue>
<EnumValue
Name="FastCall"
Switch="Gr"
DisplayName="__fastcall"
Description="Specifies the __fastcall calling convention for all functions except C++ member sfunctions and functions marked __cdecl or __stdcall. All __fastcall functions must have prototypes.">
</EnumValue>
<EnumValue
Name="StdCall"
Switch="Gz"
DisplayName="__stdcall"
Description="Specifies the __stdcall calling convention for all functions except C++ member functions and functions marked __cdecl or __fastcall. All __stdcall functions must have prototypes.">
</EnumValue>
<EnumValue
Name="VectorCall"
Switch="Gv"
DisplayName="__vectorcall"
Description="Specifies the __vectorcall calling convention for all functions except C++ member functions and functions marked __cdecl, __fastcall, or __stdcall. All __vectorcall functions must have prototypes.">
</EnumValue>
</EnumProperty>
<EnumProperty
Name="CompileAs"
DisplayName="Compile As"
Description="Select compile language option for .c and .cpp files. (/TC, /TP, /interface, /internalPartition, /exportHeader)"
Category="Advanced"
F1Keyword="VC.Project.VCCLCompilerTool.CompileAs">
<EnumValue
Name="Default"
Switch=""
DisplayName="Default"
Description="Default.">
</EnumValue>
<EnumValue
Name="CompileAsC"
Switch="TC"
DisplayName="Compile as C Code"
Description="Compile as C Code.">
</EnumValue>
<EnumValue
Name="CompileAsCpp"
Switch="TP"
DisplayName="Compile as C++ Code"
Description="Compile as C++ Code.">
</EnumValue>
<EnumValue
Name="CompileAsCppModule"
Switch="interface "
DisplayName="Compile as C++ Module Code"
Description="Compile as C++ Module Interace.">
</EnumValue>
<EnumValue
Name="CompileAsCppModuleInternalPartition"
Switch="internalPartition "
DisplayName="Compile as C++ Module Internal Partition"
Description="Compile as C++ Module Internal Partition.">
</EnumValue>
<EnumValue
Name="CompileAsHeaderUnit"
Switch="exportHeader "
DisplayName="Compile as C++ Header Unit"
Description="Compile as C++ Header Unit.">
</EnumValue>
</EnumProperty>
<StringListProperty
Name="DisableSpecificWarnings"
DisplayName="Disable Specific Warnings"
Description="Disable the desired warning numbers; put numbers in a semi-colon delimited list. (/wd[num])"
Category="Advanced"
Switch="wd"
F1Keyword="VC.Project.VCCLCompilerTool.DisableSpecificWarnings">
</StringListProperty>
<StringListProperty
Subtype="file"
Name="ForcedIncludeFiles"
DisplayName="Forced Include File"
Description="one or more forced include files. (/FI[name])"
Category="Advanced"
Switch="FI"
F1Keyword="VC.Project.VCCLCompilerTool.ForcedIncludeFiles">
</StringListProperty>
<StringListProperty
Subtype="file"
Name="ForcedUsingFiles"
DisplayName="Forced #using File"
Description="Specifies one or more forced #using files. (/FU[name])"
Category="Advanced"
Switch="FU"
F1Keyword="VC.Project.VCCLCompilerTool.ForcedUsingFiles">
</StringListProperty>
<BoolProperty
Name="ShowIncludes"
DisplayName="Show Includes"
Description="Generates a list of include files with compiler output. (/showIncludes)"
Category="Advanced"
Switch="showIncludes"
F1Keyword="VC.Project.VCCLCompilerTool.ShowIncludes">
</BoolProperty>
<BoolProperty
ReverseSwitch="analyze-"
Name="EnablePREfast"
DisplayName="Enable Code Analysis"
Description="Enables code analysis functionality that identifies common coding defects in C/C++ code. (/analyze)"
Category="Advanced"
Switch="analyze"
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.EnablePREfast">
</BoolProperty>
<StringProperty
Subtype="file"
Name="PREfastLog"
DisplayName="Code Analysis Log"
Description="Specific the name of the output file. (/analyze:log)"
Category="Advanced"
Switch="analyze:log "
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.EnablePREfast">
</StringProperty>
<StringProperty
Name="PREfastProjectDirectory"
DisplayName="Code Analysis Project Directory"
Description="Specify the name of PREfast project directory root. (/analyze:projectdirectory)"
Category="Advanced"
Switch="analyze:projectdirectory"
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.EnablePREfast">
</StringProperty>
<StringProperty
Name="PREfastRulesetDirectories"
DisplayName="Code Analysis Ruleset Directories"
Description="Specifies one or more directories (separate directory names with a semicolon) that are used to search for ruleset files. (/analyze:rulesetdirectory)"
Category="Advanced"
Switch="analyze:rulesetdirectory"
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.EnablePREfast">
</StringProperty>
<StringProperty
Subtype="file"
Name="PREfastRulesetFile"
DisplayName="Code Analysis Ruleset File"
Description="Specify the name of ruleset file to use. (/analyze:ruleset)"
Category="Advanced"
Switch="analyze:ruleset"
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.EnablePREfast">
</StringProperty>
<StringListProperty
Name="PREfastAdditionalOptions"
DisplayName="Additional Code Analysis Native options"
Description="Extra options to use for code analysis."
Category="Advanced"
Switch="analyze:"
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.PREfastAdditionalOptions">
</StringListProperty>
<StringListProperty
Name="PREfastAdditionalPlugins"
DisplayName="Additional Code Analysis Native plugins"
Description="Extra plugins to use for code analysis. (/analyze:plugin[plugin1.dll])"
Category="Advanced"
Switch="analyze:plugin"
Visible="false"
F1Keyword="VC.Project.VCCLCompilerTool.PREfastAdditionalPlugins">
</StringListProperty>
<BoolProperty
Name="UseFullPaths"
DisplayName="Use Full Paths"
Description="Use full paths in diagnostic messages. (/FC)"
Category="Advanced"
Switch="FC"
F1Keyword="VC.Project.VCCLCompilerTool.UseFullPaths">
</BoolProperty>
<BoolProperty
Name="OmitDefaultLibName"
DisplayName="Omit Default Library Name"
Description="Do not include default library names in .obj files. (/Zl)"
Category="Advanced"
Switch="Zl"
F1Keyword="VC.Project.VCCLCompilerTool.OmitDefaultLibName">
</BoolProperty>
<EnumProperty
Name="ErrorReporting"
DisplayName="Internal Compiler Error Reporting"
Description="Specifies how internal tool errors should be reported back to Microsoft. The default in the IDE is prompt. The default from command line builds is queue. (/errorReport:[method])"
Category="Advanced"
F1Keyword="VC.Project.VCCLCompilerTool.ErrorReporting">
<EnumValue
Name="None"
Switch="errorReport:none"
DisplayName="Do Not Send Report"
Description="Reports about internal compiler errors will not be collected or sent to Microsoft.">
</EnumValue>
<EnumValue
Name="Prompt"
Switch="errorReport:prompt"
DisplayName="Prompt Immediately"
Description="Prompts you to send a report when you receive an internal compiler error.">
</EnumValue>
<EnumValue
Name="Queue"
Switch="errorReport:queue"
DisplayName="Queue For Next Login"
Description="Queues the error report. When you log in with administrator privileges, a pop-up window is displayed and allows you to report any failures since the last time you were logged in (you will not be prompted to send reports for failures more than once every three days). queue is the default when compiling an application at the command line.">
</EnumValue>
<EnumValue
Name="Send"
Switch="errorReport:send"
DisplayName="Send Automatically"
Description="Automatically sends reports of internal compiler errors to Microsoft. To enable this option, you must first agree to Microsoft%27s data collection policy. The first time you specify /errorReport:send on a computer, a compiler message will refer you to a website that contains Microsoft%27s data collection policy.">
</EnumValue>
</EnumProperty>
<StringListProperty
Name="TreatSpecificWarningsAsErrors"
DisplayName="Treat Specific Warnings As Errors"
Description="Treats the specific compiler warning as an error where n is a compiler warning."
Category="Advanced"
Switch="we"
F1Keyword="VC.Project.VCCLCompilerTool.TreatSpecificWarningsAsErrors">
</StringListProperty>
<StringProperty
Name="AdditionalOptions"
DisplayName="Additional Options"
Description="Additional Options."
Category="Command Line"
F1Keyword="vc.project.AdditionalOptionsPage">
</StringProperty>
<BoolProperty
Name="BuildingInIde"
Visible="false">
</BoolProperty>
</Rule>