updated StockShaderCodeGenerator (sscg) to support DX11 shaders updated the DX11 RenderSystem to be on par with the DX10 RenderSystem (it is currently not working completly because of some issues with shaders)
400 lines
20 KiB
Plaintext
400 lines
20 KiB
Plaintext
<project name="ANX.Framework Build" default="build">
|
|
<property name="build.configuration" value="Release" />
|
|
<property name="build.platform" value="Any CPU" />
|
|
<property name="build.dir" value="../bin" />
|
|
|
|
<property name="project.anx.path" value="../ANX.Framework" />
|
|
<property name="project.anx.name" value="ANX.Framework" />
|
|
|
|
<property name="project.anx.extended" value="false" unless="${property::exists('project.anx.extended')}" />
|
|
<property name="project.anx.directives" value="" unless="${property::exists('project.anx.directives')}" />
|
|
|
|
<property name="project.anx.path.inputsystem.xinput" value="../InputSystems/ANX.InputSystem.Windows.XInput" />
|
|
<property name="project.anx.name.inputsystem.xinput" value="ANX.InputSystem.Windows.XInput" />
|
|
<property name="project.anx.path.inputsystem.kinect" value="../InputSystems/ANX.InputSystem.Windows.Kinect" />
|
|
<property name="project.anx.name.inputsystem.kinect" value="ANX.InputSystem.Windows.Kinect" />
|
|
<property name="project.anx.path.inputsystem.recording" value="../InputSystems/ANX.InputSystem.Recording" />
|
|
<property name="project.anx.name.inputsystem.recording" value="ANX.InputSystem.Recording" />
|
|
<property name="project.anx.path.inputsystem.opentk" value="../InputSystems/ANX.InputSystem.OpenTK" />
|
|
<property name="project.anx.name.inputsystem.opentk" value="ANX.InputSystem.OpenTK" />
|
|
|
|
<property name="project.anx.path.soundsystem.xaudio" value="../SoundSystems/ANX.SoundSystem.Windows.XAudio" />
|
|
<property name="project.anx.name.soundsystem.xaudio" value="ANX.SoundSystem.Windows.XAudio" />
|
|
<property name="project.anx.path.soundsystem.openal" value="../SoundSystems/ANX.SoundSystem.OpenAL" />
|
|
<property name="project.anx.name.soundsystem.openal" value="ANX.SoundSystem.OpenAL" />
|
|
|
|
<property name="project.anx.path.rendersystem.dx10" value="../RenderSystems/ANX.Framework.Windows.DX10" />
|
|
<property name="project.anx.name.rendersystem.dx10" value="ANX.Framework.Windows.DX10" />
|
|
<property name="project.anx.path.rendersystem.dx11" value="../RenderSystems/ANX.RenderSystem.Windows.DX11" />
|
|
<property name="project.anx.name.rendersystem.dx11" value="ANX.RenderSystem.Windows.DX11" />
|
|
<property name="project.anx.path.rendersystem.metro" value="../RenderSystems/ANX.RenderSystem.Windows.Metro" />
|
|
<property name="project.anx.name.rendersystem.metro" value="ANX.RenderSystem.Windows.Metro" />
|
|
<property name="project.anx.path.rendersystem.gl3" value="../RenderSystems/ANX.Framework.Windows.GL3" />
|
|
<property name="project.anx.name.rendersystem.gl3" value="ANX.Framework.Windows.GL3" />
|
|
|
|
<property name="project.anxcontent.path" value="../ANX.Framework.ContentPipeline" />
|
|
<property name="project.anxcontent.name" value="ANX.Framework.ContentPipeline" />
|
|
|
|
<property name="project.anx.tools.path.ANXStatusComparer" value="../Tools/ANXStatusComparer" />
|
|
<property name="project.anx.tools.name.ANXStatusComparer" value="ANXStatusComparer" />
|
|
<property name="project.anx.tools.path.StockShaderCodeGenerator" value="../Tools/StockShaderCodeGenerator" />
|
|
<property name="project.anx.tools.name.StockShaderCodeGenerator" value="StockShaderCodeGenerator" />
|
|
<property name="project.anx.tools.path.XNAToANXConverter" value="../Tools/XNAToANXConverter" />
|
|
<property name="project.anx.tools.name.XNAToANXConverter" value="XNAToANXConverter" />
|
|
|
|
|
|
<target name="clean" description="Cleans all targets.">
|
|
<delete>
|
|
<fileset>
|
|
<include name="../bin/**" />
|
|
<include name="${build.dir}/${build.configuration}/installer/**" />
|
|
<include name="${project.anx.path}/obj/**" />
|
|
<include name="${project.anx.path.inputsystem.xinput}/obj/**" />
|
|
<include name="${project.anx.path.inputsystem.kinect}/obj/**" />
|
|
<include name="${project.anx.path.inputsystem.recording}/obj/**" />
|
|
<include name="${project.anx.path.inputsystem.opentk}/obj/**" />
|
|
<include name="${project.anx.path.soundsystem.xaudio}/obj/**" />
|
|
<include name="${project.anx.path.soundsystem.openal}/obj/**" />
|
|
<include name="${project.anx.path.rendersystem.dx10}/obj/**" />
|
|
<include name="${project.anx.path.rendersystem.dx11}/obj/**" />
|
|
<include name="${project.anx.path.rendersystem.gl3}/obj/**" />
|
|
<include name="${project.anxcontent.path}/obj/**" />
|
|
</fileset>
|
|
</delete>
|
|
</target>
|
|
|
|
<target name="build" description="Build all targets.">
|
|
<if test="${project.anx.extended}">
|
|
<property name="project.anx.directives" value="${project.anx.directives} XNAEXT" />
|
|
<echo message="Compiler directives: ${project.anx.directives}" />
|
|
</if>
|
|
|
|
<call target="clean" />
|
|
|
|
<call target="build_tools" />
|
|
|
|
<call target="generate_stock_shaders" />
|
|
|
|
<call target="build_anx" />
|
|
<call target="build_anx_inputsystems" />
|
|
<call target="build_anx_soundsystems" />
|
|
<call target="build_anx_rendersystems" />
|
|
<call target="build_anx_content_pipeline" />
|
|
</target>
|
|
|
|
<target name="build_anx" description="Build ANX.Framework core">
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework core assembly" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=${build.dir}/${build.configuration}" />
|
|
<arg value="/p:AllowUnsafeBlocks=true" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path}/${project.anx.name}.csproj" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="build_anx_rendersystems" description="Build ANX.Framework RenderSystems">
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework RenderSystem DirectX10" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/p:AllowUnsafeBlocks=true" />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.rendersystem.dx10}/${project.anx.name.rendersystem.dx10}.csproj" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework RenderSystem DirectX11" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/p:AllowUnsafeBlocks=true" />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.rendersystem.dx11}/${project.anx.name.rendersystem.dx11}.csproj" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework RenderSystem OpenGL3" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.rendersystem.gl3}/${project.anx.name.rendersystem.gl3}.csproj" />
|
|
</exec>
|
|
|
|
<!--
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework RenderSystem Metro" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.rendersystem.metro}/${project.anx.name.rendersystem.metro}.csproj" />
|
|
</exec>
|
|
-->
|
|
</target>
|
|
|
|
<target name="build_anx_content_pipeline" description="Build ANX.Framework ContentPipeline extensions">
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework ContentPipeline extensions" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anxcontent.path}/${project.anxcontent.name}.csproj" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="build_anx_inputsystems" description="Build ANX.Framework InputSystems">
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework InputSystem XInput" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.inputsystem.xinput}/${project.anx.name.inputsystem.xinput}.csproj" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework InputSystem Recording" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.inputsystem.recording}/${project.anx.name.inputsystem.recording}.csproj" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework InputSystem OpenTK" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.inputsystem.opentk}/${project.anx.name.inputsystem.opentk}.csproj" />
|
|
</exec>
|
|
|
|
<if test="${project.anx.extended}">
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework InputSystem Kinect" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.inputsystem.kinect}/${project.anx.name.inputsystem.kinect}.csproj" />
|
|
</exec>
|
|
</if>
|
|
</target>
|
|
|
|
<target name="build_anx_soundsystems" description="Build ANX.Framework SoundSystems">
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework SoundSystem XAudio" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.soundsystem.xaudio}/${project.anx.name.soundsystem.xaudio}.csproj" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANX.Framework SoundSystem OpenAL" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=${build.configuration}"/>
|
|
<arg value='/p:Platform="${build.platform}"'/>
|
|
<arg value="/p:OutputPath=../${build.dir}/${build.configuration}" />
|
|
<arg value='/p:DefineConstants="${project.anx.directives}"' />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.path.soundsystem.openal}/${project.anx.name.soundsystem.openal}.csproj" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="build_tools" description="Build ANX.Framework tools">
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: ANXStatusComparer tool (asc.exe)" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=Release"/>
|
|
<arg value='/p:Platform="Any CPU"'/>
|
|
<arg value="/p:OutputPath=${build.dir}" />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.tools.path.ANXStatusComparer}/${project.anx.tools.name.ANXStatusComparer}.csproj" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: XNAToANXConverter tool (x2a.exe)" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=Release"/>
|
|
<arg value='/p:Platform="Any CPU"'/>
|
|
<arg value="/p:OutputPath=${build.dir}" />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.tools.path.XNAToANXConverter}/${project.anx.tools.name.XNAToANXConverter}.csproj" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now building: StockShaderCodeGenerator tool (sscg.exe)" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="msbuild.exe" >
|
|
<arg value="/t:Build"/>
|
|
<arg value="/p:Configuration=Release"/>
|
|
<arg value='/p:Platform="Any CPU"'/>
|
|
<arg value="/p:OutputPath=${build.dir}" />
|
|
<arg value="/p:AllowUnsafeBlocks=true" />
|
|
<arg value="/clp:ErrorsOnly" />
|
|
<arg value="${project.anx.tools.path.StockShaderCodeGenerator}/${project.anx.tools.name.StockShaderCodeGenerator}.csproj" />
|
|
</exec>
|
|
|
|
</target>
|
|
|
|
<target name="build_stock_shaders" description="Build the stock shaders for the render systems.">
|
|
<call target="build_tools" />
|
|
<call target="generate_stock_shaders" />
|
|
</target>
|
|
|
|
<target name="generate_stock_shaders" description="Generate code for stock shaders">
|
|
<echo message="===================================================" />
|
|
<echo message="Now generating code for DirectX 10 stock shaders" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="sscg.exe" >
|
|
<arg value="../shader/DX10/build.xml" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now generating code for DirectX 11 stock shaders" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="sscg.exe" >
|
|
<arg value="../shader/DX11/build.xml" />
|
|
</exec>
|
|
|
|
<echo message="===================================================" />
|
|
<echo message="Now generating code for OpenGL 3 stock shaders" />
|
|
<echo message="===================================================" />
|
|
|
|
<exec program="sscg.exe" >
|
|
<arg value="../shader/GL3/build.xml" />
|
|
</exec>
|
|
</target>
|
|
|
|
<target name="create_packages" description="generates all type of packages">
|
|
<call target="create_zip_packages" />
|
|
<call target="create_msi_packages" />
|
|
</target>
|
|
|
|
<target name="create_zip_packages" description="Generate zip package containing binaries" depends="build">
|
|
<loadfile file="${project.anx.path}/Properties/AssemblyInfo.cs" property="assembly_version_file" />
|
|
<regex pattern="AssemblyVersion\(.(?'assembly_version'\d+\.\d+.\d+)" input="${assembly_version_file}" />
|
|
<property name="build.output.release_package" value="../package/${project.anx.name}-${build.configuration}-${assembly_version}.zip"/>
|
|
|
|
<zip ziplevel="9" zipfile="${build.output.release_package}">
|
|
<fileset basedir="${build.dir}/${build.configuration}/">
|
|
<include name="*.dll" />
|
|
<include name="*.config" />
|
|
<include name="../../doc/license.txt" />
|
|
</fileset>
|
|
</zip>
|
|
|
|
</target>
|
|
|
|
<target name="create_msi_packages" description="Create the installer package" depends="build">
|
|
<loadfile file="${project.anx.path}/Properties/AssemblyInfo.cs" property="assembly_version_file" />
|
|
<regex pattern="AssemblyVersion\(.(?'assembly_version'\d+\.\d+.\d+)" input="${assembly_version_file}" />
|
|
<property name="build.output.installer_package" value="../package/${project.anx.name}-${build.configuration}-${assembly_version}.msi"/>
|
|
|
|
<property name="wix.dir" value="${path::combine(environment::get-variable('WIX'), 'bin')}" readonly="true" />
|
|
<loadtasks assembly="${wix.dir}\Microsoft.Tools.WindowsInstallerXml.NAntTasks.dll" />
|
|
|
|
<candle out="${build.dir}/${build.configuration}/installer/" exedir="${wix.dir}">
|
|
<sources>
|
|
<include name="../Installer/anx.wxs" />
|
|
</sources>
|
|
<defines>
|
|
<define name="PRODUCTVERSION" value="${assembly_version}" />
|
|
</defines>
|
|
</candle>
|
|
|
|
<light
|
|
exedir="${wix.dir}"
|
|
out="${build.output.installer_package}"
|
|
warningsaserrors="true"
|
|
suppressices="ICE57"
|
|
cultures="en-us"
|
|
extensions="WixUIExtension"
|
|
rebuild="true"
|
|
suppresspdb="true">
|
|
<!-- Specify additional options -->
|
|
<arg line="-fv" />
|
|
<sources basedir="${build.dir}/${build.configuration}/installer/">
|
|
<include name="*.wixobj" />
|
|
</sources>
|
|
</light>
|
|
|
|
</target>
|
|
|
|
</project>
|