﻿<?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="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>
  <BoolProperty
     Name="MSVCErrorReport"
     DisplayName="Visual Studio Errors Reporting"
     Description="Report errors which Visual Studio can use to parse for file and line information."
     Category="General"
     Switch="fdiagnostics-format=msvc"
     Visible="false"
     F1Keyword="">
  </BoolProperty>
  <StringProperty
     Name="GccToolChain"
     DisplayName="Gcc Tool Chain"
     Description="Folder path to Gcc Tool Chain."
     Category="General"
     Switch="-gcc-toolchain="
     Visible="false"
     F1Keyword="">
  </StringProperty>
  <StringProperty
     Name="TargetArch"
     DisplayName="Target Architecture"
     Description="Target Architecture"
     Category="General"
     Switch="target "
     Visible="false"
     F1Keyword="">
  </StringProperty>
  <StringProperty
     Name="Sysroot"
     DisplayName="Sysroot"
     Description="Folder path to the root directory for headers and libraries."
     Category="General"
     Switch="-sysroot="
     Visible="false"
     F1Keyword="">
  </StringProperty>
  <StringListProperty
     Subtype="folder"
     Name="ISystem"
     DisplayName="System include search path"
     Description="Folder path to the directory for SYSTEM include search path."
     Category="General"
     Switch="isystem "
     Visible="false"
     F1Keyword="">
  </StringListProperty>
  <StringListProperty
     Subtype="folder"
     Name="AdditionalIncludeDirectories"
     DisplayName="Additional Include Directories"
     Description="Specifies one or more directories to add to the include path; separate with semi-colons if more than one. (-I[path])."
     Category="General"
     Switch="I "
     F1Keyword="VC.Project.VCClangCompilerTool.AdditionalIncludeDirectories">
  </StringListProperty>
  <EnumProperty
     Name="DebugInformationFormat"
     DisplayName="Debug Information Format"
     Description="Specifies the type of debugging information generated by the compiler."
     Category="General"
     F1Keyword="VC.Project.VCClangCompilerTool.DebugInformationFormat">
    <EnumValue
       Name="None"
       Switch="g0"
       DisplayName="None"
       Description="Produces no debugging information, so compilation may be faster.">
    </EnumValue>
    <EnumValue
       Name="FullDebug"
       Switch="g2 -gdwarf-2"
       DisplayName="Full Debug Information (DWARF2)"
       Description="Generate DWARF2 debug information.">
    </EnumValue>
    <EnumValue
       Name="LineNumber"
       Switch="gline-tables-only"
       DisplayName="Line Number Information"
       Description="Generate Line Number information only.">
    </EnumValue>
  </EnumProperty>
  <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="General"
     Switch="o "
     F1Keyword="VC.Project.VCClangCompilerTool.ObjectFile">
  </StringProperty>
  <EnumProperty
     Name="WarningLevel"
     DisplayName="Warning Level"
     Description="Select how strict you want the compiler to be about code errors.  Other flags should be added directly to Additional Options. (/w, /Weverything)."
     Category="General"
     F1Keyword="VC.Project.VCClangCompilerTool.WarningLevel">
    <EnumValue
       Name="TurnOffAllWarnings"
       Switch="w"
       DisplayName="Turn Off All Warnings"
       Description="Disables all compiler warnings.">
    </EnumValue>
    <EnumValue
       Name="EnableAllWarnings"
       Switch="Wall"
       DisplayName="EnableAllWarnings"
       Description="Enables all warnings, including those disabled by default.">
    </EnumValue>
  </EnumProperty>
  <BoolProperty
     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="Werror"
     F1Keyword="VC.Project.VCClangCompilerTool.WarnAsError">
  </BoolProperty>
  <BoolProperty
     Name="Verbose"
     DisplayName="Enable Verbose mode"
     Description="Show commands to run and use verbose output."
     Category="General"
     Switch="v"
     F1Keyword="VC.Project.VCClangCompilerTool.Verbose">
  </BoolProperty>
  <StringProperty
     Subtype="folder"
     Name="TrackerLogDirectory"
     DisplayName="Tracker Log Directory"
     Description="Tracker Log Directory."
     Category="General"
     IncludeInCommandLine="false"
     Visible="false">
  </StringProperty>
  <EnumProperty
     Name="Optimization"
     DisplayName="Optimization"
     Description="Specifies the optimization level for the application."
     Category="Optimization"
     F1Keyword="VC.Project.VCClangCompilerTool.Optimization">
    <EnumValue
       Name="Custom"
       Switch=""
       DisplayName="Custom"
       Description="Custom optimization.">
    </EnumValue>
    <EnumValue
       Name="Disabled"
       Switch="O0"
       DisplayName="Disabled"
       Description="Disable optimization.">
    </EnumValue>
    <EnumValue
       Name="MinSize"
       Switch="Os"
       DisplayName="Minimize Size"
       Description="Optimize for size.">
    </EnumValue>
    <EnumValue
       Name="MaxSpeed"
       Switch="O2"
       DisplayName="Maximize Speed"
       Description="Optimize for speed.">
    </EnumValue>
    <EnumValue
       Name="Full"
       Switch="O3"
       DisplayName="Full Optimization"
       Description="Expensive optimizations.">
    </EnumValue>
  </EnumProperty>
  <BoolProperty
     ReverseSwitch="fno-strict-aliasing"
     Name="StrictAliasing"
     DisplayName="Strict Aliasing"
     Description="Assume the strictest aliasing rules.  An object of one type will never be assumed to reside at the same address as an object of a different type."
     Category="Optimization"
     Switch="fstrict-aliasing"
     F1Keyword="VC.Project.VCClangCompilerTool.StrictAliasing">
  </BoolProperty>
  <EnumProperty
     Name="ThumbMode"
     DisplayName="Thumb Mode"
     Description="Generate code that executes for thumb microarchitecture. This is applicable for arm architecture only."
     Category="Optimization"
     Visible="false"
     F1Keyword="VC.Project.VCClangCompilerTool.ThumbMode">
    <EnumProperty.DataSource>
      <DataSource
         Persistence="ProjectFile"
         ItemType=""
         Label="Configuration"
         HasConfigurationCondition="true" />
    </EnumProperty.DataSource>
    <EnumValue
       Name="Thumb"
       Switch="mthumb"
       DisplayName="Thumb"
       Description="Generate Thumb code.">
    </EnumValue>
    <EnumValue
       Name="ARM"
       Switch="marm"
       DisplayName="Arm"
       Description="Generate Arm code.">
    </EnumValue>
    <EnumValue
       Name="Disabled"
       Switch=""
       DisplayName="Disabled"
       Description="Option not applicable for chosen platform.">
    </EnumValue>
  </EnumProperty>
  <BoolProperty
     ReverseSwitch="fno-omit-frame-pointer"
     Name="OmitFramePointers"
     DisplayName="Omit Frame Pointer"
     Description="Suppresses creation of frame pointers on the call stack."
     Category="Optimization"
     Switch="fomit-frame-pointer"
     F1Keyword="VC.Project.VCClangCompilerTool.OmitFramePointers">
  </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.VCClangCompilerTool.ExceptionHandling">
    <EnumValue
       Name="Disabled"
       Switch="fno-exceptions"
       DisplayName="No"
       Description="Disable exception handling.">
    </EnumValue>
    <EnumValue
       Name="Enabled"
       Switch="fexceptions"
       DisplayName="Yes"
       Description="Enable exception handling.">
    </EnumValue>
    <EnumValue
       Name="UnwindTables"
       Switch="funwind-tables"
       DisplayName="Unwind Tables"
       Description="Generates any needed static data, but does not affect the code generated.">
    </EnumValue>
  </EnumProperty>
  <BoolProperty
     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.     (ffunction-sections)."
     Category="Code Generation"
     Switch="ffunction-sections"
     F1Keyword="VC.Project.VCClangCompilerTool.EnableFunctionLevelLinking">
  </BoolProperty>
  <BoolProperty
     Name="DataLevelLinking"
     DisplayName="Enable Data-Level Linking"
     Description="Enables linker optimizations to remove unused data by emitting each data item in a separate section."
     Category="Code Generation"
     Switch="fdata-sections"
     F1Keyword="VC.Project.VCClangCompilerTool.DataLevelLinking">
  </BoolProperty>
  <BoolProperty
     Name="EnableNeonCodegen"
     DisplayName="Enable Advanced SIMD(Neon)"
     Description="Enables code generation for NEON floating point hardware. This is applicable for arm architecture only."
     Category="Code Generation"
     Switch="mfpu=neon"
     F1Keyword="VC.Project.VCClangCompilerTool.DataLevelLinking">
  </BoolProperty>
  <EnumProperty
     Name="FloatABI"
     DisplayName="Floating-point ABI"
     Description="Selection option to choose the floating point ABI."
     Category="Code Generation"
     F1Keyword="VC.Project.VCClangCompilerTool.FloatABI">
    <EnumValue
       Name="soft"
       Switch="mfloat-abi=soft"
       DisplayName="Soft"
       Description="'Soft' causes compiler to generate output containing library calls for floating-point operations.">
    </EnumValue>
    <EnumValue
       Name="softfp"
       Switch="mfloat-abi=softfp"
       DisplayName="SoftFP"
       Description="'SoftFP' allows the generation of code using hardware floating-point instructions, but still uses the soft-float calling conventions.">
    </EnumValue>
    <EnumValue
       Name="hard"
       Switch="mfloat-abi=hard"
       DisplayName="Hard"
       Description="'Hard' alows generation of floating-point instructions and uses FPU-specific calling conventions.">
    </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. (fstack-protector)."
     Category="Code Generation"
     F1Keyword="VC.Project.VCClangCompilerTool.BufferSecurityCheck">
    <EnumValue
       Name="false"
       Switch=""
       DisplayName="Disable Security Check"
       Description="Disable Security Check.">
    </EnumValue>
    <EnumValue
       Name="true"
       Switch="fstack-protector"
       DisplayName="Enable Security Check"
       Description="Enable Security Check. (fstack-protector)">
    </EnumValue>
  </EnumProperty>
  <BoolProperty
     Name="PositionIndependentCode"
     DisplayName="Position Independent Code"
     Description="Generate Position Independent Code (PIC) for use in a shared library."
     Category="Code Generation"
     Switch="fpic"
     F1Keyword="VC.Project.VCClangCompilerTool.PIC">
  </BoolProperty>
  <BoolProperty
     ReverseSwitch="fno-short-enums"
     Name="UseShortEnums"
     DisplayName="Use Short Enums"
     Description="Enum type uses only as many bytes required by input set of possible values."
     Category="Code Generation"
     Switch="fshort-enums"
     F1Keyword="VC.Project.VCClangCompilerTool.UseShortEnums">
  </BoolProperty>
  <EnumProperty
     Name="RuntimeLibrary"
     DisplayName="Runtime Library"
     Description="Specify runtime library for linking.     (MSVC /MT, /MTd, /MD, /MDd switches)"
     Category="Code Generation"
     F1Keyword="VC.Project.VCCLCompilerTool.RuntimeLibrary">
    <EnumValue
       Name="MultiThreaded"
       Switch=""
       DisplayName="Multi-threaded"
       Description="Causes your application to use the multithread, static version of the run-time library.">
    </EnumValue>
    <EnumValue
       Name="MultiThreadedDebug"
       Switch=""
       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=""
       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=""
       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>
  <BoolProperty
     ReverseSwitch="fno-rtti"
     Name="RuntimeTypeInfo"
     DisplayName="Enable Run-Time Type Information"
     Description="Adds code for checking C++ object types at run time (runtime type information).     (frtti, fno-rtti)"
     Category="Language"
     Switch="frtti"
     F1Keyword="VC.Project.VCClangCompilerTool.RuntimeTypeInfo">
  </BoolProperty>
  <EnumProperty
     Name="CLanguageStandard"
     DisplayName="C Language Standard"
     Description="Determines the C language standard."
     Category="Language"
     F1Keyword="VC.Project.VCClangCompilerTool.CLanguageStandard">
    <EnumValue
       Name="Default"
       Switch=""
       DisplayName="Default">
    </EnumValue>
    <EnumValue
       Name="c89"
       Switch="std=c89"
       DisplayName="C89"
       Description="C89 Language Standard.">
    </EnumValue>
    <EnumValue
       Name="c99"
       Switch="std=c99"
       DisplayName="C99"
       Description="C99 Language Standard.">
    </EnumValue>
    <EnumValue
       Name="c11"
       Switch="std=c11"
       DisplayName="C11"
       Description="C11 Language Standard.">
    </EnumValue>
    <EnumValue
       Name="gnu99"
       Switch="std=gnu99"
       DisplayName="C99 (GNU Dialect)"
       Description="C99 (GNU Dialect) Language Standard.">
    </EnumValue>
    <EnumValue
       Name="gnu11"
       Switch="std=gnu11"
       DisplayName="C11 (GNU Dialect)"
       Description="C11 (GNU Dialect) Language Standard.">
    </EnumValue>
  </EnumProperty>
  <EnumProperty
     Name="CppLanguageStandard"
     DisplayName="C++ Language Standard"
     Description="Determines the C++ language standard."
     Category="Language"
     F1Keyword="VC.Project.VCClangCompilerTool.CppLanguageStandard">
    <EnumValue
       Name="Default"
       Switch=""
       DisplayName="Default"
       Description="">
    </EnumValue>
    <EnumValue
       Name="c++98"
       Switch="std=c++98"
       DisplayName="C++03"
       Description="C++03 Language Standard.">
    </EnumValue>
    <EnumValue
       Name="c++11"
       Switch="std=c++11"
       DisplayName="C++11"
       Description="C++11 Language Standard.">
    </EnumValue>
    <EnumValue
       Name="c++14"
       Switch="std=c++14"
       DisplayName="C++14"
       Description="C++14 Language Standard.">
    </EnumValue>
    <EnumValue
       Name="c++1z"
       Switch="std=c++1z"
       DisplayName="C++17"
       Description="C++17 Language Standard.">
    </EnumValue>
    <EnumValue
       Name="gnu++98"
       Switch="std=gnu++98"
       DisplayName="C++03 (GNU Dialect)"
       Description="C++03 (GNU Dialect) Language Standard.">
    </EnumValue>
    <EnumValue
       Name="gnu++11"
       Switch="std=gnu++11"
       DisplayName="C++11 (GNU Dialect)"
       Description="C++11 (GNU Dialect) Language Standard.">
    </EnumValue>
    <EnumValue
       Name="gnu++14"
       Switch="std=gnu++14"
       DisplayName="C++14 (GNU Dialect)"
       Description="C++14 (GNU Dialect) Language Standard.">
    </EnumValue>
    <EnumValue
       Name="gnu++1z"
       Switch="std=gnu++1z"
       DisplayName="C++17 (GNU Dialect)"
       Description="C++17 (GNU Dialect) Language Standard.">
    </EnumValue>
  </EnumProperty>
  <StringListProperty
     Name="PreprocessorDefinitions"
     DisplayName="Preprocessor Definitions"
     Description="Defines a preprocessing symbols for your source file. (-D)"
     Category="Preprocessor"
     Switch="D "
     F1Keyword="VC.Project.VCClangCompilerTool.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.VCClangCompilerTool.UndefinePreprocessorDefinitions">
  </StringListProperty>
  <BoolProperty
     Name="UndefineAllPreprocessorDefinitions"
     DisplayName="Undefine All Preprocessor Definitions"
     Description="Undefine all previously defined preprocessor values.  (-undef)"
     Category="Preprocessor"
     Switch="undef"
     F1Keyword="VC.Project.VCClangCompilerTool.UndefineAllPreprocessorDefinitions">
  </BoolProperty>
  <BoolProperty
     Name="ShowIncludes"
     DisplayName="Show Includes"
     Description="Generates a list of include files with compiler output.  (-H)"
     Category="Preprocessor"
     Switch="H"
     F1Keyword="VC.Project.VCClangCompilerTool.ShowIncludes">
  </BoolProperty>
  <EnumProperty
     Name="PrecompiledHeader"
     DisplayName="Precompiled Header"
     Description="Create/Use Precompiled Header:Enables creation or use of a precompiled header during the build."
     Category="Precompiled Headers"
     F1Keyword="VC.Project.VCClangCompilerTool.PrecompiledHeader">
    <EnumValue
       Name="Use"
       Switch=""
       DisplayName="Use"
       Description="Use a Precompiled Header.">
    </EnumValue>
    <EnumValue
       Name="NotUsing"
       Switch=""
       DisplayName="Not using Precompiled Headers"
       Description="Not using a Precompiled Header.">
    </EnumValue>
  </EnumProperty>
  <StringProperty
     Subtype="file"
     Name="PrecompiledHeaderFile"
     DisplayName="Precompiled Header File"
     Description="Specifies header file name to use for precompiled header file. This file will be also added to 'Forced Include Files' during build"
     Category="Precompiled Headers"
     F1Keyword="VC.Project.VCClangCompilerTool.PrecompiledHeaderFile">
  </StringProperty>
  <StringProperty
     Name="PrecompiledHeaderOutputFileDirectory"
     DisplayName="Precompiled Header Output File Directory"
     Description="Specifies the directory for the generated precompiled header. This directory will be also added to 'Additional Include Directories' during build"
     Category="Precompiled Headers"
     F1Keyword="VC.Project.VCClangCompilerTool.PrecompiledHeaderOutputFileDirectory">
  </StringProperty>
  <EnumProperty
     Name="PrecompiledHeaderCompileAs"
     DisplayName="Compile Precompiled Header As"
     Description="Select compile language option for precompiled header file (-x c-header, -x c++-header)."
     Category="Precompiled Headers"
     F1Keyword="VC.Project.VCClangCompilerTool.PrecompiledHeaderCompileAs">
    <EnumValue
       Name="CompileAsC"
       Switch="x c-header"
       DisplayName="Compile as C Code"
       Description="Compile as C Code.">
    </EnumValue>
    <EnumValue
       Name="CompileAsCpp"
       Switch="x c++-header"
       DisplayName="Compile as C++ Code"
       Description="Compile as C++ Code.">
    </EnumValue>
  </EnumProperty>
  <EnumProperty
     Name="CompileAs"
     DisplayName="Compile As"
     Description="Select compile language option for .c and .cpp files.  'Default' will detect based on .c or .cpp extention. (-x c, -x c++)"
     Category="Advanced"
     F1Keyword="VC.Project.VCClangCompilerTool.CompileAs">
    <EnumValue
       Name="Default"
       Switch=""
       DisplayName="Default"
       Description="Default.">
    </EnumValue>
    <EnumValue
       Name="CompileAsC"
       Switch="x c"
       DisplayName="Compile as C Code"
       Description="Compile as C Code.">
    </EnumValue>
    <EnumValue
       Name="CompileAsCpp"
       Switch="x c++"
       DisplayName="Compile as C++ Code"
       Description="Compile as C++ Code.">
    </EnumValue>
  </EnumProperty>
  <StringListProperty
     Subtype="file"
     Name="ForcedIncludeFiles"
     DisplayName="Forced Include Files"
     Description="one or more forced include files.     (-include [name])"
     Category="Advanced"
     Switch="include "
     F1Keyword="VC.Project.VCClangCompilerTool.ForcedIncludeFiles">
  </StringListProperty>
  <BoolProperty
     Name="UseMultiToolTask"
     DisplayName="Multi-processor Compilation"
     Description="Multi-processor Compilation."
     Category="Advanced"
     F1Keyword="VC.Project.VCClangCompilerTool.MultiProcessorCompilation">
    <BoolProperty.DataSource>
      <DataSource
         Persistence="ProjectFile"
         ItemType=""
         Label=""
         HasConfigurationCondition="true" />
    </BoolProperty.DataSource>
  </BoolProperty>
  <BoolProperty
     ReverseSwitch="fno-ms-compatibility"
     Name="MSCompatibility"
     DisplayName="Microsoft Compatibility Mode"
     Description="Enable full Microsoft Visual C++ compatibility."
     Category="Advanced"
     Switch="fms-compatibility"
     F1Keyword="VC.Project.VCClangCompilerTool.MSCompatibility">
  </BoolProperty>
  <StringProperty
     Name="MSCompatibilityVersion"
     DisplayName="Microsoft Compatibility Mode Version"
     Description="Dot-separated value representing the Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))."
     Category="Advanced"
     Switch="fms-compatibility-version="
     F1Keyword="VC.Project.VCClangCompilerTool.MSCompatibilityVersion">
  </StringProperty>
  <BoolProperty
     ReverseSwitch="fno-ms-extensions"
     Name="MSExtensions"
     DisplayName="Microsoft Extension Support"
     Description="Accept some non-standard constructs supported by the Microsoft compiler."
     Category="Advanced"
     Switch="fms-extensions"
     F1Keyword="VC.Project.VCClangCompilerTool.MSExtensions">
  </BoolProperty>
  <StringProperty
     Name="MSCompilerVersion"
     DisplayName="Microsoft Compiler Version"
     Description="Microsoft compiler version number to report in _MSC_VER (0 = don't define it (default))."
     Category="Advanced"
     Switch="fmsc-version="
     F1Keyword="VC.Project.VCClangCompilerTool.MSCompilerVersion">
  </StringProperty>
  <StringProperty
     Name="AdditionalOptions"
     DisplayName="Additional Options"
     Description="Additional Options."
     Category="Command Line"
     F1Keyword="vc.project.AdditionalOptionsPage">
  </StringProperty>
  <BoolProperty
     Name="BuildingInIde"
     Visible="false">
  </BoolProperty>
</Rule>