Files
2026-03-16 01:05:45 +11:00

198 lines
7.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<ProjectSchemaDefinitions 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
Name="NASM"
PageTemplate="tool"
DisplayName="Netwide Assembler"
Order="200">
<Rule.DataSource>
<DataSource
Persistence="ProjectFile"
HasConfigurationCondition="true"
ItemType="NASM" />
</Rule.DataSource>
<Rule.Categories>
<Category Name="General" DisplayName="General" />
<Category Name="Preprocessor" DisplayName="Preprocessing Options" />
<Category Name="Assembler Options" DisplayName="Assembler Options" />
<Category Name="All Options" DisplayName="All Options" Subtype="Search" />
<Category Name="Command Line" DisplayName="Command Line" Subtype="CommandLine" />
</Rule.Categories>
<!-- General -->
<StringListProperty
Name="IncludePaths"
Category="General"
DisplayName="Include File Search Directories"
Description="Sets path for include files."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.16"
Switch="-I&quot;[value]/&quot;" />
<StringListProperty
Name="PreIncludeFiles"
Category="General"
DisplayName="Pre-Include a File"
Description="Force files to be pre-included into source file."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.17"
Switch="-P&quot;[value]&quot;" />
<DynamicEnumProperty
Name="NASMBeforeTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False"
DisplayName="Execute Before"
Description="Specifies the targets for the custom build step and tool to run before."
F1Keyword="VC.Project.VCCustomBuildStep.CustomBuildBeforeTargets">
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^NASM|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType=""
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<DynamicEnumProperty
Name="NASMAfterTargets"
Category="General"
EnumProvider="Targets"
IncludeInCommandLine="False"
DisplayName="Execute After"
Description="Specifies the targets for the custom build step and tool to run after."
F1Keyword="VC.Project.VCCustomBuildStep.CustomBuildAfterTargets">
<DynamicEnumProperty.ProviderSettings>
<NameValuePair
Name="Exclude"
Value="^NASM|^Compute" />
</DynamicEnumProperty.ProviderSettings>
<DynamicEnumProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType=""
HasConfigurationCondition="true" />
</DynamicEnumProperty.DataSource>
</DynamicEnumProperty>
<BoolProperty
Name="BuildInParallel"
Category="General"
DisplayName="Build In Parallel"
F1Keyword="VC.Project.VCCustomBuildTool.BuildInParallel"
Description="Specifies that this item can be built in parallel with other custom build tool items.">
</BoolProperty>
<IntProperty
Name="MaxProcesses"
Category="General"
DisplayName="Maximum Processes"
F1Keyword="VC.Project.VCCustomBuildTool.MaxProcesses"
Description="Maximum number of CPU cores to use for parallel build. A value of 0 utilizes all available processors.">
</IntProperty>
<IntProperty
Name="MaxItemsInBatch"
Category="General"
DisplayName="Maximum Batch Size"
F1Keyword="VC.Project.VCCustomBuildTool.MaxProcesses"
Description="Maximum number of items to execute together during parallel build. A value of 0 divides items evenly into parallel batches. A value of 1 disables batching. Larger batches will improve performance if the custom build tool processes items quickly.">
</IntProperty>
<!-- Assembler Options -->
<StringProperty
Name="Outputs"
Category="Assembler Options"
DisplayName="Output File Name"
Description="Specify Output Filename."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.1"
Switch="-o &quot;[value]&quot;" />
<BoolProperty
Name="GenerateDebugInformation"
Category="Assembler Options"
DisplayName="Generate Debug Information"
Description="Generates Debug Information."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.12"
Switch="-g" />
<StringProperty
Name="SymbolsPrefix"
Category="Assembler Options"
DisplayName="Symbols Prefix"
Description="Prepend the given argument to all global or extern variables."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.27"
IncludeInCommandLine="False"
Switch="--prefix [value]" />
<StringProperty
Name="SymbolsPostfix"
Category="Assembler Options"
DisplayName="Symbols Postfix"
Description="Append the given argument to all global or extern variables."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.27"
IncludeInCommandLine="False"
Switch="--postfix [value]" />
<BoolProperty
Name="TreatWarningsAsErrors"
Category="Assembler Options"
DisplayName="Treat Warnings As Errors"
Description="Returns an error code if warnings are generated."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.24"
IncludeInCommandLine="False"
Switch="-Werror" />
<!-- Preprocessor -->
<StringListProperty
Name="PreprocessorDefinitions"
Category="Preprocessor"
DisplayName="Preprocessor Definitions"
Description="Defines a text macro with the given name."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.18"
Switch="-D[value]" />
<StringListProperty
Name="UndefinePreprocessorDefinitions"
Category="Preprocessor"
DisplayName="Undefine Preprocessor Definitions"
Description="Undefines a text macro with the given name."
HelpUrl="http://www.nasm.us/doc/nasmdoc2.html#section-2.1.19"
Switch="-U[value]" />
<!-- Command Line -->
<StringProperty
Name="Inputs"
Category="Command Line"
IsRequired="true">
<StringProperty.DataSource>
<DataSource
Persistence="ProjectFile"
ItemType="NASM"
SourceType="Item" />
</StringProperty.DataSource>
</StringProperty>
<StringProperty
Subtype="AdditionalOptions"
Name="AdditionalOptions"
Category="Command Line"
DisplayName="Additional Options"
Description="Additional Options">
</StringProperty>
<!-- Hidden -->
<StringProperty
Name="CommandLineTemplate"
DisplayName="Command Line"
Visible="False"
IncludeInCommandLine="False" />
<StringProperty
Name="ExecutionDescription"
DisplayName="Execution Description"
IncludeInCommandLine="False"
Visible="False" />
<StringListProperty
Name="AdditionalDependencies"
DisplayName="Additional Dependencies"
IncludeInCommandLine="False"
Visible="False" />
</Rule>
<ItemType
Name="NASM"
DisplayName="Netwide Assembler" />
<FileExtension
Name="*.asm"
ContentType="NASM" />
<ContentType
Name="NASM"
DisplayName="Netwide Assembler"
ItemType="NASM" />
</ProjectSchemaDefinitions>