Visual Studio 2008 NASM integration
authorHenry Tumblin <htumblin@users.sourceforge.net>
Fri, 25 Sep 2009 14:25:57 +0000 (18:25 +0400)
committerCyrill Gorcunov <gorcunov@gmail.com>
Fri, 25 Sep 2009 16:49:51 +0000 (20:49 +0400)
Add integration rules in order to use NASM
seamlessly in your VS2k8.

Signed-off-by: Henry Tumblin <htumblin@users.sourceforge.net>
Signed-off-by: Frank Kotler <fbkotler@zytor.com>
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
contrib/VSrules/nasm.README [new file with mode: 0644]
contrib/VSrules/nasm.rules [new file with mode: 0644]

diff --git a/contrib/VSrules/nasm.README b/contrib/VSrules/nasm.README
new file mode 100644 (file)
index 0000000..8fbf155
--- /dev/null
@@ -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
diff --git a/contrib/VSrules/nasm.rules b/contrib/VSrules/nasm.rules
new file mode 100644 (file)
index 0000000..79b4fb1
--- /dev/null
@@ -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>