Skip to content

Commit

Permalink
Visual Studio 2008 NASM integration
Browse files Browse the repository at this point in the history
Add integration rules in order to use NASM
seamlessly in your VS2k8.

Signed-off-by: Henry Tumblin <[email protected]>
Signed-off-by: Frank Kotler <[email protected]>
Signed-off-by: Cyrill Gorcunov <[email protected]>
  • Loading branch information
Henry Tumblin authored and cyrillos committed Sep 25, 2009
1 parent 81d07c1 commit ac9aaee
Show file tree
Hide file tree
Showing 2 changed files with 95 additions and 0 deletions.
16 changes: 16 additions & 0 deletions contrib/VSrules/nasm.README
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Visual Studio 2008 NASM integration


In order to use nasm seamlessly in your VS2k8, follow the steps below.

1. First install nasm by running its installer
2. copy nasm.rules to c:\Program Files\Microsoft Visual Studio 2008\VC\VCProjectDefaults
3. Start Visual Studio 2008
4. go to Tools->Options->VC++ Directories
5. click on Show Directories for Executables
6. add C:\Program Files\NASM to the list of paths
7. Open a solution that you want to use NASM with
8. Right click on the project name and select Custom Build Rules
9. Check the box next to the NASM line
10. Add any .asm files to the project
11. click on build to test
79 changes: 79 additions & 0 deletions contrib/VSrules/nasm.rules
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
<?xml version="1.0" encoding="utf-8"?>
<VisualStudioToolFile
Name="Netwide Macro Assembler"
Version="8.00"
>
<Rules>
<CustomBuildRule
Name="NASM"
DisplayName="Netwide Macro Assembler"
CommandLine="nasm.exe -f win32 -Xvc [AllOptions] [AdditionalOptions] [Inputs]"
Outputs="[$ObjectFileName]"
FileExtensions="*.asm"
ExecutionDescription="Assembling..."
>
<Properties>
<StringProperty
Name="ObjectFileName"
DisplayName="Object File Name"
PropertyPageName="Object File"
Description="Specifies the name of the output object file. (-o [file])"
HelpURL="http://www.nasm.us/doc/"
Switch="-o &quot;[value]&quot;"
DefaultValue="$(IntDir)\$(InputName).obj"
/>
<StringProperty
Name="PreprocessorDefinitions"
DisplayName="Preprocessor Definitions"
Description="Defines a text macro with the given name. (-D[symbol])"
HelpURL="http://www.nasm.us/doc/"
Switch="-D[value]"
Delimited="false"
Inheritable="true"
/>
<StringProperty
Name="UndefinePreprocessorDefinitions"
DisplayName="Undefine Preprocessor Definitions"
Description="Undefines a text macro with the given name. (-U[symbol])"
HelpURL="http://www.nasm.us/doc/"
Switch="-U[value]"
Delimited="false"
Inheritable="true"
/>
<StringProperty
Name="AssembledCodeListingFile"
DisplayName="Assembled Code Listing File"
PropertyPageName="Listing File"
Description="Generates an assembled code listing file. (-l [file])"
HelpURL="http://www.nasm.us/doc/"
Switch="-l &quot;[value]&quot;"
/>
<StringProperty
Name="IncludePaths"
DisplayName="Include Paths"
Description="Sets path for include file. (-I[path])"
HelpURL="http://www.nasm.us/doc/"
Switch="-I[value]"
Delimited="false"
Inheritable="true"
/>
<BooleanProperty
Name="TreatWarningsAsErrors"
DisplayName="Treat Warnings As Errors"
Description="Returns an error code if warnings are generated. (-Werror)"
HelpURL="http://www.nasm.us/doc/"
Switch="-Werror"
/>
<BooleanProperty
Name="GenerateDebugInformation"
DisplayName="Generate Debug Information"
Description="Generates Debug Information. (-g)"
HelpURL="http://www.nasm.us/doc/"
Switch="-g"
DefaultValue="true"
/>

</Properties>
</CustomBuildRule>
</Rules>
</VisualStudioToolFile>

0 comments on commit ac9aaee

Please sign in to comment.